diff --git a/k8s/operator-console/base/console-deployment.yaml b/k8s/operator-console/base/console-deployment.yaml index 28044e40b..ce8fbc1e3 100644 --- a/k8s/operator-console/base/console-deployment.yaml +++ b/k8s/operator-console/base/console-deployment.yaml @@ -15,7 +15,7 @@ spec: serviceAccountName: console-sa containers: - name: console - image: 'minio/console:v0.15.3' + image: 'minio/console:v0.15.4' imagePullPolicy: "IfNotPresent" env: - name: CONSOLE_OPERATOR_MODE diff --git a/k8s/operator-console/standalone/console-deployment.yaml b/k8s/operator-console/standalone/console-deployment.yaml index 4f5e26179..4e20d61c3 100644 --- a/k8s/operator-console/standalone/console-deployment.yaml +++ b/k8s/operator-console/standalone/console-deployment.yaml @@ -32,7 +32,7 @@ spec: spec: containers: - name: console - image: 'minio/console:v0.15.3' + image: 'minio/console:v0.15.4' imagePullPolicy: "IfNotPresent" env: - name: CONSOLE_MINIO_SERVER diff --git a/portal-ui/build/asset-manifest.json b/portal-ui/build/asset-manifest.json index 7d7a53700..86de64054 100644 --- a/portal-ui/build/asset-manifest.json +++ b/portal-ui/build/asset-manifest.json @@ -1,116 +1,117 @@ { "files": { "main.css": "./static/css/main.90d417ae.css", - "main.js": "./static/js/main.fd4d26b1.js", - "static/js/1660.1a3b5397.chunk.js": "./static/js/1660.1a3b5397.chunk.js", + "main.js": "./static/js/main.1bb3fb60.js", + "static/js/1660.3421b1d3.chunk.js": "./static/js/1660.3421b1d3.chunk.js", "static/js/5282.cb13b8c4.chunk.js": "./static/js/5282.cb13b8c4.chunk.js", - "static/js/2818.21be97b7.chunk.js": "./static/js/2818.21be97b7.chunk.js", - "static/js/9560.bf1e7276.chunk.js": "./static/js/9560.bf1e7276.chunk.js", - "static/js/9661.1e636902.chunk.js": "./static/js/9661.1e636902.chunk.js", - "static/js/9330.ea489cb0.chunk.js": "./static/js/9330.ea489cb0.chunk.js", - "static/js/7436.d9fafb61.chunk.js": "./static/js/7436.d9fafb61.chunk.js", - "static/js/8428.d94dd7f0.chunk.js": "./static/js/8428.d94dd7f0.chunk.js", - "static/js/9779.868ea932.chunk.js": "./static/js/9779.868ea932.chunk.js", - "static/js/3617.c5deb048.chunk.js": "./static/js/3617.c5deb048.chunk.js", - "static/js/7274.5c2a8fde.chunk.js": "./static/js/7274.5c2a8fde.chunk.js", - "static/js/7842.151c41a8.chunk.js": "./static/js/7842.151c41a8.chunk.js", - "static/js/4745.3fab4951.chunk.js": "./static/js/4745.3fab4951.chunk.js", - "static/js/1796.840a4e41.chunk.js": "./static/js/1796.840a4e41.chunk.js", - "static/js/8259.7c8fbb38.chunk.js": "./static/js/8259.7c8fbb38.chunk.js", - "static/js/6023.d2f6ea4d.chunk.js": "./static/js/6023.d2f6ea4d.chunk.js", - "static/js/6147.f2a7d841.chunk.js": "./static/js/6147.f2a7d841.chunk.js", - "static/js/9275.2fec5cc7.chunk.js": "./static/js/9275.2fec5cc7.chunk.js", - "static/js/8190.13d7b7e6.chunk.js": "./static/js/8190.13d7b7e6.chunk.js", - "static/js/7314.01eaeb0f.chunk.js": "./static/js/7314.01eaeb0f.chunk.js", - "static/js/7456.e2ad891d.chunk.js": "./static/js/7456.e2ad891d.chunk.js", + "static/js/2818.c0f03eba.chunk.js": "./static/js/2818.c0f03eba.chunk.js", + "static/js/9560.f2ba1718.chunk.js": "./static/js/9560.f2ba1718.chunk.js", + "static/js/9661.4c7a22fb.chunk.js": "./static/js/9661.4c7a22fb.chunk.js", + "static/js/9330.e6ac3543.chunk.js": "./static/js/9330.e6ac3543.chunk.js", + "static/js/7436.318091b1.chunk.js": "./static/js/7436.318091b1.chunk.js", + "static/js/8428.428b783d.chunk.js": "./static/js/8428.428b783d.chunk.js", + "static/js/9779.6e9dc0a5.chunk.js": "./static/js/9779.6e9dc0a5.chunk.js", + "static/js/3617.f650b975.chunk.js": "./static/js/3617.f650b975.chunk.js", + "static/js/7274.06bad40d.chunk.js": "./static/js/7274.06bad40d.chunk.js", + "static/js/7842.b4e66936.chunk.js": "./static/js/7842.b4e66936.chunk.js", + "static/js/4745.8fd307b8.chunk.js": "./static/js/4745.8fd307b8.chunk.js", + "static/js/1796.78eb9602.chunk.js": "./static/js/1796.78eb9602.chunk.js", + "static/js/8259.cfeb6efe.chunk.js": "./static/js/8259.cfeb6efe.chunk.js", + "static/js/6023.cc494962.chunk.js": "./static/js/6023.cc494962.chunk.js", + "static/js/6147.d0d2ef6f.chunk.js": "./static/js/6147.d0d2ef6f.chunk.js", + "static/js/9275.53928a1e.chunk.js": "./static/js/9275.53928a1e.chunk.js", + "static/js/8190.37ec01c3.chunk.js": "./static/js/8190.37ec01c3.chunk.js", + "static/js/7314.8d7e9d5d.chunk.js": "./static/js/7314.8d7e9d5d.chunk.js", + "static/js/7456.5b6965d0.chunk.js": "./static/js/7456.5b6965d0.chunk.js", "static/css/5822.dd80c1b6.chunk.css": "./static/css/5822.dd80c1b6.chunk.css", - "static/js/5822.fa49be62.chunk.js": "./static/js/5822.fa49be62.chunk.js", - "static/js/2699.3102be0f.chunk.js": "./static/js/2699.3102be0f.chunk.js", - "static/js/5808.8da21793.chunk.js": "./static/js/5808.8da21793.chunk.js", + "static/js/5822.2e5ca929.chunk.js": "./static/js/5822.2e5ca929.chunk.js", + "static/js/2699.4954d948.chunk.js": "./static/js/2699.4954d948.chunk.js", + "static/js/5808.d0d08e62.chunk.js": "./static/js/5808.d0d08e62.chunk.js", "static/js/1237.b46ec019.chunk.js": "./static/js/1237.b46ec019.chunk.js", - "static/js/189.06df2d49.chunk.js": "./static/js/189.06df2d49.chunk.js", + "static/js/189.f0f79745.chunk.js": "./static/js/189.f0f79745.chunk.js", "static/css/964.dd80c1b6.chunk.css": "./static/css/964.dd80c1b6.chunk.css", - "static/js/964.c1751e75.chunk.js": "./static/js/964.c1751e75.chunk.js", + "static/js/964.4083c9c4.chunk.js": "./static/js/964.4083c9c4.chunk.js", "static/css/9807.dd80c1b6.chunk.css": "./static/css/9807.dd80c1b6.chunk.css", - "static/js/9807.ee1a2bdb.chunk.js": "./static/js/9807.ee1a2bdb.chunk.js", - "static/js/3806.8464efb7.chunk.js": "./static/js/3806.8464efb7.chunk.js", - "static/js/8661.e8f2397f.chunk.js": "./static/js/8661.e8f2397f.chunk.js", - "static/js/2886.92b60a3b.chunk.js": "./static/js/2886.92b60a3b.chunk.js", - "static/js/4577.cd5b16fc.chunk.js": "./static/js/4577.cd5b16fc.chunk.js", - "static/js/4298.e6c437dd.chunk.js": "./static/js/4298.e6c437dd.chunk.js", + "static/js/9807.bb735f71.chunk.js": "./static/js/9807.bb735f71.chunk.js", + "static/js/3806.3f0f185b.chunk.js": "./static/js/3806.3f0f185b.chunk.js", + "static/js/8661.4f560fbb.chunk.js": "./static/js/8661.4f560fbb.chunk.js", + "static/js/2886.7fb64ae7.chunk.js": "./static/js/2886.7fb64ae7.chunk.js", + "static/js/4577.3e6de606.chunk.js": "./static/js/4577.3e6de606.chunk.js", + "static/js/4298.2fa3347c.chunk.js": "./static/js/4298.2fa3347c.chunk.js", "static/js/2805.b4302353.chunk.js": "./static/js/2805.b4302353.chunk.js", "static/js/6873.27fbf284.chunk.js": "./static/js/6873.27fbf284.chunk.js", "static/js/428.ad58c353.chunk.js": "./static/js/428.ad58c353.chunk.js", - "static/js/1069.77bb316e.chunk.js": "./static/js/1069.77bb316e.chunk.js", - "static/js/9080.d84213b3.chunk.js": "./static/js/9080.d84213b3.chunk.js", - "static/js/3276.1afa9e35.chunk.js": "./static/js/3276.1afa9e35.chunk.js", - "static/js/6458.c6bf60f8.chunk.js": "./static/js/6458.c6bf60f8.chunk.js", - "static/js/7551.b8d5fd21.chunk.js": "./static/js/7551.b8d5fd21.chunk.js", - "static/js/7950.0e4eac80.chunk.js": "./static/js/7950.0e4eac80.chunk.js", - "static/js/290.8bfc0b83.chunk.js": "./static/js/290.8bfc0b83.chunk.js", - "static/js/8961.37cf027e.chunk.js": "./static/js/8961.37cf027e.chunk.js", - "static/js/3967.2cb35507.chunk.js": "./static/js/3967.2cb35507.chunk.js", + "static/js/1069.deaa3eb0.chunk.js": "./static/js/1069.deaa3eb0.chunk.js", + "static/js/9080.ec6f0469.chunk.js": "./static/js/9080.ec6f0469.chunk.js", + "static/js/3276.ef1e5b52.chunk.js": "./static/js/3276.ef1e5b52.chunk.js", + "static/js/6458.c39b77e2.chunk.js": "./static/js/6458.c39b77e2.chunk.js", + "static/js/6973.aa8569ff.chunk.js": "./static/js/6973.aa8569ff.chunk.js", + "static/js/7551.6040d86d.chunk.js": "./static/js/7551.6040d86d.chunk.js", + "static/js/7950.f9de3165.chunk.js": "./static/js/7950.f9de3165.chunk.js", + "static/js/3575.b8f7afc0.chunk.js": "./static/js/3575.b8f7afc0.chunk.js", + "static/js/8961.ab396d91.chunk.js": "./static/js/8961.ab396d91.chunk.js", + "static/js/3967.689e32b8.chunk.js": "./static/js/3967.689e32b8.chunk.js", "static/css/4084.dd80c1b6.chunk.css": "./static/css/4084.dd80c1b6.chunk.css", - "static/js/4084.34cce774.chunk.js": "./static/js/4084.34cce774.chunk.js", - "static/js/8394.fa043a82.chunk.js": "./static/js/8394.fa043a82.chunk.js", - "static/js/7664.b099b462.chunk.js": "./static/js/7664.b099b462.chunk.js", - "static/js/1140.ab5579e6.chunk.js": "./static/js/1140.ab5579e6.chunk.js", - "static/js/5961.7a71f2c5.chunk.js": "./static/js/5961.7a71f2c5.chunk.js", + "static/js/4084.bb2e5658.chunk.js": "./static/js/4084.bb2e5658.chunk.js", + "static/js/8394.83c40291.chunk.js": "./static/js/8394.83c40291.chunk.js", + "static/js/7664.07c56295.chunk.js": "./static/js/7664.07c56295.chunk.js", + "static/js/1140.f3c8431a.chunk.js": "./static/js/1140.f3c8431a.chunk.js", + "static/js/5961.6a63abf6.chunk.js": "./static/js/5961.6a63abf6.chunk.js", "static/js/2401.dcfa0659.chunk.js": "./static/js/2401.dcfa0659.chunk.js", - "static/js/7498.adcacaca.chunk.js": "./static/js/7498.adcacaca.chunk.js", - "static/js/9421.a6974f61.chunk.js": "./static/js/9421.a6974f61.chunk.js", - "static/js/4860.3bea7736.chunk.js": "./static/js/4860.3bea7736.chunk.js", - "static/js/5245.04e84402.chunk.js": "./static/js/5245.04e84402.chunk.js", - "static/js/6549.bc76401b.chunk.js": "./static/js/6549.bc76401b.chunk.js", + "static/js/7498.629a64a4.chunk.js": "./static/js/7498.629a64a4.chunk.js", + "static/js/9421.5b5d9937.chunk.js": "./static/js/9421.5b5d9937.chunk.js", + "static/js/4860.dee4560c.chunk.js": "./static/js/4860.dee4560c.chunk.js", + "static/js/5245.884da645.chunk.js": "./static/js/5245.884da645.chunk.js", + "static/js/6549.7e3c2603.chunk.js": "./static/js/6549.7e3c2603.chunk.js", "static/css/8724.dd80c1b6.chunk.css": "./static/css/8724.dd80c1b6.chunk.css", - "static/js/8724.2fda7628.chunk.js": "./static/js/8724.2fda7628.chunk.js", - "static/js/2182.45ee7ad0.chunk.js": "./static/js/2182.45ee7ad0.chunk.js", + "static/js/8724.6112baf2.chunk.js": "./static/js/8724.6112baf2.chunk.js", + "static/js/2182.ac6bf5cd.chunk.js": "./static/js/2182.ac6bf5cd.chunk.js", "static/js/7764.7133a78a.chunk.js": "./static/js/7764.7133a78a.chunk.js", - "static/js/4220.8d9a9028.chunk.js": "./static/js/4220.8d9a9028.chunk.js", - "static/js/1719.a1c5fbc9.chunk.js": "./static/js/1719.a1c5fbc9.chunk.js", - "static/js/3320.cf0913be.chunk.js": "./static/js/3320.cf0913be.chunk.js", + "static/js/4220.4e76aa0b.chunk.js": "./static/js/4220.4e76aa0b.chunk.js", + "static/js/1719.e7bff050.chunk.js": "./static/js/1719.e7bff050.chunk.js", + "static/js/3320.8bb47140.chunk.js": "./static/js/3320.8bb47140.chunk.js", "static/js/6645.1d65ce48.chunk.js": "./static/js/6645.1d65ce48.chunk.js", "static/js/9923.3911a310.chunk.js": "./static/js/9923.3911a310.chunk.js", "static/js/9586.f3d3466d.chunk.js": "./static/js/9586.f3d3466d.chunk.js", "static/js/9125.a86e3119.chunk.js": "./static/js/9125.a86e3119.chunk.js", "static/js/5781.33738b7f.chunk.js": "./static/js/5781.33738b7f.chunk.js", - "static/js/7261.916fdbf6.chunk.js": "./static/js/7261.916fdbf6.chunk.js", + "static/js/7261.5c17f33b.chunk.js": "./static/js/7261.5c17f33b.chunk.js", "static/js/8306.047e9e54.chunk.js": "./static/js/8306.047e9e54.chunk.js", - "static/js/6436.690eb2b9.chunk.js": "./static/js/6436.690eb2b9.chunk.js", + "static/js/6436.9bc8fe43.chunk.js": "./static/js/6436.9bc8fe43.chunk.js", "static/js/8343.67a940b1.chunk.js": "./static/js/8343.67a940b1.chunk.js", - "static/js/2841.9d475dfe.chunk.js": "./static/js/2841.9d475dfe.chunk.js", - "static/js/6167.d5f52864.chunk.js": "./static/js/6167.d5f52864.chunk.js", - "static/js/7346.47702cc8.chunk.js": "./static/js/7346.47702cc8.chunk.js", + "static/js/2841.b0b47c73.chunk.js": "./static/js/2841.b0b47c73.chunk.js", + "static/js/6167.63825f7e.chunk.js": "./static/js/6167.63825f7e.chunk.js", + "static/js/7346.be91e98c.chunk.js": "./static/js/7346.be91e98c.chunk.js", "static/js/5144.19c094a4.chunk.js": "./static/js/5144.19c094a4.chunk.js", "static/js/5125.58c2feff.chunk.js": "./static/js/5125.58c2feff.chunk.js", - "static/js/528.d01b02af.chunk.js": "./static/js/528.d01b02af.chunk.js", + "static/js/528.9bb66bbe.chunk.js": "./static/js/528.9bb66bbe.chunk.js", "static/js/7187.171b28f4.chunk.js": "./static/js/7187.171b28f4.chunk.js", - "static/js/6173.925ab9b7.chunk.js": "./static/js/6173.925ab9b7.chunk.js", - "static/js/953.677ddb95.chunk.js": "./static/js/953.677ddb95.chunk.js", - "static/js/9193.feaac1ba.chunk.js": "./static/js/9193.feaac1ba.chunk.js", + "static/js/6173.f2666144.chunk.js": "./static/js/6173.f2666144.chunk.js", + "static/js/953.163e31bc.chunk.js": "./static/js/953.163e31bc.chunk.js", + "static/js/9193.7b929008.chunk.js": "./static/js/9193.7b929008.chunk.js", "static/js/7451.dabaf18f.chunk.js": "./static/js/7451.dabaf18f.chunk.js", - "static/js/9924.020057ee.chunk.js": "./static/js/9924.020057ee.chunk.js", + "static/js/9924.22b7a131.chunk.js": "./static/js/9924.22b7a131.chunk.js", "static/css/9645.dd80c1b6.chunk.css": "./static/css/9645.dd80c1b6.chunk.css", - "static/js/9645.71cc858a.chunk.js": "./static/js/9645.71cc858a.chunk.js", - "static/js/5710.7386de50.chunk.js": "./static/js/5710.7386de50.chunk.js", - "static/js/4121.0e3d5ae5.chunk.js": "./static/js/4121.0e3d5ae5.chunk.js", - "static/js/3421.666af5cb.chunk.js": "./static/js/3421.666af5cb.chunk.js", - "static/js/2892.f87668de.chunk.js": "./static/js/2892.f87668de.chunk.js", - "static/js/7926.c65ecfc3.chunk.js": "./static/js/7926.c65ecfc3.chunk.js", - "static/js/6145.9665a7b2.chunk.js": "./static/js/6145.9665a7b2.chunk.js", + "static/js/9645.7cc9e705.chunk.js": "./static/js/9645.7cc9e705.chunk.js", + "static/js/5710.bbaa8215.chunk.js": "./static/js/5710.bbaa8215.chunk.js", + "static/js/4121.c824f4ac.chunk.js": "./static/js/4121.c824f4ac.chunk.js", + "static/js/3421.53573188.chunk.js": "./static/js/3421.53573188.chunk.js", + "static/js/2892.076d9a7f.chunk.js": "./static/js/2892.076d9a7f.chunk.js", + "static/js/7926.75e27e9b.chunk.js": "./static/js/7926.75e27e9b.chunk.js", + "static/js/6145.82597755.chunk.js": "./static/js/6145.82597755.chunk.js", "static/css/3816.dd80c1b6.chunk.css": "./static/css/3816.dd80c1b6.chunk.css", - "static/js/3816.c0b2fb6b.chunk.js": "./static/js/3816.c0b2fb6b.chunk.js", - "static/js/2966.0b278e3b.chunk.js": "./static/js/2966.0b278e3b.chunk.js", - "static/js/4177.381caad6.chunk.js": "./static/js/4177.381caad6.chunk.js", - "static/js/9679.c1fd0ae5.chunk.js": "./static/js/9679.c1fd0ae5.chunk.js", + "static/js/3816.ebc07860.chunk.js": "./static/js/3816.ebc07860.chunk.js", + "static/js/2966.ced4dcf6.chunk.js": "./static/js/2966.ced4dcf6.chunk.js", + "static/js/4177.6d04f760.chunk.js": "./static/js/4177.6d04f760.chunk.js", + "static/js/9679.d9cbab57.chunk.js": "./static/js/9679.d9cbab57.chunk.js", "static/js/8333.d2ede110.chunk.js": "./static/js/8333.d2ede110.chunk.js", - "static/js/1711.dfdfce0a.chunk.js": "./static/js/1711.dfdfce0a.chunk.js", - "static/js/9.caa73b0e.chunk.js": "./static/js/9.caa73b0e.chunk.js", - "static/js/4487.8cae9359.chunk.js": "./static/js/4487.8cae9359.chunk.js", - "static/js/6866.a519feef.chunk.js": "./static/js/6866.a519feef.chunk.js", - "static/js/8564.16b674dd.chunk.js": "./static/js/8564.16b674dd.chunk.js", - "static/js/1666.9098f0d4.chunk.js": "./static/js/1666.9098f0d4.chunk.js", - "static/js/7007.d9ef3b97.chunk.js": "./static/js/7007.d9ef3b97.chunk.js", + "static/js/1711.2657a246.chunk.js": "./static/js/1711.2657a246.chunk.js", + "static/js/9.a243680e.chunk.js": "./static/js/9.a243680e.chunk.js", + "static/js/4487.8631b03a.chunk.js": "./static/js/4487.8631b03a.chunk.js", + "static/js/6866.08dfeb70.chunk.js": "./static/js/6866.08dfeb70.chunk.js", + "static/js/8564.efb201a4.chunk.js": "./static/js/8564.efb201a4.chunk.js", + "static/js/1666.d207aa88.chunk.js": "./static/js/1666.d207aa88.chunk.js", + "static/js/7007.14937910.chunk.js": "./static/js/7007.14937910.chunk.js", "static/js/14.25ecb28d.chunk.js": "./static/js/14.25ecb28d.chunk.js", "static/js/3152.d03e4df4.chunk.js": "./static/js/3152.d03e4df4.chunk.js", "static/js/2066.16320a68.chunk.js": "./static/js/2066.16320a68.chunk.js", @@ -147,125 +148,126 @@ "static/js/6554.53f930ae.chunk.js": "./static/js/6554.53f930ae.chunk.js", "static/js/9831.1b5a6bb6.chunk.js": "./static/js/9831.1b5a6bb6.chunk.js", "static/js/9382.581734f3.chunk.js": "./static/js/9382.581734f3.chunk.js", - "static/js/8174.6e95ea0c.chunk.js": "./static/js/8174.6e95ea0c.chunk.js", - "static/js/1116.824f2d28.chunk.js": "./static/js/1116.824f2d28.chunk.js", - "static/js/6430.e747de7c.chunk.js": "./static/js/6430.e747de7c.chunk.js", - "static/js/4966.c825dc1c.chunk.js": "./static/js/4966.c825dc1c.chunk.js", - "static/js/2363.5fc6aebe.chunk.js": "./static/js/2363.5fc6aebe.chunk.js", - "static/js/2464.ea29031c.chunk.js": "./static/js/2464.ea29031c.chunk.js", - "static/js/7520.609b689b.chunk.js": "./static/js/7520.609b689b.chunk.js", + "static/js/8174.c861b202.chunk.js": "./static/js/8174.c861b202.chunk.js", + "static/js/1116.3ac451e2.chunk.js": "./static/js/1116.3ac451e2.chunk.js", + "static/js/1296.566439b0.chunk.js": "./static/js/1296.566439b0.chunk.js", + "static/js/6430.2fc358b0.chunk.js": "./static/js/6430.2fc358b0.chunk.js", + "static/js/2363.eb05fc0a.chunk.js": "./static/js/2363.eb05fc0a.chunk.js", + "static/js/2464.7d37692f.chunk.js": "./static/js/2464.7d37692f.chunk.js", + "static/js/7520.a0deee21.chunk.js": "./static/js/7520.a0deee21.chunk.js", "index.html": "./index.html", "main.90d417ae.css.map": "./static/css/main.90d417ae.css.map", - "main.fd4d26b1.js.map": "./static/js/main.fd4d26b1.js.map", - "1660.1a3b5397.chunk.js.map": "./static/js/1660.1a3b5397.chunk.js.map", + "main.1bb3fb60.js.map": "./static/js/main.1bb3fb60.js.map", + "1660.3421b1d3.chunk.js.map": "./static/js/1660.3421b1d3.chunk.js.map", "5282.cb13b8c4.chunk.js.map": "./static/js/5282.cb13b8c4.chunk.js.map", - "2818.21be97b7.chunk.js.map": "./static/js/2818.21be97b7.chunk.js.map", - "9560.bf1e7276.chunk.js.map": "./static/js/9560.bf1e7276.chunk.js.map", - "9661.1e636902.chunk.js.map": "./static/js/9661.1e636902.chunk.js.map", - "9330.ea489cb0.chunk.js.map": "./static/js/9330.ea489cb0.chunk.js.map", - "7436.d9fafb61.chunk.js.map": "./static/js/7436.d9fafb61.chunk.js.map", - "8428.d94dd7f0.chunk.js.map": "./static/js/8428.d94dd7f0.chunk.js.map", - "9779.868ea932.chunk.js.map": "./static/js/9779.868ea932.chunk.js.map", - "3617.c5deb048.chunk.js.map": "./static/js/3617.c5deb048.chunk.js.map", - "7274.5c2a8fde.chunk.js.map": "./static/js/7274.5c2a8fde.chunk.js.map", - "7842.151c41a8.chunk.js.map": "./static/js/7842.151c41a8.chunk.js.map", - "4745.3fab4951.chunk.js.map": "./static/js/4745.3fab4951.chunk.js.map", - "1796.840a4e41.chunk.js.map": "./static/js/1796.840a4e41.chunk.js.map", - "8259.7c8fbb38.chunk.js.map": "./static/js/8259.7c8fbb38.chunk.js.map", - "6023.d2f6ea4d.chunk.js.map": "./static/js/6023.d2f6ea4d.chunk.js.map", - "6147.f2a7d841.chunk.js.map": "./static/js/6147.f2a7d841.chunk.js.map", - "9275.2fec5cc7.chunk.js.map": "./static/js/9275.2fec5cc7.chunk.js.map", - "8190.13d7b7e6.chunk.js.map": "./static/js/8190.13d7b7e6.chunk.js.map", - "7314.01eaeb0f.chunk.js.map": "./static/js/7314.01eaeb0f.chunk.js.map", - "7456.e2ad891d.chunk.js.map": "./static/js/7456.e2ad891d.chunk.js.map", + "2818.c0f03eba.chunk.js.map": "./static/js/2818.c0f03eba.chunk.js.map", + "9560.f2ba1718.chunk.js.map": "./static/js/9560.f2ba1718.chunk.js.map", + "9661.4c7a22fb.chunk.js.map": "./static/js/9661.4c7a22fb.chunk.js.map", + "9330.e6ac3543.chunk.js.map": "./static/js/9330.e6ac3543.chunk.js.map", + "7436.318091b1.chunk.js.map": "./static/js/7436.318091b1.chunk.js.map", + "8428.428b783d.chunk.js.map": "./static/js/8428.428b783d.chunk.js.map", + "9779.6e9dc0a5.chunk.js.map": "./static/js/9779.6e9dc0a5.chunk.js.map", + "3617.f650b975.chunk.js.map": "./static/js/3617.f650b975.chunk.js.map", + "7274.06bad40d.chunk.js.map": "./static/js/7274.06bad40d.chunk.js.map", + "7842.b4e66936.chunk.js.map": "./static/js/7842.b4e66936.chunk.js.map", + "4745.8fd307b8.chunk.js.map": "./static/js/4745.8fd307b8.chunk.js.map", + "1796.78eb9602.chunk.js.map": "./static/js/1796.78eb9602.chunk.js.map", + "8259.cfeb6efe.chunk.js.map": "./static/js/8259.cfeb6efe.chunk.js.map", + "6023.cc494962.chunk.js.map": "./static/js/6023.cc494962.chunk.js.map", + "6147.d0d2ef6f.chunk.js.map": "./static/js/6147.d0d2ef6f.chunk.js.map", + "9275.53928a1e.chunk.js.map": "./static/js/9275.53928a1e.chunk.js.map", + "8190.37ec01c3.chunk.js.map": "./static/js/8190.37ec01c3.chunk.js.map", + "7314.8d7e9d5d.chunk.js.map": "./static/js/7314.8d7e9d5d.chunk.js.map", + "7456.5b6965d0.chunk.js.map": "./static/js/7456.5b6965d0.chunk.js.map", "5822.dd80c1b6.chunk.css.map": "./static/css/5822.dd80c1b6.chunk.css.map", - "5822.fa49be62.chunk.js.map": "./static/js/5822.fa49be62.chunk.js.map", - "2699.3102be0f.chunk.js.map": "./static/js/2699.3102be0f.chunk.js.map", - "5808.8da21793.chunk.js.map": "./static/js/5808.8da21793.chunk.js.map", + "5822.2e5ca929.chunk.js.map": "./static/js/5822.2e5ca929.chunk.js.map", + "2699.4954d948.chunk.js.map": "./static/js/2699.4954d948.chunk.js.map", + "5808.d0d08e62.chunk.js.map": "./static/js/5808.d0d08e62.chunk.js.map", "1237.b46ec019.chunk.js.map": "./static/js/1237.b46ec019.chunk.js.map", - "189.06df2d49.chunk.js.map": "./static/js/189.06df2d49.chunk.js.map", + "189.f0f79745.chunk.js.map": "./static/js/189.f0f79745.chunk.js.map", "964.dd80c1b6.chunk.css.map": "./static/css/964.dd80c1b6.chunk.css.map", - "964.c1751e75.chunk.js.map": "./static/js/964.c1751e75.chunk.js.map", + "964.4083c9c4.chunk.js.map": "./static/js/964.4083c9c4.chunk.js.map", "9807.dd80c1b6.chunk.css.map": "./static/css/9807.dd80c1b6.chunk.css.map", - "9807.ee1a2bdb.chunk.js.map": "./static/js/9807.ee1a2bdb.chunk.js.map", - "3806.8464efb7.chunk.js.map": "./static/js/3806.8464efb7.chunk.js.map", - "8661.e8f2397f.chunk.js.map": "./static/js/8661.e8f2397f.chunk.js.map", - "2886.92b60a3b.chunk.js.map": "./static/js/2886.92b60a3b.chunk.js.map", - "4577.cd5b16fc.chunk.js.map": "./static/js/4577.cd5b16fc.chunk.js.map", - "4298.e6c437dd.chunk.js.map": "./static/js/4298.e6c437dd.chunk.js.map", + "9807.bb735f71.chunk.js.map": "./static/js/9807.bb735f71.chunk.js.map", + "3806.3f0f185b.chunk.js.map": "./static/js/3806.3f0f185b.chunk.js.map", + "8661.4f560fbb.chunk.js.map": "./static/js/8661.4f560fbb.chunk.js.map", + "2886.7fb64ae7.chunk.js.map": "./static/js/2886.7fb64ae7.chunk.js.map", + "4577.3e6de606.chunk.js.map": "./static/js/4577.3e6de606.chunk.js.map", + "4298.2fa3347c.chunk.js.map": "./static/js/4298.2fa3347c.chunk.js.map", "2805.b4302353.chunk.js.map": "./static/js/2805.b4302353.chunk.js.map", "6873.27fbf284.chunk.js.map": "./static/js/6873.27fbf284.chunk.js.map", "428.ad58c353.chunk.js.map": "./static/js/428.ad58c353.chunk.js.map", - "1069.77bb316e.chunk.js.map": "./static/js/1069.77bb316e.chunk.js.map", - "9080.d84213b3.chunk.js.map": "./static/js/9080.d84213b3.chunk.js.map", - "3276.1afa9e35.chunk.js.map": "./static/js/3276.1afa9e35.chunk.js.map", - "6458.c6bf60f8.chunk.js.map": "./static/js/6458.c6bf60f8.chunk.js.map", - "7551.b8d5fd21.chunk.js.map": "./static/js/7551.b8d5fd21.chunk.js.map", - "7950.0e4eac80.chunk.js.map": "./static/js/7950.0e4eac80.chunk.js.map", - "290.8bfc0b83.chunk.js.map": "./static/js/290.8bfc0b83.chunk.js.map", - "8961.37cf027e.chunk.js.map": "./static/js/8961.37cf027e.chunk.js.map", - "3967.2cb35507.chunk.js.map": "./static/js/3967.2cb35507.chunk.js.map", + "1069.deaa3eb0.chunk.js.map": "./static/js/1069.deaa3eb0.chunk.js.map", + "9080.ec6f0469.chunk.js.map": "./static/js/9080.ec6f0469.chunk.js.map", + "3276.ef1e5b52.chunk.js.map": "./static/js/3276.ef1e5b52.chunk.js.map", + "6458.c39b77e2.chunk.js.map": "./static/js/6458.c39b77e2.chunk.js.map", + "6973.aa8569ff.chunk.js.map": "./static/js/6973.aa8569ff.chunk.js.map", + "7551.6040d86d.chunk.js.map": "./static/js/7551.6040d86d.chunk.js.map", + "7950.f9de3165.chunk.js.map": "./static/js/7950.f9de3165.chunk.js.map", + "3575.b8f7afc0.chunk.js.map": "./static/js/3575.b8f7afc0.chunk.js.map", + "8961.ab396d91.chunk.js.map": "./static/js/8961.ab396d91.chunk.js.map", + "3967.689e32b8.chunk.js.map": "./static/js/3967.689e32b8.chunk.js.map", "4084.dd80c1b6.chunk.css.map": "./static/css/4084.dd80c1b6.chunk.css.map", - "4084.34cce774.chunk.js.map": "./static/js/4084.34cce774.chunk.js.map", - "8394.fa043a82.chunk.js.map": "./static/js/8394.fa043a82.chunk.js.map", - "7664.b099b462.chunk.js.map": "./static/js/7664.b099b462.chunk.js.map", - "1140.ab5579e6.chunk.js.map": "./static/js/1140.ab5579e6.chunk.js.map", - "5961.7a71f2c5.chunk.js.map": "./static/js/5961.7a71f2c5.chunk.js.map", + "4084.bb2e5658.chunk.js.map": "./static/js/4084.bb2e5658.chunk.js.map", + "8394.83c40291.chunk.js.map": "./static/js/8394.83c40291.chunk.js.map", + "7664.07c56295.chunk.js.map": "./static/js/7664.07c56295.chunk.js.map", + "1140.f3c8431a.chunk.js.map": "./static/js/1140.f3c8431a.chunk.js.map", + "5961.6a63abf6.chunk.js.map": "./static/js/5961.6a63abf6.chunk.js.map", "2401.dcfa0659.chunk.js.map": "./static/js/2401.dcfa0659.chunk.js.map", - "7498.adcacaca.chunk.js.map": "./static/js/7498.adcacaca.chunk.js.map", - "9421.a6974f61.chunk.js.map": "./static/js/9421.a6974f61.chunk.js.map", - "4860.3bea7736.chunk.js.map": "./static/js/4860.3bea7736.chunk.js.map", - "5245.04e84402.chunk.js.map": "./static/js/5245.04e84402.chunk.js.map", - "6549.bc76401b.chunk.js.map": "./static/js/6549.bc76401b.chunk.js.map", + "7498.629a64a4.chunk.js.map": "./static/js/7498.629a64a4.chunk.js.map", + "9421.5b5d9937.chunk.js.map": "./static/js/9421.5b5d9937.chunk.js.map", + "4860.dee4560c.chunk.js.map": "./static/js/4860.dee4560c.chunk.js.map", + "5245.884da645.chunk.js.map": "./static/js/5245.884da645.chunk.js.map", + "6549.7e3c2603.chunk.js.map": "./static/js/6549.7e3c2603.chunk.js.map", "8724.dd80c1b6.chunk.css.map": "./static/css/8724.dd80c1b6.chunk.css.map", - "8724.2fda7628.chunk.js.map": "./static/js/8724.2fda7628.chunk.js.map", - "2182.45ee7ad0.chunk.js.map": "./static/js/2182.45ee7ad0.chunk.js.map", + "8724.6112baf2.chunk.js.map": "./static/js/8724.6112baf2.chunk.js.map", + "2182.ac6bf5cd.chunk.js.map": "./static/js/2182.ac6bf5cd.chunk.js.map", "7764.7133a78a.chunk.js.map": "./static/js/7764.7133a78a.chunk.js.map", - "4220.8d9a9028.chunk.js.map": "./static/js/4220.8d9a9028.chunk.js.map", - "1719.a1c5fbc9.chunk.js.map": "./static/js/1719.a1c5fbc9.chunk.js.map", - "3320.cf0913be.chunk.js.map": "./static/js/3320.cf0913be.chunk.js.map", + "4220.4e76aa0b.chunk.js.map": "./static/js/4220.4e76aa0b.chunk.js.map", + "1719.e7bff050.chunk.js.map": "./static/js/1719.e7bff050.chunk.js.map", + "3320.8bb47140.chunk.js.map": "./static/js/3320.8bb47140.chunk.js.map", "6645.1d65ce48.chunk.js.map": "./static/js/6645.1d65ce48.chunk.js.map", "9923.3911a310.chunk.js.map": "./static/js/9923.3911a310.chunk.js.map", "9586.f3d3466d.chunk.js.map": "./static/js/9586.f3d3466d.chunk.js.map", "9125.a86e3119.chunk.js.map": "./static/js/9125.a86e3119.chunk.js.map", "5781.33738b7f.chunk.js.map": "./static/js/5781.33738b7f.chunk.js.map", - "7261.916fdbf6.chunk.js.map": "./static/js/7261.916fdbf6.chunk.js.map", + "7261.5c17f33b.chunk.js.map": "./static/js/7261.5c17f33b.chunk.js.map", "8306.047e9e54.chunk.js.map": "./static/js/8306.047e9e54.chunk.js.map", - "6436.690eb2b9.chunk.js.map": "./static/js/6436.690eb2b9.chunk.js.map", + "6436.9bc8fe43.chunk.js.map": "./static/js/6436.9bc8fe43.chunk.js.map", "8343.67a940b1.chunk.js.map": "./static/js/8343.67a940b1.chunk.js.map", - "2841.9d475dfe.chunk.js.map": "./static/js/2841.9d475dfe.chunk.js.map", - "6167.d5f52864.chunk.js.map": "./static/js/6167.d5f52864.chunk.js.map", - "7346.47702cc8.chunk.js.map": "./static/js/7346.47702cc8.chunk.js.map", + "2841.b0b47c73.chunk.js.map": "./static/js/2841.b0b47c73.chunk.js.map", + "6167.63825f7e.chunk.js.map": "./static/js/6167.63825f7e.chunk.js.map", + "7346.be91e98c.chunk.js.map": "./static/js/7346.be91e98c.chunk.js.map", "5144.19c094a4.chunk.js.map": "./static/js/5144.19c094a4.chunk.js.map", "5125.58c2feff.chunk.js.map": "./static/js/5125.58c2feff.chunk.js.map", - "528.d01b02af.chunk.js.map": "./static/js/528.d01b02af.chunk.js.map", + "528.9bb66bbe.chunk.js.map": "./static/js/528.9bb66bbe.chunk.js.map", "7187.171b28f4.chunk.js.map": "./static/js/7187.171b28f4.chunk.js.map", - "6173.925ab9b7.chunk.js.map": "./static/js/6173.925ab9b7.chunk.js.map", - "953.677ddb95.chunk.js.map": "./static/js/953.677ddb95.chunk.js.map", - "9193.feaac1ba.chunk.js.map": "./static/js/9193.feaac1ba.chunk.js.map", + "6173.f2666144.chunk.js.map": "./static/js/6173.f2666144.chunk.js.map", + "953.163e31bc.chunk.js.map": "./static/js/953.163e31bc.chunk.js.map", + "9193.7b929008.chunk.js.map": "./static/js/9193.7b929008.chunk.js.map", "7451.dabaf18f.chunk.js.map": "./static/js/7451.dabaf18f.chunk.js.map", - "9924.020057ee.chunk.js.map": "./static/js/9924.020057ee.chunk.js.map", + "9924.22b7a131.chunk.js.map": "./static/js/9924.22b7a131.chunk.js.map", "9645.dd80c1b6.chunk.css.map": "./static/css/9645.dd80c1b6.chunk.css.map", - "9645.71cc858a.chunk.js.map": "./static/js/9645.71cc858a.chunk.js.map", - "5710.7386de50.chunk.js.map": "./static/js/5710.7386de50.chunk.js.map", - "4121.0e3d5ae5.chunk.js.map": "./static/js/4121.0e3d5ae5.chunk.js.map", - "3421.666af5cb.chunk.js.map": "./static/js/3421.666af5cb.chunk.js.map", - "2892.f87668de.chunk.js.map": "./static/js/2892.f87668de.chunk.js.map", - "7926.c65ecfc3.chunk.js.map": "./static/js/7926.c65ecfc3.chunk.js.map", - "6145.9665a7b2.chunk.js.map": "./static/js/6145.9665a7b2.chunk.js.map", + "9645.7cc9e705.chunk.js.map": "./static/js/9645.7cc9e705.chunk.js.map", + "5710.bbaa8215.chunk.js.map": "./static/js/5710.bbaa8215.chunk.js.map", + "4121.c824f4ac.chunk.js.map": "./static/js/4121.c824f4ac.chunk.js.map", + "3421.53573188.chunk.js.map": "./static/js/3421.53573188.chunk.js.map", + "2892.076d9a7f.chunk.js.map": "./static/js/2892.076d9a7f.chunk.js.map", + "7926.75e27e9b.chunk.js.map": "./static/js/7926.75e27e9b.chunk.js.map", + "6145.82597755.chunk.js.map": "./static/js/6145.82597755.chunk.js.map", "3816.dd80c1b6.chunk.css.map": "./static/css/3816.dd80c1b6.chunk.css.map", - "3816.c0b2fb6b.chunk.js.map": "./static/js/3816.c0b2fb6b.chunk.js.map", - "2966.0b278e3b.chunk.js.map": "./static/js/2966.0b278e3b.chunk.js.map", - "4177.381caad6.chunk.js.map": "./static/js/4177.381caad6.chunk.js.map", - "9679.c1fd0ae5.chunk.js.map": "./static/js/9679.c1fd0ae5.chunk.js.map", + "3816.ebc07860.chunk.js.map": "./static/js/3816.ebc07860.chunk.js.map", + "2966.ced4dcf6.chunk.js.map": "./static/js/2966.ced4dcf6.chunk.js.map", + "4177.6d04f760.chunk.js.map": "./static/js/4177.6d04f760.chunk.js.map", + "9679.d9cbab57.chunk.js.map": "./static/js/9679.d9cbab57.chunk.js.map", "8333.d2ede110.chunk.js.map": "./static/js/8333.d2ede110.chunk.js.map", - "1711.dfdfce0a.chunk.js.map": "./static/js/1711.dfdfce0a.chunk.js.map", - "9.caa73b0e.chunk.js.map": "./static/js/9.caa73b0e.chunk.js.map", - "4487.8cae9359.chunk.js.map": "./static/js/4487.8cae9359.chunk.js.map", - "6866.a519feef.chunk.js.map": "./static/js/6866.a519feef.chunk.js.map", - "8564.16b674dd.chunk.js.map": "./static/js/8564.16b674dd.chunk.js.map", - "1666.9098f0d4.chunk.js.map": "./static/js/1666.9098f0d4.chunk.js.map", - "7007.d9ef3b97.chunk.js.map": "./static/js/7007.d9ef3b97.chunk.js.map", + "1711.2657a246.chunk.js.map": "./static/js/1711.2657a246.chunk.js.map", + "9.a243680e.chunk.js.map": "./static/js/9.a243680e.chunk.js.map", + "4487.8631b03a.chunk.js.map": "./static/js/4487.8631b03a.chunk.js.map", + "6866.08dfeb70.chunk.js.map": "./static/js/6866.08dfeb70.chunk.js.map", + "8564.efb201a4.chunk.js.map": "./static/js/8564.efb201a4.chunk.js.map", + "1666.d207aa88.chunk.js.map": "./static/js/1666.d207aa88.chunk.js.map", + "7007.14937910.chunk.js.map": "./static/js/7007.14937910.chunk.js.map", "14.25ecb28d.chunk.js.map": "./static/js/14.25ecb28d.chunk.js.map", "3152.d03e4df4.chunk.js.map": "./static/js/3152.d03e4df4.chunk.js.map", "2066.16320a68.chunk.js.map": "./static/js/2066.16320a68.chunk.js.map", @@ -302,16 +304,16 @@ "6554.53f930ae.chunk.js.map": "./static/js/6554.53f930ae.chunk.js.map", "9831.1b5a6bb6.chunk.js.map": "./static/js/9831.1b5a6bb6.chunk.js.map", "9382.581734f3.chunk.js.map": "./static/js/9382.581734f3.chunk.js.map", - "8174.6e95ea0c.chunk.js.map": "./static/js/8174.6e95ea0c.chunk.js.map", - "1116.824f2d28.chunk.js.map": "./static/js/1116.824f2d28.chunk.js.map", - "6430.e747de7c.chunk.js.map": "./static/js/6430.e747de7c.chunk.js.map", - "4966.c825dc1c.chunk.js.map": "./static/js/4966.c825dc1c.chunk.js.map", - "2363.5fc6aebe.chunk.js.map": "./static/js/2363.5fc6aebe.chunk.js.map", - "2464.ea29031c.chunk.js.map": "./static/js/2464.ea29031c.chunk.js.map", - "7520.609b689b.chunk.js.map": "./static/js/7520.609b689b.chunk.js.map" + "8174.c861b202.chunk.js.map": "./static/js/8174.c861b202.chunk.js.map", + "1116.3ac451e2.chunk.js.map": "./static/js/1116.3ac451e2.chunk.js.map", + "1296.566439b0.chunk.js.map": "./static/js/1296.566439b0.chunk.js.map", + "6430.2fc358b0.chunk.js.map": "./static/js/6430.2fc358b0.chunk.js.map", + "2363.eb05fc0a.chunk.js.map": "./static/js/2363.eb05fc0a.chunk.js.map", + "2464.7d37692f.chunk.js.map": "./static/js/2464.7d37692f.chunk.js.map", + "7520.a0deee21.chunk.js.map": "./static/js/7520.a0deee21.chunk.js.map" }, "entrypoints": [ "static/css/main.90d417ae.css", - "static/js/main.fd4d26b1.js" + "static/js/main.1bb3fb60.js" ] } \ No newline at end of file diff --git a/portal-ui/build/index.html b/portal-ui/build/index.html index dd80b9d27..4c01cd74e 100644 --- a/portal-ui/build/index.html +++ b/portal-ui/build/index.html @@ -1 +1 @@ -MinIO Console
\ No newline at end of file +MinIO Console
\ No newline at end of file diff --git a/portal-ui/build/static/js/1069.77bb316e.chunk.js b/portal-ui/build/static/js/1069.77bb316e.chunk.js deleted file mode 100644 index e1756f68d..000000000 --- a/portal-ui/build/static/js/1069.77bb316e.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1069],{82461:function(e,a,n){n.d(a,{Z:function(){return g}});var t=n(23430),i=n(18489),o=n(50390),s=n(38342),r=n.n(s),l=n(25594),c=n(36554),d=n(94187),u=n(95467),m=n(46529),p=n(94258),v=n(86509),x=n(4285),h=n(72462),f=n(97538),Z=n(82981),j=n(62559),g=(0,x.Z)((function(e){return(0,v.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},h.bV),{},{inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,i.Z)((0,i.Z)({},h.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,n=e.classes,i=e.onChange,s=e.id,v=e.name,x=e.disabled,h=void 0!==x&&x,g=e.tooltip,b=void 0===g?"":g,C=e.required,y=e.error,N=void 0===y?"":y,S=e.accept,M=void 0===S?"":S,k=e.value,F=void 0===k?"":k,w=(0,o.useState)(!1),B=(0,t.Z)(w,2),R=B[0],I=B[1];return(0,j.jsx)(o.Fragment,{children:(0,j.jsxs)(l.ZP,{item:!0,xs:12,className:"".concat(n.fileInputField," ").concat(n.fieldBottom," ").concat(n.fieldContainer," ").concat(""!==N?n.errorInField:""),children:[""!==a&&(0,j.jsxs)(c.Z,{htmlFor:s,className:"".concat(""!==N?n.fieldLabelError:""," ").concat(n.inputLabel),children:[(0,j.jsxs)("span",{children:[a,C?"*":""]}),""!==b&&(0,j.jsx)("div",{className:n.tooltipContainer,children:(0,j.jsx)(d.Z,{title:b,placement:"top-start",children:(0,j.jsx)("div",{className:n.tooltip,children:(0,j.jsx)(f.Z,{})})})})]}),R||""===F?(0,j.jsxs)("div",{className:n.textBoxContainer,children:[(0,j.jsx)("input",{type:"file",name:v,onChange:function(e){var a=r()(e,"target.files[0].name","");!function(e,a){var n=e.target.files[0],t=new FileReader;t.readAsDataURL(n),t.onload=function(){var e=t.result;if(e){var n=e.toString().split("base64,");2===n.length&&a(n[1])}}}(e,(function(e){i(e,a)}))},accept:M,required:C,disabled:h,className:n.fileInputField}),""!==F&&(0,j.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){I(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,j.jsx)(p.Z,{})}),""!==N&&(0,j.jsx)(Z.Z,{errorMessage:N})]}):(0,j.jsxs)("div",{className:n.fileReselect,children:[(0,j.jsx)("div",{className:n.valueString,children:F}),(0,j.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){I(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,j.jsx)(m.Z,{})})]})]})})}))},66964:function(e,a,n){var t=n(18489),i=n(50390),o=n(12066),s=n(25594),r=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),v=n(97538),x=n(44977),h=n(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function Z(e){var a=f();return(0,h.jsx)(o.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,f=e.autoComplete,j=void 0===f?"off":f,g=e.disabled,b=void 0!==g&&g,C=e.multiline,y=void 0!==C&&C,N=e.tooltip,S=void 0===N?"":N,M=e.index,k=void 0===M?0:M,F=e.error,w=void 0===F?"":F,B=e.required,R=void 0!==B&&B,I=e.placeholder,L=void 0===I?"":I,K=e.min,P=e.max,z=e.overlayId,A=e.overlayIcon,E=void 0===A?null:A,W=e.overlayObject,D=void 0===W?null:W,T=e.extraInputProps,V=void 0===T?{}:T,H=e.overlayAction,O=e.noLabelMinWidth,Y=void 0!==O&&O,_=e.pattern,q=void 0===_?"":_,U=e.autoFocus,$=void 0!==U&&U,G=e.classes,Q=e.className,J=void 0===Q?"":Q,X=e.onKeyPress,ee=(0,t.Z)({"data-index":k},V);return"number"===p&&K&&(ee.min=K),"number"===p&&P&&(ee.max=P),""!==q&&(ee.pattern=q),(0,h.jsx)(i.Fragment,{children:(0,h.jsxs)(s.ZP,{container:!0,className:(0,x.Z)(""!==J?J:"",""!==w?G.errorInField:G.inputBoxContainer),children:[""!==a&&(0,h.jsxs)(r.Z,{htmlFor:d,className:Y?G.noMinWidthLabel:G.inputLabel,children:[(0,h.jsxs)("span",{children:[a,R?"*":""]}),""!==S&&(0,h.jsx)("div",{className:G.tooltipContainer,children:(0,h.jsx)(l.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:G.tooltip,children:(0,h.jsx)(v.Z,{})})})})]}),(0,h.jsxs)("div",{className:G.textBoxContainer,children:[(0,h.jsx)(Z,{id:d,name:u,fullWidth:!0,value:o,autoFocus:$,disabled:b,onChange:n,type:p,multiline:y,autoComplete:j,inputProps:ee,error:""!==w,helperText:w,placeholder:L,className:G.inputRebase,onKeyPress:X}),E&&(0,h.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},id:z,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:E})}),D&&(0,h.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==a?"withLabel":""),children:D})]})]})})}))},51002:function(e,a,n){var t=n(23430),i=n(18489),o=n(50390),s=n(34424),r=n(95467),l=n(97771),c=n(84402),d=n(78426),u=n(93085),m=n(86509),p=n(4285),v=n(72462),x=n(44149),h=n(21278),f=n(45980),Z=n(62559),j=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});a.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},v.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(j((function(e){var a=e.onClose,n=e.modalOpen,s=e.title,m=e.children,p=e.classes,v=e.wideLimit,x=void 0===v||v,j=e.modalSnackMessage,g=e.noContentPadding,b=e.setModalSnackMessage,C=e.titleIcon,y=void 0===C?null:C,N=(0,o.useState)(!1),S=(0,t.Z)(N,2),M=S[0],k=S[1];(0,o.useEffect)((function(){b("")}),[b]),(0,o.useEffect)((function(){if(j){if(""===j.message)return void k(!1);"error"!==j.type&&k(!0)}}),[j]);var F=x?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return j&&(w=j.detailedErrorMsg,(""===j.detailedErrorMsg||j.detailedErrorMsg.length<5)&&(w=j.message)),(0,Z.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:n,classes:p},F),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:p.root,children:[(0,Z.jsxs)(d.Z,{className:p.title,children:[(0,Z.jsxs)("div",{className:p.titleText,children:[y," ",s]}),(0,Z.jsx)("div",{className:p.closeContainer,children:(0,Z.jsx)(r.Z,{"aria-label":"close",className:p.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,Z.jsx)(h.Z,{})})})]}),(0,Z.jsx)(f.Z,{isModal:!0}),(0,Z.jsx)(l.Z,{open:M,className:p.snackBarModal,onClose:function(){k(!1),b("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(j&&"error"===j.type?p.errorSnackBar:"")},autoHideDuration:j&&"error"===j.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:g?"":p.content,children:m})]}))})))},81069:function(e,a,n){n.r(a);var t=n(23430),i=n(18489),o=n(50390),s=n(38342),r=n.n(s),l=n(34424),c=n(86509),d=n(4285),u=n(66946),m=n(81378),p=n(25594),v=n(72462),x=n(44149),h=n(66964),f=n(82461),Z=n(30324),j=n(51002),g=n(86362),b=n(62559),C=(0,l.$j)(null,{setModalErrorSnackMessage:x.zb});a.default=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({buttonContainer:{textAlign:"right"}},v.oO),v.DF))}))(C((function(e){var a=e.open,n=e.closeModalAndRefresh,i=e.classes,s=e.tierData,l=e.setModalErrorSnackMessage,c=(0,o.useState)(!1),d=(0,t.Z)(c,2),v=d[0],x=d[1],C=(0,o.useState)(""),y=(0,t.Z)(C,2),N=y[0],S=y[1],M=(0,o.useState)(""),k=(0,t.Z)(M,2),F=k[0],w=k[1],B=(0,o.useState)(""),R=(0,t.Z)(B,2),I=R[0],L=R[1],K=(0,o.useState)(""),P=(0,t.Z)(K,2),z=P[0],A=P[1],E=(0,o.useState)(""),W=(0,t.Z)(E,2),D=W[0],T=W[1],V=(0,o.useState)(""),H=(0,t.Z)(V,2),O=H[0],Y=H[1],_=(0,o.useState)(!0),q=(0,t.Z)(_,2),U=q[0],$=q[1],G=r()(s,"type",""),Q=r()(s,"".concat(G,".name"),"");(0,o.useEffect)((function(){var e=!0;"s3"===G||"azure"===G?""!==D&&""!==O||(e=!1):"gcs"===G&&""===z&&(e=!1),$(e)}),[O,D,z,G]);return(0,b.jsx)(j.Z,{modalOpen:a,titleIcon:(0,b.jsx)(g.mB,{}),onClose:function(){n(!1)},title:"Update Credentials - ".concat(G," / ").concat(Q),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),x(!0),function(){var e={};"s3"===G||"azure"===G?e={access_key:D,secret_key:O}:"gcs"===G&&(e={creds:z}),""!==Q?Z.Z.invoke("PUT","/api/v1/admin/tiers/".concat(G,"/").concat(Q,"/credentials"),e).then((function(){x(!1),n(!0)})).catch((function(e){x(!1),l(e)})):l({errorMessage:"There was an error retrieving tier information",detailedError:""})}()},children:(0,b.jsxs)(p.ZP,{container:!0,children:[(0,b.jsxs)(p.ZP,{item:!0,xs:12,children:["s3"===G&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("div",{className:i.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:N,onChange:function(e){S(e.target.value)}})}),(0,b.jsx)("div",{className:i.formFieldRow,children:(0,b.jsx)(h.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:F,onChange:function(e){w(e.target.value)}})})]}),"gcs"===G&&(0,b.jsx)(o.Fragment,{children:(0,b.jsx)(f.Z,{accept:".json",id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){A(e),L(a)},value:I})}),"azure"===G&&(0,b.jsxs)(o.Fragment,{children:[(0,b.jsx)("div",{className:i.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:D,onChange:function(e){T(e.target.value)}})}),(0,b.jsx)("div",{className:i.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:O,onChange:function(e){Y(e.target.value)}})})]})]}),(0,b.jsx)(p.ZP,{item:!0,xs:12,className:i.buttonContainer,children:(0,b.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",disabled:v||!U,children:"Save"})}),v&&(0,b.jsx)(p.ZP,{item:!0,xs:12,children:(0,b.jsx)(m.Z,{})})]})})})})))},82981:function(e,a,n){var t=n(50390),i=n(35477),o=n(86509),s=n(4285),r=n(62559);a.Z=(0,s.Z)((function(e){var a;return(0,o.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,n=e.errorMessage,o=e.withBreak,s=void 0===o||o;return(0,r.jsxs)(t.Fragment,{children:[s&&(0,r.jsx)("br",{}),(0,r.jsx)(i.Z,{component:"p",variant:"body1",className:a.errorBlock,children:n})]})}))},46529:function(e,a,n){var t=n(64119);a.Z=void 0;var i=t(n(66830)),o=n(62559),s=(0,i.default)((0,o.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=s},94258:function(e,a,n){var t=n(64119);a.Z=void 0;var i=t(n(66830)),o=n(62559),s=(0,i.default)((0,o.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=s},21278:function(e,a,n){var t=n(64119);a.Z=void 0;var i=t(n(66830)),o=n(62559),s=(0,i.default)((0,o.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");a.Z=s}}]); -//# sourceMappingURL=1069.77bb316e.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1069.77bb316e.chunk.js.map b/portal-ui/build/static/js/1069.77bb316e.chunk.js.map deleted file mode 100644 index b35c3624c..000000000 --- a/portal-ui/build/static/js/1069.77bb316e.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1069.77bb316e.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js","../node_modules/@mui/icons-material/Close.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
\n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
\n ) : (\n
\n
{value}
\n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport api from \"../../../../common/api\";\nimport { ITierElement } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { LockIcon } from \"../../../../icons\";\n\ninterface ITierCredentialsModal {\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => any;\n classes: any;\n tierData: ITierElement;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst UpdateTierCredentialsModal = ({\n open,\n closeModalAndRefresh,\n classes,\n tierData,\n setModalErrorSnackMessage,\n}: ITierCredentialsModal) => {\n const [savingTiers, setSavingTiers] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n\n const type = get(tierData, \"type\", \"\");\n const name = get(tierData, `${type}.name`, \"\");\n\n useEffect(() => {\n let valid = true;\n\n if (type === \"s3\" || type === \"azure\") {\n if (accountName === \"\" || accountKey === \"\") {\n valid = false;\n }\n } else if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [accountKey, accountName, encodedCreds, type]);\n\n const addRecord = () => {\n let rules = {};\n\n if (type === \"s3\" || type === \"azure\") {\n rules = {\n access_key: accountName,\n secret_key: accountKey,\n };\n } else if (type === \"gcs\") {\n rules = {\n creds: encodedCreds,\n };\n }\n if (name !== \"\") {\n api\n .invoke(\"PUT\", `/api/v1/admin/tiers/${type}/${name}/credentials`, rules)\n .then(() => {\n setSavingTiers(false);\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setSavingTiers(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n setModalErrorSnackMessage({\n errorMessage: \"There was an error retrieving tier information\",\n detailedError: \"\",\n });\n }\n };\n\n return (\n }\n onClose={() => {\n closeModalAndRefresh(false);\n }}\n title={`Update Credentials - ${type} / ${name}`}\n >\n ) => {\n e.preventDefault();\n setSavingTiers(true);\n addRecord();\n }}\n >\n \n \n {type === \"s3\" && (\n \n
\n ) => {\n setAccessKey(e.target.value);\n }}\n />\n
\n
\n ) => {\n setSecretKey(e.target.value);\n }}\n />\n
\n
\n )}\n {type === \"gcs\" && (\n \n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n />\n \n )}\n {type === \"azure\" && (\n \n
\n ) => {\n setAccountName(e.target.value);\n }}\n />\n
\n
\n ) => {\n setAccountKey(e.target.value);\n }}\n />\n
\n
\n )}\n
\n \n \n Save\n \n \n {savingTiers && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(UpdateTierCredentialsModal));\n","import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
}\n \n {errorMessage}\n \n
\n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","valueString","maxWidth","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","label","classes","onChange","id","name","disabled","tooltip","required","error","accept","value","useState","showFileSelector","setShowSelector","Grid","item","xs","className","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","color","component","onClick","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","root","padding","content","paddingBottom","customDialogSize","width","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","open","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","setModalErrorSnackMessage","buttonContainer","textAlign","modalBasic","formFieldStyles","closeModalAndRefresh","tierData","savingTiers","setSavingTiers","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","isFormValid","setIsFormValid","valid","noValidate","onSubmit","preventDefault","rules","access_key","secret_key","api","then","catch","err","detailedError","addRecord","Fragment","formFieldRow","encodedValue","variant","errorBlock","palette","main","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1069.deaa3eb0.chunk.js b/portal-ui/build/static/js/1069.deaa3eb0.chunk.js new file mode 100644 index 000000000..45d8a6ba8 --- /dev/null +++ b/portal-ui/build/static/js/1069.deaa3eb0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1069],{82461:function(e,a,n){n.d(a,{Z:function(){return g}});var t=n(23430),i=n(18489),s=n(50390),o=n(38342),l=n.n(o),r=n(25594),c=n(36554),d=n(94187),u=n(95467),p=n(46529),m=n(94258),v=n(86509),x=n(4285),h=n(72462),f=n(97538),Z=n(82981),j=n(62559),g=(0,x.Z)((function(e){return(0,v.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},h.bV),{},{inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,i.Z)((0,i.Z)({},h.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,n=e.classes,i=e.onChange,o=e.id,v=e.name,x=e.disabled,h=void 0!==x&&x,g=e.tooltip,b=void 0===g?"":g,C=e.required,y=e.error,N=void 0===y?"":y,S=e.accept,k=void 0===S?"":S,F=e.value,M=void 0===F?"":F,w=(0,s.useState)(!1),B=(0,t.Z)(w,2),R=B[0],I=B[1];return(0,j.jsx)(s.Fragment,{children:(0,j.jsxs)(r.ZP,{item:!0,xs:12,className:"".concat(n.fileInputField," ").concat(n.fieldBottom," ").concat(n.fieldContainer," ").concat(""!==N?n.errorInField:""),children:[""!==a&&(0,j.jsxs)(c.Z,{htmlFor:o,className:"".concat(""!==N?n.fieldLabelError:""," ").concat(n.inputLabel),children:[(0,j.jsxs)("span",{children:[a,C?"*":""]}),""!==b&&(0,j.jsx)("div",{className:n.tooltipContainer,children:(0,j.jsx)(d.Z,{title:b,placement:"top-start",children:(0,j.jsx)("div",{className:n.tooltip,children:(0,j.jsx)(f.Z,{})})})})]}),R||""===M?(0,j.jsxs)("div",{className:n.textBoxContainer,children:[(0,j.jsx)("input",{type:"file",name:v,onChange:function(e){var a=l()(e,"target.files[0].name","");!function(e,a){var n=e.target.files[0],t=new FileReader;t.readAsDataURL(n),t.onload=function(){var e=t.result;if(e){var n=e.toString().split("base64,");2===n.length&&a(n[1])}}}(e,(function(e){i(e,a)}))},accept:k,required:C,disabled:h,className:n.fileInputField}),""!==M&&(0,j.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){I(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,j.jsx)(m.Z,{})}),""!==N&&(0,j.jsx)(Z.Z,{errorMessage:N})]}):(0,j.jsxs)("div",{className:n.fileReselect,children:[(0,j.jsx)("div",{className:n.valueString,children:M}),(0,j.jsx)(u.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){I(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,j.jsx)(p.Z,{})})]})]})})}))},66964:function(e,a,n){var t=n(18489),i=n(50390),s=n(12066),o=n(25594),l=n(36554),r=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),v=n(97538),x=n(44977),h=n(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},m.gM))}));function Z(e){var a=f();return(0,h.jsx)(s.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,p.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,s=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,f=e.autoComplete,j=void 0===f?"off":f,g=e.disabled,b=void 0!==g&&g,C=e.multiline,y=void 0!==C&&C,N=e.tooltip,S=void 0===N?"":N,k=e.index,F=void 0===k?0:k,M=e.error,w=void 0===M?"":M,B=e.required,R=void 0!==B&&B,I=e.placeholder,L=void 0===I?"":I,K=e.min,z=e.max,A=e.overlayId,E=e.overlayIcon,P=void 0===E?null:E,W=e.overlayObject,D=void 0===W?null:W,T=e.extraInputProps,V=void 0===T?{}:T,H=e.overlayAction,O=e.noLabelMinWidth,Y=void 0!==O&&O,_=e.pattern,q=void 0===_?"":_,U=e.autoFocus,$=void 0!==U&&U,G=e.classes,Q=e.className,J=void 0===Q?"":Q,X=e.onKeyPress,ee=(0,t.Z)({"data-index":F},V);return"number"===m&&K&&(ee.min=K),"number"===m&&z&&(ee.max=z),""!==q&&(ee.pattern=q),(0,h.jsx)(i.Fragment,{children:(0,h.jsxs)(o.ZP,{container:!0,className:(0,x.Z)(""!==J?J:"",""!==w?G.errorInField:G.inputBoxContainer),children:[""!==a&&(0,h.jsxs)(l.Z,{htmlFor:d,className:Y?G.noMinWidthLabel:G.inputLabel,children:[(0,h.jsxs)("span",{children:[a,R?"*":""]}),""!==S&&(0,h.jsx)("div",{className:G.tooltipContainer,children:(0,h.jsx)(r.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:G.tooltip,children:(0,h.jsx)(v.Z,{})})})})]}),(0,h.jsxs)("div",{className:G.textBoxContainer,children:[(0,h.jsx)(Z,{id:d,name:u,fullWidth:!0,value:s,autoFocus:$,disabled:b,onChange:n,type:m,multiline:y,autoComplete:j,inputProps:ee,error:""!==w,helperText:w,placeholder:L,className:G.inputRebase,onKeyPress:X}),P&&(0,h.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},id:A,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:P})}),D&&(0,h.jsx)("div",{className:"".concat(G.overlayAction," ").concat(""!==a?"withLabel":""),children:D})]})]})})}))},51002:function(e,a,n){var t=n(23430),i=n(18489),s=n(50390),o=n(34424),l=n(95467),r=n(97771),c=n(84402),d=n(78426),u=n(93085),p=n(86509),m=n(4285),v=n(72462),x=n(44149),h=n(21278),f=n(45980),Z=n(62559),j=(0,o.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});a.Z=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},v.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(j((function(e){var a=e.onClose,n=e.modalOpen,o=e.title,p=e.children,m=e.classes,v=e.wideLimit,x=void 0===v||v,j=e.modalSnackMessage,g=e.noContentPadding,b=e.setModalSnackMessage,C=e.titleIcon,y=void 0===C?null:C,N=(0,s.useState)(!1),S=(0,t.Z)(N,2),k=S[0],F=S[1];(0,s.useEffect)((function(){b("")}),[b]),(0,s.useEffect)((function(){if(j){if(""===j.message)return void F(!1);"error"!==j.type&&F(!0)}}),[j]);var M=x?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return j&&(w=j.detailedErrorMsg,(""===j.detailedErrorMsg||j.detailedErrorMsg.length<5)&&(w=j.message)),(0,Z.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:n,classes:m},M),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:m.root,children:[(0,Z.jsxs)(d.Z,{className:m.title,children:[(0,Z.jsxs)("div",{className:m.titleText,children:[y," ",o]}),(0,Z.jsx)("div",{className:m.closeContainer,children:(0,Z.jsx)(l.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,Z.jsx)(h.Z,{})})})]}),(0,Z.jsx)(f.Z,{isModal:!0}),(0,Z.jsx)(r.Z,{open:k,className:m.snackBarModal,onClose:function(){F(!1),b("")},message:w,ContentProps:{className:"".concat(m.snackBar," ").concat(j&&"error"===j.type?m.errorSnackBar:"")},autoHideDuration:j&&"error"===j.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))},81069:function(e,a,n){n.r(a);var t=n(23430),i=n(18489),s=n(50390),o=n(38342),l=n.n(o),r=n(34424),c=n(86509),d=n(4285),u=n(66946),p=n(81378),m=n(25594),v=n(72462),x=n(44149),h=n(66964),f=n(82461),Z=n(30324),j=n(51002),g=n(14549),b=n(62559),C=(0,r.$j)(null,{setModalErrorSnackMessage:x.zb});a.default=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({buttonContainer:{textAlign:"right"}},v.oO),v.DF))}))(C((function(e){var a=e.open,n=e.closeModalAndRefresh,i=e.classes,o=e.tierData,r=e.setModalErrorSnackMessage,c=(0,s.useState)(!1),d=(0,t.Z)(c,2),v=d[0],x=d[1],C=(0,s.useState)(""),y=(0,t.Z)(C,2),N=y[0],S=y[1],k=(0,s.useState)(""),F=(0,t.Z)(k,2),M=F[0],w=F[1],B=(0,s.useState)(""),R=(0,t.Z)(B,2),I=R[0],L=R[1],K=(0,s.useState)(""),z=(0,t.Z)(K,2),A=z[0],E=z[1],P=(0,s.useState)(""),W=(0,t.Z)(P,2),D=W[0],T=W[1],V=(0,s.useState)(""),H=(0,t.Z)(V,2),O=H[0],Y=H[1],_=(0,s.useState)(!0),q=(0,t.Z)(_,2),U=q[0],$=q[1],G=l()(o,"type",""),Q=l()(o,"".concat(G,".name"),"");(0,s.useEffect)((function(){var e=!0;"s3"===G||"azure"===G?""!==D&&""!==O||(e=!1):"gcs"===G&&""===A&&(e=!1),$(e)}),[O,D,A,G]);return(0,b.jsx)(j.Z,{modalOpen:a,titleIcon:(0,b.jsx)(g.mB,{}),onClose:function(){n(!1)},title:"Update Credentials - ".concat(G," / ").concat(Q),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),x(!0),function(){var e={};"s3"===G||"azure"===G?e={access_key:D,secret_key:O}:"gcs"===G&&(e={creds:A}),""!==Q?Z.Z.invoke("PUT","/api/v1/admin/tiers/".concat(G,"/").concat(Q,"/credentials"),e).then((function(){x(!1),n(!0)})).catch((function(e){x(!1),r(e)})):r({errorMessage:"There was an error retrieving tier information",detailedError:""})}()},children:(0,b.jsxs)(m.ZP,{container:!0,children:[(0,b.jsxs)(m.ZP,{item:!0,xs:12,children:["s3"===G&&(0,b.jsxs)(s.Fragment,{children:[(0,b.jsx)("div",{className:i.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:N,onChange:function(e){S(e.target.value)}})}),(0,b.jsx)("div",{className:i.formFieldRow,children:(0,b.jsx)(h.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:M,onChange:function(e){w(e.target.value)}})})]}),"gcs"===G&&(0,b.jsx)(s.Fragment,{children:(0,b.jsx)(f.Z,{accept:".json",id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){E(e),L(a)},value:I})}),"azure"===G&&(0,b.jsxs)(s.Fragment,{children:[(0,b.jsx)("div",{className:i.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:D,onChange:function(e){T(e.target.value)}})}),(0,b.jsx)("div",{className:i.formFieldRow,children:(0,b.jsx)(h.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:O,onChange:function(e){Y(e.target.value)}})})]})]}),(0,b.jsx)(m.ZP,{item:!0,xs:12,className:i.buttonContainer,children:(0,b.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",disabled:v||!U,children:"Save"})}),v&&(0,b.jsx)(m.ZP,{item:!0,xs:12,children:(0,b.jsx)(p.Z,{})})]})})})})))},82981:function(e,a,n){var t=n(50390),i=n(35477),s=n(86509),o=n(4285),l=n(62559);a.Z=(0,o.Z)((function(e){var a;return(0,s.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,n=e.errorMessage,s=e.withBreak,o=void 0===s||s;return(0,l.jsxs)(t.Fragment,{children:[o&&(0,l.jsx)("br",{}),(0,l.jsx)(i.Z,{component:"p",variant:"body1",className:a.errorBlock,children:n})]})}))},46529:function(e,a,n){var t=n(64119);a.Z=void 0;var i=t(n(66830)),s=n(62559),o=(0,i.default)((0,s.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=o},94258:function(e,a,n){var t=n(64119);a.Z=void 0;var i=t(n(66830)),s=n(62559),o=(0,i.default)((0,s.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=o},21278:function(e,a,n){var t=n(64119);a.Z=void 0;var i=t(n(66830)),s=n(62559),o=(0,i.default)((0,s.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");a.Z=o}}]); +//# sourceMappingURL=1069.deaa3eb0.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1069.deaa3eb0.chunk.js.map b/portal-ui/build/static/js/1069.deaa3eb0.chunk.js.map new file mode 100644 index 000000000..4717bf8bd --- /dev/null +++ b/portal-ui/build/static/js/1069.deaa3eb0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1069.deaa3eb0.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js","../node_modules/@mui/icons-material/Close.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
\n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
\n ) : (\n
\n
{value}
\n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalBasic,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport api from \"../../../../common/api\";\nimport { ITierElement } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { LockIcon } from \"../../../../icons\";\n\ninterface ITierCredentialsModal {\n open: boolean;\n closeModalAndRefresh: (refresh: boolean) => any;\n classes: any;\n tierData: ITierElement;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n ...modalBasic,\n ...formFieldStyles,\n });\n\nconst UpdateTierCredentialsModal = ({\n open,\n closeModalAndRefresh,\n classes,\n tierData,\n setModalErrorSnackMessage,\n}: ITierCredentialsModal) => {\n const [savingTiers, setSavingTiers] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n\n const type = get(tierData, \"type\", \"\");\n const name = get(tierData, `${type}.name`, \"\");\n\n useEffect(() => {\n let valid = true;\n\n if (type === \"s3\" || type === \"azure\") {\n if (accountName === \"\" || accountKey === \"\") {\n valid = false;\n }\n } else if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n setIsFormValid(valid);\n }, [accountKey, accountName, encodedCreds, type]);\n\n const addRecord = () => {\n let rules = {};\n\n if (type === \"s3\" || type === \"azure\") {\n rules = {\n access_key: accountName,\n secret_key: accountKey,\n };\n } else if (type === \"gcs\") {\n rules = {\n creds: encodedCreds,\n };\n }\n if (name !== \"\") {\n api\n .invoke(\"PUT\", `/api/v1/admin/tiers/${type}/${name}/credentials`, rules)\n .then(() => {\n setSavingTiers(false);\n closeModalAndRefresh(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setSavingTiers(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n setModalErrorSnackMessage({\n errorMessage: \"There was an error retrieving tier information\",\n detailedError: \"\",\n });\n }\n };\n\n return (\n }\n onClose={() => {\n closeModalAndRefresh(false);\n }}\n title={`Update Credentials - ${type} / ${name}`}\n >\n ) => {\n e.preventDefault();\n setSavingTiers(true);\n addRecord();\n }}\n >\n \n \n {type === \"s3\" && (\n \n
\n ) => {\n setAccessKey(e.target.value);\n }}\n />\n
\n
\n ) => {\n setSecretKey(e.target.value);\n }}\n />\n
\n
\n )}\n {type === \"gcs\" && (\n \n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n />\n \n )}\n {type === \"azure\" && (\n \n
\n ) => {\n setAccountName(e.target.value);\n }}\n />\n
\n
\n ) => {\n setAccountKey(e.target.value);\n }}\n />\n
\n
\n )}\n
\n \n \n Save\n \n \n {savingTiers && (\n \n \n \n )}\n
\n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(UpdateTierCredentialsModal));\n","import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
}\n \n {errorMessage}\n \n
\n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;"],"names":["withStyles","theme","createStyles","fieldBasic","tooltipHelper","valueString","maxWidth","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","label","classes","onChange","id","name","disabled","tooltip","required","error","accept","value","useState","showFileSelector","setShowSelector","Grid","item","xs","className","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","color","component","onClick","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","open","scroll","event","reason","root","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","setModalErrorSnackMessage","buttonContainer","textAlign","modalBasic","formFieldStyles","closeModalAndRefresh","tierData","savingTiers","setSavingTiers","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","isFormValid","setIsFormValid","valid","noValidate","onSubmit","preventDefault","rules","access_key","secret_key","api","then","catch","err","detailedError","addRecord","Fragment","formFieldRow","encodedValue","variant","errorBlock","palette","main","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1116.824f2d28.chunk.js b/portal-ui/build/static/js/1116.3ac451e2.chunk.js similarity index 98% rename from portal-ui/build/static/js/1116.824f2d28.chunk.js rename to portal-ui/build/static/js/1116.3ac451e2.chunk.js index 0469a8e77..caf975744 100644 --- a/portal-ui/build/static/js/1116.824f2d28.chunk.js +++ b/portal-ui/build/static/js/1116.3ac451e2.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1116],{8235:function(e,t,r){r(50390);var n=r(86509),o=r(4285),i=r(25594),a=r(62559);t.Z=(0,o.Z)((function(e){return(0,n.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,r=e.iconComponent,n=e.title,o=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(i.ZP,{container:!0,children:[(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[r,n]}),(0,a.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},37882:function(e,t,r){var n=r(18489),o=r(50390),i=r(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function r(r){return(0,i.jsx)(o.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,n.Z)({},r))})}return r}},25534:function(e,t,r){var n=r(18489),o=(r(50390),r(25594)),i=r(86509),a=r(4285),l=r(72462),c=r(62559);t.Z=(0,a.Z)((function(e){return(0,i.Z)((0,n.Z)({},l.Bw))}))((function(e){var t=e.classes,r=e.className,n=void 0===r?"":r,i=e.children;return(0,c.jsx)("div",{className:t.contentSpacer,children:(0,c.jsx)(o.ZP,{container:!0,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n,children:i})})})}))},35721:function(e,t,r){var n=r(50390),o=r(34424),i=r(25594),a=r(86509),l=r(4285),c=r(35477),s=r(95467),d=r(26805),p=r(44078),u=r(5265),m=r(86362),h=r(62559),f={toggleList:u.kQ},g=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);t.Z=g((0,l.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,r=e.label,o=e.actions,a=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,f=e.toggleList,g=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(n.Fragment,{}):(0,h.jsxs)(i.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,h.jsx)("div",{className:t.logo,children:l?(0,h.jsx)(d.Z,{}):(0,h.jsx)(p.Z,{})}),(0,h.jsx)(c.Z,{variant:"h4",className:t.labelStyle,children:r})]}),g&&(0,h.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:g}),(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.rightMenu,children:[o&&o,u&&u.length>0&&(0,h.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},73726:function(e,t,r){r.d(t,{bx:function(){return g},DP:function(){return b},DD:function(){return v},_0:function(){return y}});var n=r(35531),o=(r(50390),r(75012)),i=r(58267),a=r(44229),l=r(30578),c=r(2494),s=r(41845),d=r(26068),p=r(89173),u=r(9639),m=r(84386),h=r(12720),f=r(62559),g=[{icon:(0,f.jsx)(o.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,f.jsx)(i.Z,{}),configuration_id:"cache",configuration_label:"Cache"},{icon:(0,f.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,f.jsx)(l.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,f.jsx)(c.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,f.jsx)(s.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,f.jsx)(d.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,f.jsx)(p.Z,{}),configuration_id:"identity_openid",configuration_label:"Identity Openid"},{icon:(0,f.jsx)(u.Z,{}),configuration_id:"identity_ldap",configuration_label:"Identity LDAP"},{icon:(0,f.jsx)(h.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,f.jsx)(m.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],b={region:[{name:"name",required:!0,label:"Server Location",tooltip:'Name of the location of the server e.g. "us-west-rack2"',type:"string",placeholder:"e.g. us-west-rack-2"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],cache:[{name:"drives",required:!0,label:"Drives",tooltip:'Mountpoints e.g. "/optane1" or "/optane2", you can write one per field',type:"csv",placeholder:"Enter Mount Point"},{name:"expiry",required:!1,label:"Expiry",tooltip:'Cache expiry duration in days e.g. "90"',type:"number",placeholder:"Enter Number of Days"},{name:"quota",required:!1,label:"Quota",tooltip:'Limit cache drive usage in percentage e.g. "90"',type:"number",placeholder:"Enter in %"},{name:"exclude",required:!1,label:"Exclude",tooltip:'Wildcard exclusion patterns e.g. "bucket/*.tmp" or "*.exe", you can write one per field',type:"csv",placeholder:"Enter Wildcard Exclusion Patterns"},{name:"after",required:!1,label:"After",tooltip:"Minimum number of access before caching an object",type:"number",placeholder:"Enter Number of Attempts"},{name:"watermark_low",required:!1,label:"Watermark Low",tooltip:"Watermark Low",type:"number",placeholder:"Enter Watermark Low"},{name:"watermark_high",required:!1,label:"Watermark High",tooltip:"Watermark High",type:"number",placeholder:"Enter Watermark High"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],compression:[{name:"extensions",required:!1,label:"Extensions",tooltip:'Extensions to compress e.g. ".txt",".log" or ".csv", you can write one per field',type:"csv",placeholder:"Enter an Extension",withBorder:!0},{name:"mime_types",required:!1,label:"Mime Types",tooltip:'Mime types e.g. "text/*","application/json" or "application/xml", you can write one per field',type:"csv",placeholder:"Enter a Mime Type",withBorder:!0}],api:[{name:"requests_max",required:!1,label:"Requests Max",tooltip:"Maximum number of concurrent requests, e.g. '1600'",type:"number",placeholder:"Enter Requests Max"},{name:"cors_allow_origin",required:!1,label:"Cors Allow Origin",tooltip:"list of origins allowed for CORS requests",type:"csv",placeholder:"Enter allowed origin e.g. https://example.com"},{name:"replication_workers",required:!1,label:"Replication Workers",tooltip:"Number of replication workers, defaults to 100",type:"number",placeholder:"Enter Replication Workers"},{name:"replication_failed_workers",required:!1,label:"Replication Failed Workers",tooltip:"Number of replication workers for recently failed replicas, defaults to 4",type:"number",placeholder:"Enter Replication Failed Workers"}],heal:[{name:"bitrotscan",required:!1,label:"Bitrot Scan",tooltip:"Perform bitrot scan on disks when checking objects during scanner",type:"on|off"},{name:"max_sleep",required:!1,label:"Max Sleep",tooltip:"Maximum sleep duration between objects to slow down heal operation. eg. 2s",type:"duration",placeholder:"Enter Max Sleep duration"},{name:"max_io",required:!1,label:"Max IO",tooltip:"Maximum IO requests allowed between objects to slow down heal operation. eg. 3",type:"number",placeholder:"Enter Max IO"}],scanner:[{name:"delay",required:!1,label:"Delay multiplier",tooltip:"Scanner delay multiplier, defaults to '10.0'",type:"number",placeholder:"Enter Delay"},{name:"max_wait",required:!1,label:"Max Wait",tooltip:"Maximum wait time between operations, defaults to '15s'",type:"duration",placeholder:"Enter Max Wait"},{name:"cycle",required:!1,label:"Cycle",tooltip:"Time duration between scanner cycles, defaults to '1m'",type:"duration",placeholder:"Enter Cycle"}],etcd:[{name:"endpoints",required:!0,label:"Endpoints",tooltip:'List of etcd endpoints e.g. "http://localhost:2379", you can write one per field',type:"csv",placeholder:"Enter Endpoint"},{name:"path_prefix",required:!1,label:"Path Prefix",tooltip:'namespace prefix to isolate tenants e.g. "customer1/"',type:"string",placeholder:"Enter Path Prefix"},{name:"coredns_path",required:!1,label:"Coredns Path",tooltip:'Shared bucket DNS records, default is "/skydns"',type:"string",placeholder:"Enter Coredns Path"},{name:"client_cert",required:!1,label:"Client Cert",tooltip:"Client cert for mTLS authentication",type:"string",placeholder:"Enter Client Cert"},{name:"client_cert_key",required:!1,label:"Client Cert Key",tooltip:"Client cert key for mTLS authentication",type:"string",placeholder:"Enter Client Cert Key"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],identity_openid:[{name:"config_url",required:!1,label:"Config URL",tooltip:"Config URL for identity provider configuration",type:"string",placeholder:"https://identity-provider-url/.well-known/openid-configuration"},{name:"client_id",required:!1,label:"Client ID",type:"string",placeholder:"Enter Client ID"},{name:"client_secret",required:!1,label:"Secret ID",type:"string",placeholder:"Enter Secret ID"},{name:"claim_name",required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",type:"string",placeholder:"Enter Claim Name"},{name:"claim_prefix",required:!1,label:"Claim Prefix",tooltip:"Claim Prefix",type:"string",placeholder:"Enter Claim Prefix"},{name:"claim_userinfo",required:!1,label:"Claim UserInfo",type:"on|off"},{name:"redirect_uri",required:!1,label:"Redirect URI",type:"string",placeholder:"https://console-endpoint-url/oauth_callback"},{name:"scopes",required:!1,label:"Scopes",type:"string",placeholder:"openid,profile,email"}],identity_ldap:[{name:"server_addr",required:!0,label:"Server Addr",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',type:"string",placeholder:"myldapserver.com:636"},{name:"tls_skip_verify",required:!1,label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "off" (verify)',type:"on|off"},{name:"server_insecure",required:!1,label:"Server Insecure",tooltip:'Allow plain text connection to AD/LDAP server, defaults to "off"',type:"on|off"},{name:"server_starttls",required:!1,label:"Start TLS connection to AD/LDAP server",tooltip:"Use StartTLS connection to AD/LDAP server",type:"on|off"},{name:"lookup_bind_dn",required:!0,label:"Lookup Bind DN",tooltip:"DN for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"cn=admin,dc=min,dc=io"},{name:"lookup_bind_password",required:!1,label:"Lookup Bind Password",tooltip:"Password for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"admin"},{name:"user_dn_search_base_dn",required:!1,label:"User DN Search Base DN",tooltip:"Base LDAP DN to search for user DN",type:"csv",placeholder:"dc=myldapserver"},{name:"user_dn_search_filter",required:!1,label:"User DN Search Filter",tooltip:"Search filter to lookup user DN",type:"string",placeholder:"(sAMAcountName=%s)"},{name:"group_search_filter",required:!1,label:"Group Search Filter",tooltip:"Search filter for groups",type:"string",placeholder:"(&(objectclass=groupOfNames)(member=%d))"},{name:"group_search_base_dn",required:!1,label:"Group Search Base DN",tooltip:"list of group search base DNs",type:"csv",placeholder:"dc=minioad,dc=local"},{name:"comment",required:!1,label:"Comment",tooltip:"Optionally add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],logger_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}],audit_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}]},v=function(e){return e.filter((function(e){return""!==e.value}))},y=function(e,t,r){var o=e.target,i=o.value,a=o.checked,l=(0,n.Z)(r);return a?l.push(i):l=l.filter((function(e){return e!==i})),t(l),l}},12720:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"}),"CallToAction");t.Z=a},30578:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"}),"Code");t.Z=a},44229:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z"}),"Compress");t.Z=a},41845:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z"}),"FindReplace");t.Z=a},2494:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z"}),"LocalHospital");t.Z=a},89173:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"}),"LockOpen");t.Z=a},9639:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z"}),"Login");t.Z=a},84386:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"}),"PendingActions");t.Z=a},75012:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"}),"Public");t.Z=a},58267:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z"}),"SdStorage");t.Z=a},26068:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"}),"VpnKey");t.Z=a},18207:function(e,t,r){function n(){return n=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}r.d(t,{Z:function(){return n}})}}]); -//# sourceMappingURL=1116.824f2d28.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1116],{8235:function(e,t,r){r(50390);var n=r(86509),o=r(4285),i=r(25594),a=r(62559);t.Z=(0,o.Z)((function(e){return(0,n.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,r=e.iconComponent,n=e.title,o=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(i.ZP,{container:!0,children:[(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[r,n]}),(0,a.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:o})]})})}))},37882:function(e,t,r){var n=r(18489),o=r(50390),i=r(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function r(r){return(0,i.jsx)(o.Suspense,{fallback:t,children:(0,i.jsx)(e,(0,n.Z)({},r))})}return r}},25534:function(e,t,r){var n=r(18489),o=(r(50390),r(25594)),i=r(86509),a=r(4285),l=r(72462),c=r(62559);t.Z=(0,a.Z)((function(e){return(0,i.Z)((0,n.Z)({},l.Bw))}))((function(e){var t=e.classes,r=e.className,n=void 0===r?"":r,i=e.children;return(0,c.jsx)("div",{className:t.contentSpacer,children:(0,c.jsx)(o.ZP,{container:!0,children:(0,c.jsx)(o.ZP,{item:!0,xs:12,className:n,children:i})})})}))},35721:function(e,t,r){var n=r(50390),o=r(34424),i=r(25594),a=r(86509),l=r(4285),c=r(35477),s=r(95467),d=r(26805),p=r(44078),u=r(5265),m=r(14549),h=r(62559),f={toggleList:u.kQ},g=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);t.Z=g((0,l.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,r=e.label,o=e.actions,a=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,f=e.toggleList,g=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(n.Fragment,{}):(0,h.jsxs)(i.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,h.jsx)("div",{className:t.logo,children:l?(0,h.jsx)(d.Z,{}):(0,h.jsx)(p.Z,{})}),(0,h.jsx)(c.Z,{variant:"h4",className:t.labelStyle,children:r})]}),g&&(0,h.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:g}),(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:g?3:6,className:t.rightMenu,children:[o&&o,u&&u.length>0&&(0,h.jsx)(s.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},73726:function(e,t,r){r.d(t,{bx:function(){return g},DP:function(){return b},DD:function(){return v},_0:function(){return y}});var n=r(35531),o=(r(50390),r(75012)),i=r(58267),a=r(44229),l=r(30578),c=r(2494),s=r(41845),d=r(26068),p=r(89173),u=r(9639),m=r(84386),h=r(12720),f=r(62559),g=[{icon:(0,f.jsx)(o.Z,{}),configuration_id:"region",configuration_label:"Region"},{icon:(0,f.jsx)(i.Z,{}),configuration_id:"cache",configuration_label:"Cache"},{icon:(0,f.jsx)(a.Z,{}),configuration_id:"compression",configuration_label:"Compression"},{icon:(0,f.jsx)(l.Z,{}),configuration_id:"api",configuration_label:"API"},{icon:(0,f.jsx)(c.Z,{}),configuration_id:"heal",configuration_label:"Heal"},{icon:(0,f.jsx)(s.Z,{}),configuration_id:"scanner",configuration_label:"Scanner"},{icon:(0,f.jsx)(d.Z,{}),configuration_id:"etcd",configuration_label:"Etcd"},{icon:(0,f.jsx)(p.Z,{}),configuration_id:"identity_openid",configuration_label:"Identity Openid"},{icon:(0,f.jsx)(u.Z,{}),configuration_id:"identity_ldap",configuration_label:"Identity LDAP"},{icon:(0,f.jsx)(h.Z,{}),configuration_id:"logger_webhook",configuration_label:"Logger Webhook"},{icon:(0,f.jsx)(m.Z,{}),configuration_id:"audit_webhook",configuration_label:"Audit Webhook"}],b={region:[{name:"name",required:!0,label:"Server Location",tooltip:'Name of the location of the server e.g. "us-west-rack2"',type:"string",placeholder:"e.g. us-west-rack-2"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],cache:[{name:"drives",required:!0,label:"Drives",tooltip:'Mountpoints e.g. "/optane1" or "/optane2", you can write one per field',type:"csv",placeholder:"Enter Mount Point"},{name:"expiry",required:!1,label:"Expiry",tooltip:'Cache expiry duration in days e.g. "90"',type:"number",placeholder:"Enter Number of Days"},{name:"quota",required:!1,label:"Quota",tooltip:'Limit cache drive usage in percentage e.g. "90"',type:"number",placeholder:"Enter in %"},{name:"exclude",required:!1,label:"Exclude",tooltip:'Wildcard exclusion patterns e.g. "bucket/*.tmp" or "*.exe", you can write one per field',type:"csv",placeholder:"Enter Wildcard Exclusion Patterns"},{name:"after",required:!1,label:"After",tooltip:"Minimum number of access before caching an object",type:"number",placeholder:"Enter Number of Attempts"},{name:"watermark_low",required:!1,label:"Watermark Low",tooltip:"Watermark Low",type:"number",placeholder:"Enter Watermark Low"},{name:"watermark_high",required:!1,label:"Watermark High",tooltip:"Watermark High",type:"number",placeholder:"Enter Watermark High"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],compression:[{name:"extensions",required:!1,label:"Extensions",tooltip:'Extensions to compress e.g. ".txt",".log" or ".csv", you can write one per field',type:"csv",placeholder:"Enter an Extension",withBorder:!0},{name:"mime_types",required:!1,label:"Mime Types",tooltip:'Mime types e.g. "text/*","application/json" or "application/xml", you can write one per field',type:"csv",placeholder:"Enter a Mime Type",withBorder:!0}],api:[{name:"requests_max",required:!1,label:"Requests Max",tooltip:"Maximum number of concurrent requests, e.g. '1600'",type:"number",placeholder:"Enter Requests Max"},{name:"cors_allow_origin",required:!1,label:"Cors Allow Origin",tooltip:"list of origins allowed for CORS requests",type:"csv",placeholder:"Enter allowed origin e.g. https://example.com"},{name:"replication_workers",required:!1,label:"Replication Workers",tooltip:"Number of replication workers, defaults to 100",type:"number",placeholder:"Enter Replication Workers"},{name:"replication_failed_workers",required:!1,label:"Replication Failed Workers",tooltip:"Number of replication workers for recently failed replicas, defaults to 4",type:"number",placeholder:"Enter Replication Failed Workers"}],heal:[{name:"bitrotscan",required:!1,label:"Bitrot Scan",tooltip:"Perform bitrot scan on disks when checking objects during scanner",type:"on|off"},{name:"max_sleep",required:!1,label:"Max Sleep",tooltip:"Maximum sleep duration between objects to slow down heal operation. eg. 2s",type:"duration",placeholder:"Enter Max Sleep duration"},{name:"max_io",required:!1,label:"Max IO",tooltip:"Maximum IO requests allowed between objects to slow down heal operation. eg. 3",type:"number",placeholder:"Enter Max IO"}],scanner:[{name:"delay",required:!1,label:"Delay multiplier",tooltip:"Scanner delay multiplier, defaults to '10.0'",type:"number",placeholder:"Enter Delay"},{name:"max_wait",required:!1,label:"Max Wait",tooltip:"Maximum wait time between operations, defaults to '15s'",type:"duration",placeholder:"Enter Max Wait"},{name:"cycle",required:!1,label:"Cycle",tooltip:"Time duration between scanner cycles, defaults to '1m'",type:"duration",placeholder:"Enter Cycle"}],etcd:[{name:"endpoints",required:!0,label:"Endpoints",tooltip:'List of etcd endpoints e.g. "http://localhost:2379", you can write one per field',type:"csv",placeholder:"Enter Endpoint"},{name:"path_prefix",required:!1,label:"Path Prefix",tooltip:'namespace prefix to isolate tenants e.g. "customer1/"',type:"string",placeholder:"Enter Path Prefix"},{name:"coredns_path",required:!1,label:"Coredns Path",tooltip:'Shared bucket DNS records, default is "/skydns"',type:"string",placeholder:"Enter Coredns Path"},{name:"client_cert",required:!1,label:"Client Cert",tooltip:"Client cert for mTLS authentication",type:"string",placeholder:"Enter Client Cert"},{name:"client_cert_key",required:!1,label:"Client Cert Key",tooltip:"Client cert key for mTLS authentication",type:"string",placeholder:"Enter Client Cert Key"},{name:"comment",required:!1,label:"Comment",tooltip:"You can add a comment to this setting",type:"comment",multiline:!0,placeholder:"Enter custom notes if any"}],identity_openid:[{name:"config_url",required:!1,label:"Config URL",tooltip:"Config URL for identity provider configuration",type:"string",placeholder:"https://identity-provider-url/.well-known/openid-configuration"},{name:"client_id",required:!1,label:"Client ID",type:"string",placeholder:"Enter Client ID"},{name:"client_secret",required:!1,label:"Secret ID",type:"string",placeholder:"Enter Secret ID"},{name:"claim_name",required:!1,label:"Claim Name",tooltip:"Claim from which MinIO will read the policy or role to use",type:"string",placeholder:"Enter Claim Name"},{name:"claim_prefix",required:!1,label:"Claim Prefix",tooltip:"Claim Prefix",type:"string",placeholder:"Enter Claim Prefix"},{name:"claim_userinfo",required:!1,label:"Claim UserInfo",type:"on|off"},{name:"redirect_uri",required:!1,label:"Redirect URI",type:"string",placeholder:"https://console-endpoint-url/oauth_callback"},{name:"scopes",required:!1,label:"Scopes",type:"string",placeholder:"openid,profile,email"}],identity_ldap:[{name:"server_addr",required:!0,label:"Server Addr",tooltip:'AD/LDAP server address e.g. "myldapserver.com:636"',type:"string",placeholder:"myldapserver.com:636"},{name:"tls_skip_verify",required:!1,label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "off" (verify)',type:"on|off"},{name:"server_insecure",required:!1,label:"Server Insecure",tooltip:'Allow plain text connection to AD/LDAP server, defaults to "off"',type:"on|off"},{name:"server_starttls",required:!1,label:"Start TLS connection to AD/LDAP server",tooltip:"Use StartTLS connection to AD/LDAP server",type:"on|off"},{name:"lookup_bind_dn",required:!0,label:"Lookup Bind DN",tooltip:"DN for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"cn=admin,dc=min,dc=io"},{name:"lookup_bind_password",required:!1,label:"Lookup Bind Password",tooltip:"Password for LDAP read-only service account used to perform DN and group lookups",type:"string",placeholder:"admin"},{name:"user_dn_search_base_dn",required:!1,label:"User DN Search Base DN",tooltip:"Base LDAP DN to search for user DN",type:"csv",placeholder:"dc=myldapserver"},{name:"user_dn_search_filter",required:!1,label:"User DN Search Filter",tooltip:"Search filter to lookup user DN",type:"string",placeholder:"(sAMAcountName=%s)"},{name:"group_search_filter",required:!1,label:"Group Search Filter",tooltip:"Search filter for groups",type:"string",placeholder:"(&(objectclass=groupOfNames)(member=%d))"},{name:"group_search_base_dn",required:!1,label:"Group Search Base DN",tooltip:"list of group search base DNs",type:"csv",placeholder:"dc=minioad,dc=local"},{name:"comment",required:!1,label:"Comment",tooltip:"Optionally add a comment to this setting",type:"comment",placeholder:"Enter custom notes if any"}],logger_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}],audit_webhook:[{name:"endpoint",required:!0,label:"Endpoint",type:"string",placeholder:"Enter Endpoint"},{name:"auth_token",required:!0,label:"Auth Token",type:"string",placeholder:"Enter Auth Token"}]},v=function(e){return e.filter((function(e){return""!==e.value}))},y=function(e,t,r){var o=e.target,i=o.value,a=o.checked,l=(0,n.Z)(r);return a?l.push(i):l=l.filter((function(e){return e!==i})),t(l),l}},12720:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z"}),"CallToAction");t.Z=a},30578:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"}),"Code");t.Z=a},44229:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z"}),"Compress");t.Z=a},41845:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z"}),"FindReplace");t.Z=a},2494:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z"}),"LocalHospital");t.Z=a},89173:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z"}),"LockOpen");t.Z=a},9639:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z"}),"Login");t.Z=a},84386:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"}),"PendingActions");t.Z=a},75012:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z"}),"Public");t.Z=a},58267:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z"}),"SdStorage");t.Z=a},26068:function(e,t,r){var n=r(64119);t.Z=void 0;var o=n(r(66830)),i=r(62559),a=(0,o.default)((0,i.jsx)("path",{d:"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"}),"VpnKey");t.Z=a},18207:function(e,t,r){function n(){return n=Object.assign||function(e){for(var t=1;t=0||(o[r]=e[r]);return o}r.d(t,{Z:function(){return n}})}}]); +//# sourceMappingURL=1116.3ac451e2.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1116.824f2d28.chunk.js.map b/portal-ui/build/static/js/1116.3ac451e2.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1116.824f2d28.chunk.js.map rename to portal-ui/build/static/js/1116.3ac451e2.chunk.js.map index ffaa6e030..b42ee0746 100644 --- a/portal-ui/build/static/js/1116.824f2d28.chunk.js.map +++ b/portal-ui/build/static/js/1116.3ac451e2.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1116.824f2d28.chunk.js","mappings":"oKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,OAAQ,oBACRC,aAAc,EACdC,gBAAiB,UACjBC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,IAEhBC,UAAW,CACTC,SAAU,GACVC,WAAY,OACZC,aAAc,GACdC,QAAS,OACTC,WAAY,SACZ,cAAe,CACbC,YAAa,GACbC,OAAQ,GACRC,MAAO,KAGXC,SAAU,CACRR,SAAU,GACVL,YAAa,OA2BnB,EAhBgB,SAAC,GAAuD,IAArDc,EAAoD,EAApDA,QAASC,EAA2C,EAA3CA,cAAeC,EAA4B,EAA5BA,MAAOC,EAAqB,EAArBA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAxB,UACE,UAAC,KAAD,CAAMuB,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAtC,UACGW,EACAC,MAEH,SAAC,KAAD,CAAMI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAtC,SACGI,a,2DClCX,IAfA,SACEK,GAEC,IADDC,EACA,uDADsC,KAEtC,SAASC,EAAsBC,GAC7B,OACE,SAAC,EAAAC,SAAD,CAAUH,SAAUA,EAApB,UACE,SAACD,GAAD,UAAsBG,MAK5B,OAAOD,I,sGCAT,KAAe/B,EAAAA,EAAAA,IAvBA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRgC,EAAAA,OAqBP,EAZmB,SAAC,GAA4D,IAA1Db,EAAyD,EAAzDA,QAAyD,IAAhDI,UAAAA,OAAgD,MAApC,GAAoC,EAAhCU,EAAgC,EAAhCA,SAC7C,OACE,gBAAKV,UAAWJ,EAAQe,cAAxB,UACE,SAAC,KAAD,CAAMV,WAAS,EAAf,UACE,SAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWA,EAA9B,SACGU,Y,4JCiJLE,EAAqB,CACzBC,WAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KAXD,SAACC,GAAD,MAAsB,CACrCC,YAAaD,EAAME,OAAOD,YAC1BE,aAAcH,EAAME,OAAOC,aAC3BC,eAAgBJ,EAAMK,cAAcC,cAAcC,gBAClDC,SAAUR,EAAMS,QAAQC,QAAQF,YAOEZ,GAEpC,IAAeE,GAAUvC,EAAAA,EAAAA,IAnIV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXkD,gBAAiB,CACfjC,MAAO,OACPkC,UAAW,GACXtC,QAAS,OACTT,gBAAiB,OACjBgD,KAAM,EACNC,UAAW,8BAEbC,MAAO,CACLzC,QAAS,OACT0C,eAAgB,aAChBzC,WAAY,UAEd0C,WAAY,CACVC,MAAO,OACP/C,SAAU,GACVC,WAAY,IACZ+C,WAAY,GACZC,UAAW,GAEbC,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJJ,WAAY,GACZK,KAAMhE,EAAMiE,QAAQC,QAAQC,KAC5B,cAAe,CACbjD,MAAO,MAGXkD,gBAAiB,CACftD,QAAS,OACT0C,eAAgB,SAChBzC,WAAY,cAgGOhB,EA5FN,SAAC,GAUA,IATlBqB,EASiB,EATjBA,QACAmC,EAQiB,EARjBA,MACAc,EAOiB,EAPjBA,QACA5B,EAMiB,EANjBA,YACAE,EAKiB,EALjBA,aACAC,EAIiB,EAJjBA,eACAP,EAGiB,EAHjBA,WACA+B,EAEiB,EAFjBA,gBAGA,OADiB,EADjBpB,SAEasB,SAAS,cACb,SAAC,EAAAC,SAAD,KAGP,UAAC,KAAD,CACE9C,WAAS,EACTD,UAAS,UAAKJ,EAAQ+B,gBAAb,gBACTqB,UAAU,MACVzD,WAAW,SAJb,WAME,UAAC,KAAD,CACEW,MAAI,EACJC,GAAI,GACJ8C,GAAI,GACJC,GAAIN,EAAkB,EAAI,EAC1B5C,UAAWJ,EAAQmC,MACnBoB,GAAI,CACFpE,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUIkC,IACA,gBAAKjB,UAAWJ,EAAQ2C,KAAxB,SACGpB,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAYiC,QAAQ,KAAKpD,UAAWJ,EAAQqC,WAA5C,SACGF,OAGJa,IACC,SAAC,KAAD,CACE1C,MAAI,EACJC,GAAI,GACJ8C,GAAI,GACJC,GAAI,EACJlD,UAAWJ,EAAQgD,gBACnBO,GAAI,CAAEf,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGQ,KAGL,UAAC,KAAD,CACE1C,MAAI,EACJC,GAAI,GACJ8C,GAAI,GACJC,GAAIN,EAAkB,EAAI,EAC1B5C,UAAWJ,EAAQyC,UALrB,UAOGQ,GAAWA,EACXzB,GAAkBA,EAAeiC,OAAS,IACzC,SAAC,IAAD,CACEnB,MAAM,UACN,aAAW,eACXoB,UAAU,OACVC,QAAS,WACP1C,KAEF2C,GAAG,wBACHC,KAAK,QARP,UAUE,SAAC,KAAD,iB,2RC5HCC,EAAoC,CAC/C,CACEC,MAAM,SAAC,IAAD,IACNC,iBAAkB,SAClBC,oBAAqB,UAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,QAClBC,oBAAqB,SAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,cAClBC,oBAAqB,eAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,MAClBC,oBAAqB,OAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,OAClBC,oBAAqB,QAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,UAClBC,oBAAqB,WAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,OAClBC,oBAAqB,QAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,kBAClBC,oBAAqB,mBAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,gBAClBC,oBAAqB,iBAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,iBAClBC,oBAAqB,kBAEvB,CACEF,MAAM,SAAC,IAAD,IACNC,iBAAkB,gBAClBC,oBAAqB,kBAIZC,EAA4B,CACvCC,OAAQ,CACN,CACEC,KAAM,OACNC,UAAU,EACVlC,MAAO,kBACPmC,QAAS,0DACTC,KAAM,SACNC,YAAa,uBAEf,CACEJ,KAAM,UACNC,UAAU,EACVlC,MAAO,UACPmC,QAAS,wCACTC,KAAM,UACNC,YAAa,8BAGjBC,MAAO,CACL,CACEL,KAAM,SACNC,UAAU,EACVlC,MAAO,SACPmC,QACE,yEACFC,KAAM,MACNC,YAAa,qBAEf,CACEJ,KAAM,SACNC,UAAU,EACVlC,MAAO,SACPmC,QAAS,0CACTC,KAAM,SACNC,YAAa,wBAEf,CACEJ,KAAM,QACNC,UAAU,EACVlC,MAAO,QACPmC,QAAS,kDACTC,KAAM,SACNC,YAAa,cAEf,CACEJ,KAAM,UACNC,UAAU,EACVlC,MAAO,UACPmC,QACE,0FACFC,KAAM,MACNC,YAAa,qCAEf,CACEJ,KAAM,QACNC,UAAU,EACVlC,MAAO,QACPmC,QAAS,oDACTC,KAAM,SACNC,YAAa,4BAEf,CACEJ,KAAM,gBACNC,UAAU,EACVlC,MAAO,gBACPmC,QAAS,gBACTC,KAAM,SACNC,YAAa,uBAEf,CACEJ,KAAM,iBACNC,UAAU,EACVlC,MAAO,iBACPmC,QAAS,iBACTC,KAAM,SACNC,YAAa,wBAEf,CACEJ,KAAM,UACNC,UAAU,EACVlC,MAAO,UACPmC,QAAS,wCACTC,KAAM,UACNG,WAAW,EACXF,YAAa,8BAGjBG,YAAa,CACX,CACEP,KAAM,aACNC,UAAU,EACVlC,MAAO,aACPmC,QACE,mFACFC,KAAM,MACNC,YAAa,qBACbI,YAAY,GAEd,CACER,KAAM,aACNC,UAAU,EACVlC,MAAO,aACPmC,QACE,gGACFC,KAAM,MACNC,YAAa,oBACbI,YAAY,IAGhBC,IAAK,CACH,CACET,KAAM,eACNC,UAAU,EACVlC,MAAO,eACPmC,QAAS,qDACTC,KAAM,SACNC,YAAa,sBAEf,CACEJ,KAAM,oBACNC,UAAU,EACVlC,MAAO,oBACPmC,QAAS,4CACTC,KAAM,MACNC,YAAa,iDAEf,CACEJ,KAAM,sBACNC,UAAU,EACVlC,MAAO,sBACPmC,QAAS,iDACTC,KAAM,SACNC,YAAa,6BAEf,CACEJ,KAAM,6BACNC,UAAU,EACVlC,MAAO,6BACPmC,QACE,4EACFC,KAAM,SACNC,YAAa,qCAGjBM,KAAM,CACJ,CACEV,KAAM,aACNC,UAAU,EACVlC,MAAO,cACPmC,QACE,oEACFC,KAAM,UAER,CACEH,KAAM,YACNC,UAAU,EACVlC,MAAO,YACPmC,QACE,6EACFC,KAAM,WACNC,YAAa,4BAEf,CACEJ,KAAM,SACNC,UAAU,EACVlC,MAAO,SACPmC,QACE,iFACFC,KAAM,SACNC,YAAa,iBAGjBO,QAAS,CACP,CACEX,KAAM,QACNC,UAAU,EACVlC,MAAO,mBACPmC,QAAS,+CACTC,KAAM,SACNC,YAAa,eAEf,CACEJ,KAAM,WACNC,UAAU,EACVlC,MAAO,WACPmC,QAAS,0DACTC,KAAM,WACNC,YAAa,kBAEf,CACEJ,KAAM,QACNC,UAAU,EACVlC,MAAO,QACPmC,QAAS,yDACTC,KAAM,WACNC,YAAa,gBAGjBQ,KAAM,CACJ,CACEZ,KAAM,YACNC,UAAU,EACVlC,MAAO,YACPmC,QACE,mFACFC,KAAM,MACNC,YAAa,kBAEf,CACEJ,KAAM,cACNC,UAAU,EACVlC,MAAO,cACPmC,QAAS,wDACTC,KAAM,SACNC,YAAa,qBAEf,CACEJ,KAAM,eACNC,UAAU,EACVlC,MAAO,eACPmC,QAAS,kDACTC,KAAM,SACNC,YAAa,sBAEf,CACEJ,KAAM,cACNC,UAAU,EACVlC,MAAO,cACPmC,QAAS,sCACTC,KAAM,SACNC,YAAa,qBAEf,CACEJ,KAAM,kBACNC,UAAU,EACVlC,MAAO,kBACPmC,QAAS,0CACTC,KAAM,SACNC,YAAa,yBAEf,CACEJ,KAAM,UACNC,UAAU,EACVlC,MAAO,UACPmC,QAAS,wCACTC,KAAM,UACNG,WAAW,EACXF,YAAa,8BAGjBS,gBAAiB,CACf,CACEb,KAAM,aACNC,UAAU,EACVlC,MAAO,aACPmC,QAAS,iDACTC,KAAM,SACNC,YACE,kEAEJ,CACEJ,KAAM,YACNC,UAAU,EACVlC,MAAO,YACPoC,KAAM,SACNC,YAAa,mBAEf,CACEJ,KAAM,gBACNC,UAAU,EACVlC,MAAO,YACPoC,KAAM,SACNC,YAAa,mBAEf,CACEJ,KAAM,aACNC,UAAU,EACVlC,MAAO,aACPmC,QAAS,6DACTC,KAAM,SACNC,YAAa,oBAEf,CACEJ,KAAM,eACNC,UAAU,EACVlC,MAAO,eACPmC,QAAS,eACTC,KAAM,SACNC,YAAa,sBAEf,CACEJ,KAAM,iBACNC,UAAU,EACVlC,MAAO,iBACPoC,KAAM,UAER,CACEH,KAAM,eACNC,UAAU,EACVlC,MAAO,eACPoC,KAAM,SACNC,YAAa,+CAEf,CACEJ,KAAM,SACNC,UAAU,EACVlC,MAAO,SACPoC,KAAM,SACNC,YAAa,yBAGjBU,cAAe,CACb,CACEd,KAAM,cACNC,UAAU,EACVlC,MAAO,cACPmC,QAAS,qDACTC,KAAM,SACNC,YAAa,wBAEf,CACEJ,KAAM,kBACNC,UAAU,EACVlC,MAAO,kBACPmC,QACE,oEACFC,KAAM,UAER,CACEH,KAAM,kBACNC,UAAU,EACVlC,MAAO,kBACPmC,QACE,mEACFC,KAAM,UAER,CACEH,KAAM,kBACNC,UAAU,EACVlC,MAAO,yCACPmC,QAAS,4CACTC,KAAM,UAER,CACEH,KAAM,iBACNC,UAAU,EACVlC,MAAO,iBACPmC,QACE,6EACFC,KAAM,SACNC,YAAa,yBAEf,CACEJ,KAAM,uBACNC,UAAU,EACVlC,MAAO,uBACPmC,QACE,mFACFC,KAAM,SACNC,YAAa,SAEf,CACEJ,KAAM,yBACNC,UAAU,EACVlC,MAAO,yBACPmC,QAAS,qCACTC,KAAM,MACNC,YAAa,mBAEf,CACEJ,KAAM,wBACNC,UAAU,EACVlC,MAAO,wBACPmC,QAAS,kCACTC,KAAM,SACNC,YAAa,sBAEf,CACEJ,KAAM,sBACNC,UAAU,EACVlC,MAAO,sBACPmC,QAAS,2BACTC,KAAM,SACNC,YAAa,4CAEf,CACEJ,KAAM,uBACNC,UAAU,EACVlC,MAAO,uBACPmC,QAAS,gCACTC,KAAM,MACNC,YAAa,uBAEf,CACEJ,KAAM,UACNC,UAAU,EACVlC,MAAO,UACPmC,QAAS,2CACTC,KAAM,UACNC,YAAa,8BAGjBW,eAAgB,CACd,CACEf,KAAM,WACNC,UAAU,EACVlC,MAAO,WACPoC,KAAM,SACNC,YAAa,kBAEf,CACEJ,KAAM,aACNC,UAAU,EACVlC,MAAO,aACPoC,KAAM,SACNC,YAAa,qBAGjBY,cAAe,CACb,CACEhB,KAAM,WACNC,UAAU,EACVlC,MAAO,WACPoC,KAAM,SACNC,YAAa,kBAEf,CACEJ,KAAM,aACNC,UAAU,EACVlC,MAAO,aACPoC,KAAM,SACNC,YAAa,sBAKNa,EAAoB,SAACC,GAGhC,OAFuBA,EAAWC,QAAO,SAACC,GAAD,MAA2B,KAAhBA,EAAMC,UAK/CC,EAAY,SACvBC,EACAC,EACAC,GAEA,IAAMC,EAAUH,EAAEI,OACZN,EAAQK,EAAQL,MAChBO,EAAUF,EAAQE,QAEpBC,GAAkB,OAAOJ,GAS7B,OARIG,EAEFC,EAASC,KAAKT,GAGdQ,EAAWA,EAASV,QAAO,SAACY,GAAD,OAAaA,IAAYV,KAEtDG,EAAeK,GACRA,I,0BCliBLG,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,iGACD,gBAEJN,EAAQ,EAAUG,G,0BCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,+FACD,QAEJN,EAAQ,EAAUG,G,0BCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,mFACD,YAEJN,EAAQ,EAAUG,G,0BCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,oUACD,eAEJN,EAAQ,EAAUG,G,yBCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,2HACD,iBAEJN,EAAQ,EAAUG,G,0BCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,4OACD,YAEJN,EAAQ,EAAUG,G,yBCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,kHACD,SAEJN,EAAQ,EAAUG,G,0BCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,8UACD,kBAEJN,EAAQ,EAAUG,G,0BCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,iTACD,UAEJN,EAAQ,EAAUG,G,0BCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,sHACD,aAEJN,EAAQ,EAAUG,G,0BCfdL,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,iKACD,UAEJN,EAAQ,EAAUG,G,sBCjBH,SAASI,IAetB,OAdAA,EAAWC,OAAOC,QAAU,SAAUhB,GACpC,IAAK,IAAIiB,EAAI,EAAGA,EAAIC,UAAUxD,OAAQuD,IAAK,CACzC,IAAIE,EAASD,UAAUD,GAEvB,IAAK,IAAIG,KAAOD,EACVJ,OAAOM,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CpB,EAAOoB,GAAOD,EAAOC,IAK3B,OAAOpB,GAGFc,EAASU,MAAMC,KAAMP,W,uDCff,SAASQ,EAA8BP,EAAQQ,GAC5D,GAAc,MAAVR,EAAgB,MAAO,GAC3B,IAEIC,EAAKH,EAFLjB,EAAS,GACT4B,EAAab,OAAOc,KAAKV,GAG7B,IAAKF,EAAI,EAAGA,EAAIW,EAAWlE,OAAQuD,IACjCG,EAAMQ,EAAWX,GACbU,EAASG,QAAQV,IAAQ,IAC7BpB,EAAOoB,GAAOD,EAAOC,IAGvB,OAAOpB,E","sources":["common/HelpBox.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/utils.tsx","../node_modules/@mui/icons-material/CallToAction.js","../node_modules/@mui/icons-material/Code.js","../node_modules/@mui/icons-material/Compress.js","../node_modules/@mui/icons-material/FindReplace.js","../node_modules/@mui/icons-material/LocalHospital.js","../node_modules/@mui/icons-material/LockOpen.js","../node_modules/@mui/icons-material/Login.js","../node_modules/@mui/icons-material/PendingActions.js","../node_modules/@mui/icons-material/Public.js","../node_modules/@mui/icons-material/SdStorage.js","../node_modules/@mui/icons-material/VpnKey.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport PublicIcon from \"@mui/icons-material/Public\";\nimport SdStorageIcon from \"@mui/icons-material/SdStorage\";\nimport CompressIcon from \"@mui/icons-material/Compress\";\nimport CodeIcon from \"@mui/icons-material/Code\";\nimport LocalHospitalIcon from \"@mui/icons-material/LocalHospital\";\nimport FindReplaceIcon from \"@mui/icons-material/FindReplace\";\nimport VpnKeyIcon from \"@mui/icons-material/VpnKey\";\nimport LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport { IElement, IElementValue } from \"./types\";\n\nexport const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"region\",\n configuration_label: \"Region\",\n },\n {\n icon: ,\n configuration_id: \"cache\",\n configuration_label: \"Cache\",\n },\n {\n icon: ,\n configuration_id: \"compression\",\n configuration_label: \"Compression\",\n },\n {\n icon: ,\n configuration_id: \"api\",\n configuration_label: \"API\",\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n },\n {\n icon: ,\n configuration_id: \"scanner\",\n configuration_label: \"Scanner\",\n },\n {\n icon: ,\n configuration_id: \"etcd\",\n configuration_label: \"Etcd\",\n },\n {\n icon: ,\n configuration_id: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\n },\n {\n icon: ,\n configuration_id: \"logger_webhook\",\n configuration_label: \"Logger Webhook\",\n },\n {\n icon: ,\n configuration_id: \"audit_webhook\",\n configuration_label: \"Audit Webhook\",\n },\n];\n\nexport const fieldsConfigurations: any = {\n region: [\n {\n name: \"name\",\n required: true,\n label: \"Server Location\",\n tooltip: 'Name of the location of the server e.g. \"us-west-rack2\"',\n type: \"string\",\n placeholder: \"e.g. us-west-rack-2\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n compression: [\n {\n name: \"extensions\",\n required: false,\n label: \"Extensions\",\n tooltip:\n 'Extensions to compress e.g. \".txt\",\".log\" or \".csv\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter an Extension\",\n withBorder: true,\n },\n {\n name: \"mime_types\",\n required: false,\n label: \"Mime Types\",\n tooltip:\n 'Mime types e.g. \"text/*\",\"application/json\" or \"application/xml\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter a Mime Type\",\n withBorder: true,\n },\n ],\n api: [\n {\n name: \"requests_max\",\n required: false,\n label: \"Requests Max\",\n tooltip: \"Maximum number of concurrent requests, e.g. '1600'\",\n type: \"number\",\n placeholder: \"Enter Requests Max\",\n },\n {\n name: \"cors_allow_origin\",\n required: false,\n label: \"Cors Allow Origin\",\n tooltip: \"list of origins allowed for CORS requests\",\n type: \"csv\",\n placeholder: \"Enter allowed origin e.g. https://example.com\",\n },\n {\n name: \"replication_workers\",\n required: false,\n label: \"Replication Workers\",\n tooltip: \"Number of replication workers, defaults to 100\",\n type: \"number\",\n placeholder: \"Enter Replication Workers\",\n },\n {\n name: \"replication_failed_workers\",\n required: false,\n label: \"Replication Failed Workers\",\n tooltip:\n \"Number of replication workers for recently failed replicas, defaults to 4\",\n type: \"number\",\n placeholder: \"Enter Replication Failed Workers\",\n },\n ],\n heal: [\n {\n name: \"bitrotscan\",\n required: false,\n label: \"Bitrot Scan\",\n tooltip:\n \"Perform bitrot scan on disks when checking objects during scanner\",\n type: \"on|off\",\n },\n {\n name: \"max_sleep\",\n required: false,\n label: \"Max Sleep\",\n tooltip:\n \"Maximum sleep duration between objects to slow down heal operation. eg. 2s\",\n type: \"duration\",\n placeholder: \"Enter Max Sleep duration\",\n },\n {\n name: \"max_io\",\n required: false,\n label: \"Max IO\",\n tooltip:\n \"Maximum IO requests allowed between objects to slow down heal operation. eg. 3\",\n type: \"number\",\n placeholder: \"Enter Max IO\",\n },\n ],\n scanner: [\n {\n name: \"delay\",\n required: false,\n label: \"Delay multiplier\",\n tooltip: \"Scanner delay multiplier, defaults to '10.0'\",\n type: \"number\",\n placeholder: \"Enter Delay\",\n },\n {\n name: \"max_wait\",\n required: false,\n label: \"Max Wait\",\n tooltip: \"Maximum wait time between operations, defaults to '15s'\",\n type: \"duration\",\n placeholder: \"Enter Max Wait\",\n },\n {\n name: \"cycle\",\n required: false,\n label: \"Cycle\",\n tooltip: \"Time duration between scanner cycles, defaults to '1m'\",\n type: \"duration\",\n placeholder: \"Enter Cycle\",\n },\n ],\n etcd: [\n {\n name: \"endpoints\",\n required: true,\n label: \"Endpoints\",\n tooltip:\n 'List of etcd endpoints e.g. \"http://localhost:2379\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"path_prefix\",\n required: false,\n label: \"Path Prefix\",\n tooltip: 'namespace prefix to isolate tenants e.g. \"customer1/\"',\n type: \"string\",\n placeholder: \"Enter Path Prefix\",\n },\n {\n name: \"coredns_path\",\n required: false,\n label: \"Coredns Path\",\n tooltip: 'Shared bucket DNS records, default is \"/skydns\"',\n type: \"string\",\n placeholder: \"Enter Coredns Path\",\n },\n {\n name: \"client_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_cert_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"myldapserver.com:636\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"server_starttls\",\n required: false,\n label: \"Start TLS connection to AD/LDAP server\",\n tooltip: \"Use StartTLS connection to AD/LDAP server\",\n type: \"on|off\",\n },\n {\n name: \"lookup_bind_dn\",\n required: true,\n label: \"Lookup Bind DN\",\n tooltip:\n \"DN for LDAP read-only service account used to perform DN and group lookups\",\n type: \"string\",\n placeholder: \"cn=admin,dc=min,dc=io\",\n },\n {\n name: \"lookup_bind_password\",\n required: false,\n label: \"Lookup Bind Password\",\n tooltip:\n \"Password for LDAP read-only service account used to perform DN and group lookups\",\n type: \"string\",\n placeholder: \"admin\",\n },\n {\n name: \"user_dn_search_base_dn\",\n required: false,\n label: \"User DN Search Base DN\",\n tooltip: \"Base LDAP DN to search for user DN\",\n type: \"csv\",\n placeholder: \"dc=myldapserver\",\n },\n {\n name: \"user_dn_search_filter\",\n required: false,\n label: \"User DN Search Filter\",\n tooltip: \"Search filter to lookup user DN\",\n type: \"string\",\n placeholder: \"(sAMAcountName=%s)\",\n },\n {\n name: \"group_search_filter\",\n required: false,\n label: \"Group Search Filter\",\n tooltip: \"Search filter for groups\",\n type: \"string\",\n placeholder: \"(&(objectclass=groupOfNames)(member=%d))\",\n },\n {\n name: \"group_search_base_dn\",\n required: false,\n label: \"Group Search Base DN\",\n tooltip: \"list of group search base DNs\",\n type: \"csv\",\n placeholder: \"dc=minioad,dc=local\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n logger_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n};\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const selectSAs = (\n e: React.ChangeEvent,\n setSelectedSAs: Function,\n selectedSAs: string[]\n) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedSAs]; // We clone the selectedSAs array\n if (checked) {\n // If the user has checked this field we need to push this to selectedSAs\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedSAs(elements);\n return elements;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z\"\n}), 'CallToAction');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z\"\n}), 'Code');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z\"\n}), 'Compress');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z\"\n}), 'FindReplace');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z\"\n}), 'LocalHospital');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z\"\n}), 'LockOpen');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z\"\n}), 'Login');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"\n}), 'PendingActions');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"\n}), 'Public');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z\"\n}), 'SdStorage');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","color","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","includes","Fragment","direction","sm","md","sx","variant","length","component","onClick","id","size","configurationElements","icon","configuration_id","configuration_label","fieldsConfigurations","region","name","required","tooltip","type","placeholder","cache","multiline","compression","withBorder","api","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","value","selectSAs","e","setSelectedSAs","selectedSAs","targetD","target","checked","elements","push","element","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_extends","Object","assign","i","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1116.3ac451e2.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/utils.tsx","../node_modules/@mui/icons-material/CallToAction.js","../node_modules/@mui/icons-material/Code.js","../node_modules/@mui/icons-material/Compress.js","../node_modules/@mui/icons-material/FindReplace.js","../node_modules/@mui/icons-material/LocalHospital.js","../node_modules/@mui/icons-material/LockOpen.js","../node_modules/@mui/icons-material/Login.js","../node_modules/@mui/icons-material/PendingActions.js","../node_modules/@mui/icons-material/Public.js","../node_modules/@mui/icons-material/SdStorage.js","../node_modules/@mui/icons-material/VpnKey.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
\n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

(\n WrappedComponent: ComponentType

,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport PublicIcon from \"@mui/icons-material/Public\";\nimport SdStorageIcon from \"@mui/icons-material/SdStorage\";\nimport CompressIcon from \"@mui/icons-material/Compress\";\nimport CodeIcon from \"@mui/icons-material/Code\";\nimport LocalHospitalIcon from \"@mui/icons-material/LocalHospital\";\nimport FindReplaceIcon from \"@mui/icons-material/FindReplace\";\nimport VpnKeyIcon from \"@mui/icons-material/VpnKey\";\nimport LockOpenIcon from \"@mui/icons-material/LockOpen\";\nimport LoginIcon from \"@mui/icons-material/Login\";\nimport PendingActionsIcon from \"@mui/icons-material/PendingActions\";\nimport CallToActionIcon from \"@mui/icons-material/CallToAction\";\nimport { IElement, IElementValue } from \"./types\";\n\nexport const configurationElements: IElement[] = [\n {\n icon: ,\n configuration_id: \"region\",\n configuration_label: \"Region\",\n },\n {\n icon: ,\n configuration_id: \"cache\",\n configuration_label: \"Cache\",\n },\n {\n icon: ,\n configuration_id: \"compression\",\n configuration_label: \"Compression\",\n },\n {\n icon: ,\n configuration_id: \"api\",\n configuration_label: \"API\",\n },\n {\n icon: ,\n configuration_id: \"heal\",\n configuration_label: \"Heal\",\n },\n {\n icon: ,\n configuration_id: \"scanner\",\n configuration_label: \"Scanner\",\n },\n {\n icon: ,\n configuration_id: \"etcd\",\n configuration_label: \"Etcd\",\n },\n {\n icon: ,\n configuration_id: \"identity_openid\",\n configuration_label: \"Identity Openid\",\n },\n {\n icon: ,\n configuration_id: \"identity_ldap\",\n configuration_label: \"Identity LDAP\",\n },\n {\n icon: ,\n configuration_id: \"logger_webhook\",\n configuration_label: \"Logger Webhook\",\n },\n {\n icon: ,\n configuration_id: \"audit_webhook\",\n configuration_label: \"Audit Webhook\",\n },\n];\n\nexport const fieldsConfigurations: any = {\n region: [\n {\n name: \"name\",\n required: true,\n label: \"Server Location\",\n tooltip: 'Name of the location of the server e.g. \"us-west-rack2\"',\n type: \"string\",\n placeholder: \"e.g. us-west-rack-2\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n cache: [\n {\n name: \"drives\",\n required: true,\n label: \"Drives\",\n tooltip:\n 'Mountpoints e.g. \"/optane1\" or \"/optane2\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Mount Point\",\n },\n {\n name: \"expiry\",\n required: false,\n label: \"Expiry\",\n tooltip: 'Cache expiry duration in days e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter Number of Days\",\n },\n {\n name: \"quota\",\n required: false,\n label: \"Quota\",\n tooltip: 'Limit cache drive usage in percentage e.g. \"90\"',\n type: \"number\",\n placeholder: \"Enter in %\",\n },\n {\n name: \"exclude\",\n required: false,\n label: \"Exclude\",\n tooltip:\n 'Wildcard exclusion patterns e.g. \"bucket/*.tmp\" or \"*.exe\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Wildcard Exclusion Patterns\",\n },\n {\n name: \"after\",\n required: false,\n label: \"After\",\n tooltip: \"Minimum number of access before caching an object\",\n type: \"number\",\n placeholder: \"Enter Number of Attempts\",\n },\n {\n name: \"watermark_low\",\n required: false,\n label: \"Watermark Low\",\n tooltip: \"Watermark Low\",\n type: \"number\",\n placeholder: \"Enter Watermark Low\",\n },\n {\n name: \"watermark_high\",\n required: false,\n label: \"Watermark High\",\n tooltip: \"Watermark High\",\n type: \"number\",\n placeholder: \"Enter Watermark High\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n compression: [\n {\n name: \"extensions\",\n required: false,\n label: \"Extensions\",\n tooltip:\n 'Extensions to compress e.g. \".txt\",\".log\" or \".csv\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter an Extension\",\n withBorder: true,\n },\n {\n name: \"mime_types\",\n required: false,\n label: \"Mime Types\",\n tooltip:\n 'Mime types e.g. \"text/*\",\"application/json\" or \"application/xml\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter a Mime Type\",\n withBorder: true,\n },\n ],\n api: [\n {\n name: \"requests_max\",\n required: false,\n label: \"Requests Max\",\n tooltip: \"Maximum number of concurrent requests, e.g. '1600'\",\n type: \"number\",\n placeholder: \"Enter Requests Max\",\n },\n {\n name: \"cors_allow_origin\",\n required: false,\n label: \"Cors Allow Origin\",\n tooltip: \"list of origins allowed for CORS requests\",\n type: \"csv\",\n placeholder: \"Enter allowed origin e.g. https://example.com\",\n },\n {\n name: \"replication_workers\",\n required: false,\n label: \"Replication Workers\",\n tooltip: \"Number of replication workers, defaults to 100\",\n type: \"number\",\n placeholder: \"Enter Replication Workers\",\n },\n {\n name: \"replication_failed_workers\",\n required: false,\n label: \"Replication Failed Workers\",\n tooltip:\n \"Number of replication workers for recently failed replicas, defaults to 4\",\n type: \"number\",\n placeholder: \"Enter Replication Failed Workers\",\n },\n ],\n heal: [\n {\n name: \"bitrotscan\",\n required: false,\n label: \"Bitrot Scan\",\n tooltip:\n \"Perform bitrot scan on disks when checking objects during scanner\",\n type: \"on|off\",\n },\n {\n name: \"max_sleep\",\n required: false,\n label: \"Max Sleep\",\n tooltip:\n \"Maximum sleep duration between objects to slow down heal operation. eg. 2s\",\n type: \"duration\",\n placeholder: \"Enter Max Sleep duration\",\n },\n {\n name: \"max_io\",\n required: false,\n label: \"Max IO\",\n tooltip:\n \"Maximum IO requests allowed between objects to slow down heal operation. eg. 3\",\n type: \"number\",\n placeholder: \"Enter Max IO\",\n },\n ],\n scanner: [\n {\n name: \"delay\",\n required: false,\n label: \"Delay multiplier\",\n tooltip: \"Scanner delay multiplier, defaults to '10.0'\",\n type: \"number\",\n placeholder: \"Enter Delay\",\n },\n {\n name: \"max_wait\",\n required: false,\n label: \"Max Wait\",\n tooltip: \"Maximum wait time between operations, defaults to '15s'\",\n type: \"duration\",\n placeholder: \"Enter Max Wait\",\n },\n {\n name: \"cycle\",\n required: false,\n label: \"Cycle\",\n tooltip: \"Time duration between scanner cycles, defaults to '1m'\",\n type: \"duration\",\n placeholder: \"Enter Cycle\",\n },\n ],\n etcd: [\n {\n name: \"endpoints\",\n required: true,\n label: \"Endpoints\",\n tooltip:\n 'List of etcd endpoints e.g. \"http://localhost:2379\", you can write one per field',\n type: \"csv\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"path_prefix\",\n required: false,\n label: \"Path Prefix\",\n tooltip: 'namespace prefix to isolate tenants e.g. \"customer1/\"',\n type: \"string\",\n placeholder: \"Enter Path Prefix\",\n },\n {\n name: \"coredns_path\",\n required: false,\n label: \"Coredns Path\",\n tooltip: 'Shared bucket DNS records, default is \"/skydns\"',\n type: \"string\",\n placeholder: \"Enter Coredns Path\",\n },\n {\n name: \"client_cert\",\n required: false,\n label: \"Client Cert\",\n tooltip: \"Client cert for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_cert_key\",\n required: false,\n label: \"Client Cert Key\",\n tooltip: \"Client cert key for mTLS authentication\",\n type: \"string\",\n placeholder: \"Enter Client Cert Key\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"You can add a comment to this setting\",\n type: \"comment\",\n multiline: true,\n placeholder: \"Enter custom notes if any\",\n },\n ],\n identity_openid: [\n {\n name: \"config_url\",\n required: false,\n label: \"Config URL\",\n tooltip: \"Config URL for identity provider configuration\",\n type: \"string\",\n placeholder:\n \"https://identity-provider-url/.well-known/openid-configuration\",\n },\n {\n name: \"client_id\",\n required: false,\n label: \"Client ID\",\n type: \"string\",\n placeholder: \"Enter Client ID\",\n },\n {\n name: \"client_secret\",\n required: false,\n label: \"Secret ID\",\n type: \"string\",\n placeholder: \"Enter Secret ID\",\n },\n {\n name: \"claim_name\",\n required: false,\n label: \"Claim Name\",\n tooltip: \"Claim from which MinIO will read the policy or role to use\",\n type: \"string\",\n placeholder: \"Enter Claim Name\",\n },\n {\n name: \"claim_prefix\",\n required: false,\n label: \"Claim Prefix\",\n tooltip: \"Claim Prefix\",\n type: \"string\",\n placeholder: \"Enter Claim Prefix\",\n },\n {\n name: \"claim_userinfo\",\n required: false,\n label: \"Claim UserInfo\",\n type: \"on|off\",\n },\n {\n name: \"redirect_uri\",\n required: false,\n label: \"Redirect URI\",\n type: \"string\",\n placeholder: \"https://console-endpoint-url/oauth_callback\",\n },\n {\n name: \"scopes\",\n required: false,\n label: \"Scopes\",\n type: \"string\",\n placeholder: \"openid,profile,email\",\n },\n ],\n identity_ldap: [\n {\n name: \"server_addr\",\n required: true,\n label: \"Server Addr\",\n tooltip: 'AD/LDAP server address e.g. \"myldapserver.com:636\"',\n type: \"string\",\n placeholder: \"myldapserver.com:636\",\n },\n {\n name: \"tls_skip_verify\",\n required: false,\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"off\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"server_insecure\",\n required: false,\n label: \"Server Insecure\",\n tooltip:\n 'Allow plain text connection to AD/LDAP server, defaults to \"off\"',\n type: \"on|off\",\n },\n {\n name: \"server_starttls\",\n required: false,\n label: \"Start TLS connection to AD/LDAP server\",\n tooltip: \"Use StartTLS connection to AD/LDAP server\",\n type: \"on|off\",\n },\n {\n name: \"lookup_bind_dn\",\n required: true,\n label: \"Lookup Bind DN\",\n tooltip:\n \"DN for LDAP read-only service account used to perform DN and group lookups\",\n type: \"string\",\n placeholder: \"cn=admin,dc=min,dc=io\",\n },\n {\n name: \"lookup_bind_password\",\n required: false,\n label: \"Lookup Bind Password\",\n tooltip:\n \"Password for LDAP read-only service account used to perform DN and group lookups\",\n type: \"string\",\n placeholder: \"admin\",\n },\n {\n name: \"user_dn_search_base_dn\",\n required: false,\n label: \"User DN Search Base DN\",\n tooltip: \"Base LDAP DN to search for user DN\",\n type: \"csv\",\n placeholder: \"dc=myldapserver\",\n },\n {\n name: \"user_dn_search_filter\",\n required: false,\n label: \"User DN Search Filter\",\n tooltip: \"Search filter to lookup user DN\",\n type: \"string\",\n placeholder: \"(sAMAcountName=%s)\",\n },\n {\n name: \"group_search_filter\",\n required: false,\n label: \"Group Search Filter\",\n tooltip: \"Search filter for groups\",\n type: \"string\",\n placeholder: \"(&(objectclass=groupOfNames)(member=%d))\",\n },\n {\n name: \"group_search_base_dn\",\n required: false,\n label: \"Group Search Base DN\",\n tooltip: \"list of group search base DNs\",\n type: \"csv\",\n placeholder: \"dc=minioad,dc=local\",\n },\n {\n name: \"comment\",\n required: false,\n label: \"Comment\",\n tooltip: \"Optionally add a comment to this setting\",\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n ],\n logger_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n audit_webhook: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n type: \"string\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n required: true,\n label: \"Auth Token\",\n type: \"string\",\n placeholder: \"Enter Auth Token\",\n },\n ],\n};\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const selectSAs = (\n e: React.ChangeEvent,\n setSelectedSAs: Function,\n selectedSAs: string[]\n) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedSAs]; // We clone the selectedSAs array\n if (checked) {\n // If the user has checked this field we need to push this to selectedSAs\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedSAs(elements);\n return elements;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M21 3H3c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H3v-3h18v3z\"\n}), 'CallToAction');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z\"\n}), 'Code');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M8 19h3v3h2v-3h3l-4-4-4 4zm8-15h-3V1h-2v3H8l4 4 4-4zM4 9v2h16V9H4zm0 3h16v2H4z\"\n}), 'Compress');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 6c1.38 0 2.63.56 3.54 1.46L12 10h6V4l-2.05 2.05C14.68 4.78 12.93 4 11 4c-3.53 0-6.43 2.61-6.92 6H6.1c.46-2.28 2.48-4 4.9-4zm5.64 9.14c.66-.9 1.12-1.97 1.28-3.14H15.9c-.46 2.28-2.48 4-4.9 4-1.38 0-2.63-.56-3.54-1.46L10 12H4v6l2.05-2.05C7.32 17.22 9.07 18 11 18c1.55 0 2.98-.51 4.14-1.36L20 21.49 21.49 20l-4.85-4.86z\"\n}), 'FindReplace');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 3H5c-1.1 0-1.99.9-1.99 2L3 19c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 11h-4v4h-4v-4H6v-4h4V6h4v4h4v4z\"\n}), 'LocalHospital');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 17c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm6-9h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6h1.9c0-1.71 1.39-3.1 3.1-3.1 1.71 0 3.1 1.39 3.1 3.1v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2zm0 12H6V10h12v10z\"\n}), 'LockOpen');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M11 7 9.6 8.4l2.6 2.6H2v2h10.2l-2.6 2.6L11 17l5-5-5-5zm9 12h-8v2h8c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-8v2h8v14z\"\n}), 'Login');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M17 12c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm1.65 7.35L16.5 17.2V14h1v2.79l1.85 1.85-.7.71zM18 3h-3.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H6c-1.1 0-2 .9-2 2v15c0 1.1.9 2 2 2h6.11c-.59-.57-1.07-1.25-1.42-2H6V5h2v3h8V5h2v5.08c.71.1 1.38.31 2 .6V5c0-1.1-.9-2-2-2zm-6 2c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z\"\n}), 'PendingActions');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-1 17.93c-3.95-.49-7-3.85-7-7.93 0-.62.08-1.21.21-1.79L9 15v1c0 1.1.9 2 2 2v1.93zm6.9-2.54c-.26-.81-1-1.39-1.9-1.39h-1v-3c0-.55-.45-1-1-1H8v-2h2c.55 0 1-.45 1-1V7h2c1.1 0 2-.9 2-2v-.41c2.93 1.19 5 4.06 5 7.41 0 2.08-.8 3.97-2.1 5.39z\"\n}), 'Public');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M18 2h-8L4.02 8 4 20c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-6 6h-2V4h2v4zm3 0h-2V4h2v4zm3 0h-2V4h2v4z\"\n}), 'SdStorage');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z\"\n}), 'VpnKey');\n\nexports.default = _default;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","color","marginLeft","marginTop","rightMenu","textAlign","logo","fill","palette","primary","main","middleComponent","actions","includes","Fragment","direction","sm","md","sx","variant","length","component","onClick","id","size","configurationElements","icon","configuration_id","configuration_label","fieldsConfigurations","region","name","required","tooltip","type","placeholder","cache","multiline","compression","withBorder","api","heal","scanner","etcd","identity_openid","identity_ldap","logger_webhook","audit_webhook","removeEmptyFields","formFields","filter","field","value","selectSAs","e","setSelectedSAs","selectedSAs","targetD","target","checked","elements","push","element","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_extends","Object","assign","i","arguments","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1140.ab5579e6.chunk.js b/portal-ui/build/static/js/1140.ab5579e6.chunk.js deleted file mode 100644 index 3207bb767..000000000 --- a/portal-ui/build/static/js/1140.ab5579e6.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1140],{39080:function(e,n,t){t.r(n),t.d(n,{default:function(){return w}});var i=t(18489),r=t(50390),a=t(38342),s=t.n(a),l=t(86509),o=t(4285),c=t(66946),d=t(51002),u=t(25594),m=t(58217),h=t(65771),p=t(70758),x=t(33034),y=t.n(x),g=t(86362),f=t(72462),v=t(62559),j=(0,o.Z)((function(e){return(0,l.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,i.Z)((0,i.Z)({},f.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var n=e.label,t=void 0===n?"":n,i=e.value,r=void 0===i?"":i,a=e.classes,s=void 0===a?{}:a;return(0,v.jsxs)("div",{className:s.container,children:[(0,v.jsxs)("div",{className:s.inputLabel,children:[t,":"]}),(0,v.jsx)("div",{className:s.inputWithCopy,children:(0,v.jsx)(m.Z,{value:r,readOnly:!0,endAdornment:(0,v.jsx)(h.Z,{position:"end",children:(0,v.jsx)(y(),{text:r,children:(0,v.jsx)(p.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,v.jsx)(g.TI,{})})})})})})]})})),b=t(47424),w=(0,o.Z)((function(e){return(0,l.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var n=e.classes,t=e.newServiceAccount,a=e.open,l=e.closeModal,o=e.entity;if(!t)return null;var m=s()(t,"console",null),h=s()(t,"idp",!1);return(0,v.jsx)(d.Z,{modalOpen:a,onClose:function(){l()},title:(0,v.jsx)("div",{className:n.promptTitle,children:(0,v.jsxs)("div",{children:["New ",o," Created"]})}),titleIcon:(0,v.jsx)(g.tV,{}),children:(0,v.jsxs)(u.ZP,{container:!0,children:[(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:n.formScrollable,children:["A new ",o," has been created with the following details:",!h&&m&&(0,v.jsx)(r.Fragment,{children:(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:n.credentialsPanel,children:[(0,v.jsx)("div",{className:n.credentialTitle,children:"Console Credentials"}),Array.isArray(m)&&m.map((function(e,n){return(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(j,{label:"Access Key",value:e.accessKey}),(0,v.jsx)(j,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(m)&&(0,v.jsxs)(v.Fragment,{children:[(0,v.jsx)(j,{label:"Access Key",value:m.accessKey}),(0,v.jsx)(j,{label:"Secret Key",value:m.secretKey})]})]})}),h?(0,v.jsx)("div",{className:n.warningBlock,children:"Please Login via the configured external identity provider."}):(0,v.jsxs)("div",{className:n.warningBlock,children:[(0,v.jsx)(b.Z,{}),(0,v.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,v.jsxs)(u.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[(0,v.jsx)(c.Z,{id:"done-button",variant:"outlined",className:n.buttonSpacer,onClick:function(){l()},color:"primary",children:"Done"}),!h&&(0,v.jsx)(c.Z,{id:"download-button",onClick:function(){var e={};m&&(e=Array.isArray(m)?m.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:m.url,accessKey:m.accessKey,secretKey:m.secretKey,api:"s3v4",path:"auto"});!function(e,n){var t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(n)),t.setAttribute("download",e),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)}("credentials.json",JSON.stringify((0,i.Z)({},e)))},endIcon:(0,v.jsx)(g._8,{}),variant:"contained",color:"primary",children:"Download"})]})]})})}))}}]); -//# sourceMappingURL=1140.ab5579e6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1140.ab5579e6.chunk.js.map b/portal-ui/build/static/js/1140.ab5579e6.chunk.js.map deleted file mode 100644 index 775f4f5e8..000000000 --- a/portal-ui/build/static/js/1140.ab5579e6.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1140.ab5579e6.chunk.js","mappings":"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","sources":["screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n
{label}:
\n
\n \n \n {}}\n onMouseDown={() => {}}\n edge=\"end\"\n >\n \n \n \n \n }\n />\n
\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport { Button } from \"@mui/material\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Console Credentials\n
\n {Array.isArray(consoleCreds) &&\n consoleCreds.map((credentialsPair, index) => {\n return (\n <>\n \n \n \n );\n })}\n {!Array.isArray(consoleCreds) && (\n <>\n \n \n \n )}\n
\n
\n )}\n {idp ? (\n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n
\n \n {\n closeModal();\n }}\n color=\"primary\"\n >\n Done\n \n\n {!idp && (\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n url: consoleCreds.url,\n accessKey: consoleCreds.accessKey,\n secretKey: consoleCreds.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n url: itemMap.url,\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n });\n consoleExtras = cCreds[0];\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n endIcon={}\n variant=\"contained\"\n color=\"primary\"\n >\n Download\n \n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n"],"names":["withStyles","theme","createStyles","container","display","flexFlow","padding","inputWithCopy","width","background","height","marginRight","inputLabel","fieldBasic","fontSize","label","value","classes","className","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onClick","onMouseDown","edge","warningBlock","color","margin","alignItems","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","Button","id","variant","consoleExtras","itemMap","url","api","path","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","download","JSON","stringify","endIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1140.f3c8431a.chunk.js b/portal-ui/build/static/js/1140.f3c8431a.chunk.js new file mode 100644 index 000000000..ceed1bbff --- /dev/null +++ b/portal-ui/build/static/js/1140.f3c8431a.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1140],{39080:function(e,t,n){n.r(t),n.d(t,{default:function(){return K}});var i=n(18489),r=n(50390),a=n(38342),s=n.n(a),l=n(86509),o=n(4285),c=n(51002),d=n(25594),u=n(58217),m=n(65771),p=n(70758),h=n(33034),y=n.n(h),x=n(14549),f=n(72462),g=n(62559),j=(0,o.Z)((function(e){return(0,l.Z)({container:{display:"flex",flexFlow:"column",padding:"20px 0 8px 0"},inputWithCopy:{"& .MuiInputBase-root ":{width:"100%",background:"#FBFAFA","& .MuiInputBase-input":{height:".8rem"},"& .MuiInputAdornment-positionEnd":{marginRight:".5rem","& .MuiButtonBase-root":{height:"2rem"}}},"& .MuiButtonBase-root .min-icon":{width:".8rem",height:".8rem"}},inputLabel:(0,i.Z)((0,i.Z)({},f.YI.inputLabel),{},{fontSize:".8rem"})})}))((function(e){var t=e.label,n=void 0===t?"":t,i=e.value,r=void 0===i?"":i,a=e.classes,s=void 0===a?{}:a;return(0,g.jsxs)("div",{className:s.container,children:[(0,g.jsxs)("div",{className:s.inputLabel,children:[n,":"]}),(0,g.jsx)("div",{className:s.inputWithCopy,children:(0,g.jsx)(u.Z,{value:r,readOnly:!0,endAdornment:(0,g.jsx)(m.Z,{position:"end",children:(0,g.jsx)(y(),{text:r,children:(0,g.jsx)(p.Z,{"aria-label":"copy",tooltip:"Copy",onClick:function(){},onMouseDown:function(){},edge:"end",children:(0,g.jsx)(x.TI,{})})})})})})]})})),v=n(47424),w=n(53224),b=function(e,t){var n=document.createElement("a");n.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(t)),n.setAttribute("download",e),n.style.display="none",document.body.appendChild(n),n.click(),document.body.removeChild(n)},K=(0,o.Z)((function(e){return(0,l.Z)({warningBlock:{color:"red",fontSize:".85rem",margin:".5rem 0 .5rem 0",display:"flex",alignItems:"center","& svg ":{marginRight:".3rem",height:16,width:16}},credentialTitle:{padding:".8rem 0 0 0",fontWeight:600,fontSize:".9rem"},buttonContainer:{textAlign:"right",marginTop:"1rem"},credentialsPanel:{overflowY:"auto",maxHeight:350},promptTitle:{display:"flex",alignItems:"center"},buttonSpacer:{marginRight:".9rem"},promptIcon:{marginRight:".1rem",display:"flex",alignItems:"center",height:"2rem",width:"2rem"}})}))((function(e){var t=e.classes,n=e.newServiceAccount,a=e.open,l=e.closeModal,o=e.entity;if(!n)return null;var u=s()(n,"console",null),m=s()(n,"idp",!1);return(0,g.jsx)(c.Z,{modalOpen:a,onClose:function(){l()},title:(0,g.jsx)("div",{className:t.promptTitle,children:(0,g.jsxs)("div",{children:["New ",o," Created"]})}),titleIcon:(0,g.jsx)(x.tV,{}),children:(0,g.jsxs)(d.ZP,{container:!0,children:[(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:t.formScrollable,children:["A new ",o," has been created with the following details:",!m&&u&&(0,g.jsx)(r.Fragment,{children:(0,g.jsxs)(d.ZP,{item:!0,xs:12,className:t.credentialsPanel,children:[(0,g.jsx)("div",{className:t.credentialTitle,children:"Console Credentials"}),Array.isArray(u)&&u.map((function(e,t){return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(j,{label:"Access Key",value:e.accessKey}),(0,g.jsx)(j,{label:"Secret Key",value:e.secretKey})]})})),!Array.isArray(u)&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(j,{label:"Access Key",value:u.accessKey}),(0,g.jsx)(j,{label:"Secret Key",value:u.secretKey})]})]})}),m?(0,g.jsx)("div",{className:t.warningBlock,children:"Please Login via the configured external identity provider."}):(0,g.jsxs)("div",{className:t.warningBlock,children:[(0,g.jsx)(v.Z,{}),(0,g.jsx)("span",{children:"Write these down, as this is the only time the secret will be displayed."})]})]}),(0,g.jsx)(d.ZP,{item:!0,xs:12,className:t.buttonContainer,children:!m&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(w.Z,{id:"download-button",tooltip:"Download credentials in a JSON file formatted for import using mc alias import. This will only include the default login credentials.",text:"Download for import",className:t.buttonSpacer,onClick:function(){var e={};u&&(e=Array.isArray(u)?u.map((function(e){return{url:e.url,accessKey:e.accessKey,secretKey:e.secretKey,api:"s3v4",path:"auto"}}))[0]:{url:u.url,accessKey:u.accessKey,secretKey:u.secretKey,api:"s3v4",path:"auto"});b("credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(x._8,{}),variant:"contained",color:"primary"}),Array.isArray(u)&&u.length>1&&(0,g.jsx)(w.Z,{id:"download-all-button",tooltip:"Download all access credentials to a JSON file. NOTE: This file is not formatted for import using mc alias import. If you plan to import this alias from the file, please use the Download for Import button. ",text:"Download all access credentials",className:t.buttonSpacer,onClick:function(){var e={};u&&(e=u.map((function(e){return{accessKey:e.accessKey,secretKey:e.secretKey}})));b("all_credentials.json",JSON.stringify((0,i.Z)({},e)))},icon:(0,g.jsx)(x._8,{}),variant:"contained",color:"primary"})]})})]})})}))}}]); +//# sourceMappingURL=1140.f3c8431a.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1140.f3c8431a.chunk.js.map b/portal-ui/build/static/js/1140.f3c8431a.chunk.js.map new file mode 100644 index 000000000..68bad4eb5 --- /dev/null +++ b/portal-ui/build/static/js/1140.f3c8431a.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1140.f3c8431a.chunk.js","mappings":"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","sources":["screens/Console/Common/CredentialsPrompt/CredentialItem.tsx","screens/Console/Common/CredentialsPrompt/CredentialsPrompt.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { InputAdornment, OutlinedInput } from \"@mui/material\";\nimport BoxIconButton from \"../BoxIconButton/BoxIconButton\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { CopyIcon } from \"../../../../icons\";\nimport { fieldBasic } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n container: {\n display: \"flex\",\n flexFlow: \"column\",\n padding: \"20px 0 8px 0\",\n },\n inputWithCopy: {\n \"& .MuiInputBase-root \": {\n width: \"100%\",\n background: \"#FBFAFA\",\n \"& .MuiInputBase-input\": {\n height: \".8rem\",\n },\n \"& .MuiInputAdornment-positionEnd\": {\n marginRight: \".5rem\",\n \"& .MuiButtonBase-root\": {\n height: \"2rem\",\n },\n },\n },\n \"& .MuiButtonBase-root .min-icon\": {\n width: \".8rem\",\n height: \".8rem\",\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontSize: \".8rem\",\n },\n });\n\nconst CredentialItem = ({\n label = \"\",\n value = \"\",\n classes = {},\n}: {\n label: string;\n value: string;\n classes: any;\n}) => {\n return (\n
\n
{label}:
\n
\n \n \n {}}\n onMouseDown={() => {}}\n edge=\"end\"\n >\n \n \n \n \n }\n />\n
\n
\n );\n};\n\nexport default withStyles(styles)(CredentialItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { NewServiceAccount } from \"./types\";\nimport ModalWrapper from \"../ModalWrapper/ModalWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport CredentialItem from \"./CredentialItem\";\nimport WarnIcon from \"../../../../icons/WarnIcon\";\nimport { DownloadIcon, ServiceAccountCredentialsIcon } from \"../../../../icons\";\n\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n warningBlock: {\n color: \"red\",\n fontSize: \".85rem\",\n margin: \".5rem 0 .5rem 0\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg \": {\n marginRight: \".3rem\",\n height: 16,\n width: 16,\n },\n },\n credentialTitle: {\n padding: \".8rem 0 0 0\",\n fontWeight: 600,\n fontSize: \".9rem\",\n },\n buttonContainer: {\n textAlign: \"right\",\n marginTop: \"1rem\",\n },\n credentialsPanel: {\n overflowY: \"auto\",\n maxHeight: 350,\n },\n promptTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n buttonSpacer: {\n marginRight: \".9rem\",\n },\n promptIcon: {\n marginRight: \".1rem\",\n display: \"flex\",\n alignItems: \"center\",\n height: \"2rem\",\n width: \"2rem\",\n },\n });\n\ninterface ICredentialsPromptProps {\n classes: any;\n newServiceAccount: NewServiceAccount | null;\n open: boolean;\n entity: string;\n closeModal: () => void;\n}\n\nconst download = (filename: string, text: string) => {\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + encodeURIComponent(text)\n );\n element.setAttribute(\"download\", filename);\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n document.body.removeChild(element);\n};\n\nconst CredentialsPrompt = ({\n classes,\n newServiceAccount,\n open,\n closeModal,\n entity,\n}: ICredentialsPromptProps) => {\n if (!newServiceAccount) {\n return null;\n }\n const consoleCreds = get(newServiceAccount, \"console\", null);\n const idp = get(newServiceAccount, \"idp\", false);\n\n return (\n {\n closeModal();\n }}\n title={\n
\n
New {entity} Created
\n
\n }\n titleIcon={}\n >\n \n \n A new {entity} has been created with the following details:\n {!idp && consoleCreds && (\n \n \n
\n Console Credentials\n
\n {Array.isArray(consoleCreds) &&\n consoleCreds.map((credentialsPair, index) => {\n return (\n <>\n \n \n \n );\n })}\n {!Array.isArray(consoleCreds) && (\n <>\n \n \n \n )}\n
\n
\n )}\n {idp ? (\n
\n Please Login via the configured external identity provider.\n
\n ) : (\n
\n \n \n Write these down, as this is the only time the secret will be\n displayed.\n \n
\n )}\n
\n \n {!idp && (\n <>\n {\n let consoleExtras = {};\n\n if (consoleCreds) {\n if (!Array.isArray(consoleCreds)) {\n consoleExtras = {\n url: consoleCreds.url,\n accessKey: consoleCreds.accessKey,\n secretKey: consoleCreds.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n } else {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n url: itemMap.url,\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n api: \"s3v4\",\n path: \"auto\",\n };\n });\n consoleExtras = cCreds[0];\n }\n }\n\n download(\n \"credentials.json\",\n JSON.stringify({\n ...consoleExtras,\n })\n );\n }}\n icon={}\n variant=\"contained\"\n color=\"primary\"\n />\n \n\n { (Array.isArray(consoleCreds)) && consoleCreds.length > 1 &&\n {\n let allCredentials = {};\n if (consoleCreds) {\n const cCreds = consoleCreds.map((itemMap) => {\n return {\n accessKey: itemMap.accessKey,\n secretKey: itemMap.secretKey,\n };\n });\n allCredentials = cCreds;\n }\n download(\n \"all_credentials.json\",\n JSON.stringify({\n ...allCredentials,\n })\n );\n }}\n icon={}\n variant=\"contained\"\n color=\"primary\" \n />\n \n}\n )}\n \n
\n \n );\n};\n\nexport default withStyles(styles)(CredentialsPrompt);\n"],"names":["withStyles","theme","createStyles","container","display","flexFlow","padding","inputWithCopy","width","background","height","marginRight","inputLabel","fieldBasic","fontSize","label","value","classes","className","OutlinedInput","readOnly","endAdornment","InputAdornment","position","text","BoxIconButton","tooltip","onClick","onMouseDown","edge","download","filename","element","document","createElement","setAttribute","encodeURIComponent","style","body","appendChild","click","removeChild","warningBlock","color","margin","alignItems","credentialTitle","fontWeight","buttonContainer","textAlign","marginTop","credentialsPanel","overflowY","maxHeight","promptTitle","buttonSpacer","promptIcon","newServiceAccount","open","closeModal","entity","consoleCreds","get","idp","ModalWrapper","modalOpen","onClose","title","titleIcon","Grid","item","xs","formScrollable","Array","isArray","map","credentialsPair","index","accessKey","secretKey","WarnIcon","RBIconButton","id","consoleExtras","itemMap","url","api","path","JSON","stringify","icon","variant","length","allCredentials"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1296.566439b0.chunk.js b/portal-ui/build/static/js/1296.566439b0.chunk.js new file mode 100644 index 000000000..4dd412273 --- /dev/null +++ b/portal-ui/build/static/js/1296.566439b0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1296],{53224:function(e,n,i){var t=i(18489),o=i(83738),a=(i(50390),i(70758)),r=i(62449),l=i(62559),s=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var i=n.variant,t=n.color,o=e.palette.primary.main;return"primary"===t&&"contained"===i?o=e.palette.primary.contrastText:"primary"===t&&"outlined"===i?o=e.palette.primary.main:"secondary"===t&&(o=e.palette.secondary.main),o}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),i=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,x=e.icon,h=void 0===x?null:x,f=(0,o.Z)(e,s);return(0,l.jsxs)(a.Z,(0,t.Z)((0,t.Z)({classes:n,tooltip:m||d,variant:"outlined",onClick:i,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,l.jsx)("span",{children:d})," ",h]}))}},92440:function(e,n,i){var t=i(36222),o=i(18489),a=i(50390),r=i(86509),l=i(4285),s=i(49056),c=i(36554),d=i(94187),u=i(35477),p=i(25594),m=i(72462),x=i(97538),h=i(44977),f=i(62559),v=(0,l.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);n.Z=(0,l.Z)((function(e){return(0,r.Z)((0,o.Z)((0,o.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},m.OR),m.YI))}))((function(e){var n=e.label,i=void 0===n?"":n,r=e.onChange,l=e.value,s=e.id,m=e.name,b=e.checked,Z=void 0!==b&&b,g=e.disabled,j=void 0!==g&&g,C=e.switchOnly,y=void 0!==C&&C,k=e.tooltip,N=void 0===k?"":k,F=e.description,w=void 0===F?"":F,L=e.classes,P=e.indicatorLabels,M=e.extraInputProps,B=void 0===M?{}:M,S=(0,f.jsxs)(a.Fragment,{children:[!y&&(0,f.jsx)("span",{className:(0,h.Z)(L.indicatorLabel,(0,t.Z)({},L.indicatorLabelOn,!Z)),children:P&&P.length>1?P[1]:"OFF"}),(0,f.jsx)(v,{checked:Z,onChange:r,color:"primary",name:m,inputProps:(0,o.Z)({"aria-label":"primary checkbox"},B),disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:l,id:s}),!y&&(0,f.jsx)("span",{className:(0,h.Z)(L.indicatorLabel,(0,t.Z)({},L.indicatorLabelOn,Z)),children:P?P[0]:"ON"})]});return y?S:(0,f.jsx)("div",{className:L.divContainer,children:(0,f.jsxs)(p.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(p.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(p.ZP,{container:!0,children:[(0,f.jsx)(p.ZP,{item:!0,xs:12,sm:""!==w?4:10,md:""!==w?3:9,children:""!==i&&(0,f.jsxs)(c.Z,{htmlFor:s,className:L.inputLabel,children:[(0,f.jsx)("span",{children:i}),""!==N&&(0,f.jsx)("div",{className:L.tooltipContainer,children:(0,f.jsx)(d.Z,{title:N,placement:"top-start",children:(0,f.jsx)("div",{className:L.tooltip,children:(0,f.jsx)(x.Z,{})})})})]})}),(0,f.jsx)(p.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==w&&(0,f.jsx)(u.Z,{component:"p",className:L.fieldDescription,children:w})})]})}),(0,f.jsx)(p.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:L.switchContainer,children:S})]})})}))},66964:function(e,n,i){var t=i(18489),o=i(50390),a=i(12066),r=i(25594),l=i(36554),s=i(94187),c=i(95467),d=i(86509),u=i(62449),p=i(4285),m=i(72462),x=i(97538),h=i(44977),f=i(62559),v=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},m.gM))}));function b(e){var n=v();return(0,f.jsx)(a.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,i=e.onChange,a=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,v=e.autoComplete,Z=void 0===v?"off":v,g=e.disabled,j=void 0!==g&&g,C=e.multiline,y=void 0!==C&&C,k=e.tooltip,N=void 0===k?"":k,F=e.index,w=void 0===F?0:F,L=e.error,P=void 0===L?"":L,M=e.required,B=void 0!==M&&M,S=e.placeholder,E=void 0===S?"":S,I=e.min,R=e.max,z=e.overlayId,O=e.overlayIcon,T=void 0===O?null:O,A=e.overlayObject,W=void 0===A?null:A,K=e.extraInputProps,D=void 0===K?{}:K,V=e.overlayAction,$=e.noLabelMinWidth,q=void 0!==$&&$,H=e.pattern,Y=void 0===H?"":H,Q=e.autoFocus,U=void 0!==Q&&Q,_=e.classes,G=e.className,X=void 0===G?"":G,J=e.onKeyPress,ee=(0,t.Z)({"data-index":w},D);return"number"===m&&I&&(ee.min=I),"number"===m&&R&&(ee.max=R),""!==Y&&(ee.pattern=Y),(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(r.ZP,{container:!0,className:(0,h.Z)(""!==X?X:"",""!==P?_.errorInField:_.inputBoxContainer),children:[""!==n&&(0,f.jsxs)(l.Z,{htmlFor:d,className:q?_.noMinWidthLabel:_.inputLabel,children:[(0,f.jsxs)("span",{children:[n,B?"*":""]}),""!==N&&(0,f.jsx)("div",{className:_.tooltipContainer,children:(0,f.jsx)(s.Z,{title:N,placement:"top-start",children:(0,f.jsx)("div",{className:_.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),(0,f.jsxs)("div",{className:_.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:a,autoFocus:U,disabled:j,onChange:i,type:m,multiline:y,autoComplete:Z,inputProps:ee,error:""!==P,helperText:P,placeholder:E,className:_.inputRebase,onKeyPress:J}),T&&(0,f.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:V?function(){V()}:function(){return null},id:z,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:T})}),W&&(0,f.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:W})]})]})})}))},1365:function(e,n,i){var t=i(23430),o=i(50390),a=i(86509),r=i(4285),l=i(26936),s=i(31680),c=i(62559);n.Z=(0,r.Z)((function(e){return(0,a.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var n=e.classes,i=e.id,a=e.unitSelected,r=e.unitsList,d=e.disabled,u=void 0!==d&&d,p=e.onUnitChange,m=o.useState(null),x=(0,t.Z)(m,2),h=x[0],f=x[1],v=Boolean(h),b=function(e){f(null),""!==e&&p&&p(e)};return(0,c.jsxs)(o.Fragment,{children:[(0,c.jsx)("button",{id:"".concat(i,"-button"),"aria-controls":"".concat(i,"-menu"),"aria-haspopup":"true","aria-expanded":v?"true":void 0,onClick:function(e){f(e.currentTarget)},className:n.buttonTrigger,disabled:u,type:"button",children:a}),(0,c.jsx)(l.Z,{id:"".concat(i,"-menu"),"aria-labelledby":"".concat(i,"-button"),anchorEl:h,open:v,onClose:function(){b("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:r.map((function(e){return(0,c.jsx)(s.Z,{onClick:function(){return b(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})}))},60656:function(e,n,i){var t=i(18489),o=i(50390),a=i(84402),r=i(78426),l=i(93085),s=i(7887),c=i(66946),d=i(7521),u=i(95467),p=i(21278),m=i(86509),x=i(4285),h=i(72462),f=i(62559);n.Z=(0,x.Z)((function(e){return(0,m.Z)((0,t.Z)({},h.Qw))}))((function(e){var n=e.isOpen,i=void 0!==n&&n,m=e.onClose,x=e.onCancel,h=e.onConfirm,v=e.classes,b=void 0===v?{}:v,Z=e.title,g=void 0===Z?"":Z,j=e.isLoading,C=e.confirmationContent,y=e.cancelText,k=void 0===y?"Cancel":y,N=e.confirmText,F=void 0===N?"Confirm":N,w=e.confirmButtonProps,L=void 0===w?{}:w,P=e.cancelButtonProps,M=void 0===P?{}:P,B=e.titleIcon,S=void 0===B?null:B;return(0,f.jsxs)(a.Z,{open:i,onClose:function(e,n){"backdropClick"!==n&&m()},className:b.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,f.jsxs)(r.Z,{className:b.title,children:[(0,f.jsxs)("div",{className:b.titleText,children:[S," ",g]}),(0,f.jsx)("div",{className:b.closeContainer,children:(0,f.jsx)(u.Z,{"aria-label":"close",className:b.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,f.jsx)(p.Z,{})})})]}),(0,f.jsx)(l.Z,{className:b.content,children:C}),(0,f.jsxs)(s.Z,{className:b.actions,children:[(0,f.jsx)(c.Z,(0,t.Z)((0,t.Z)({className:b.cancelButton,onClick:x||m,disabled:j,type:"button"},M),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:k})),(0,f.jsx)(d.Z,(0,t.Z)((0,t.Z)({className:b.confirmButton,type:"button",onClick:h,loading:j,disabled:j,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,f.jsx)(o.Fragment,{}),autoFocus:!0,id:"confirm-ok"},L),{},{children:F}))]})]})}))},51002:function(e,n,i){var t=i(23430),o=i(18489),a=i(50390),r=i(34424),l=i(95467),s=i(97771),c=i(84402),d=i(78426),u=i(93085),p=i(86509),m=i(4285),x=i(72462),h=i(44149),f=i(21278),v=i(45980),b=i(62559),Z=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:h.MK});n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},x.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},x.sN))}))(Z((function(e){var n=e.onClose,i=e.modalOpen,r=e.title,p=e.children,m=e.classes,x=e.wideLimit,h=void 0===x||x,Z=e.modalSnackMessage,g=e.noContentPadding,j=e.setModalSnackMessage,C=e.titleIcon,y=void 0===C?null:C,k=(0,a.useState)(!1),N=(0,t.Z)(k,2),F=N[0],w=N[1];(0,a.useEffect)((function(){j("")}),[j]),(0,a.useEffect)((function(){if(Z){if(""===Z.message)return void w(!1);"error"!==Z.type&&w(!0)}}),[Z]);var L=h?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return Z&&(P=Z.detailedErrorMsg,(""===Z.detailedErrorMsg||Z.detailedErrorMsg.length<5)&&(P=Z.message)),(0,b.jsxs)(c.Z,(0,o.Z)((0,o.Z)({open:i,classes:m},L),{},{scroll:"paper",onClose:function(e,i){"backdropClick"!==i&&n()},className:m.root,children:[(0,b.jsxs)(d.Z,{className:m.title,children:[(0,b.jsxs)("div",{className:m.titleText,children:[y," ",r]}),(0,b.jsx)("div",{className:m.closeContainer,children:(0,b.jsx)(l.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,b.jsx)(f.Z,{})})})]}),(0,b.jsx)(v.Z,{isModal:!0}),(0,b.jsx)(s.Z,{open:F,className:m.snackBarModal,onClose:function(){w(!1),j("")},message:P,ContentProps:{className:"".concat(m.snackBar," ").concat(Z&&"error"===Z.type?m.errorSnackBar:"")},autoHideDuration:Z&&"error"===Z.type?1e4:5e3}),(0,b.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))},84201:function(e,n,i){i.d(n,{R:function(){return t}});var t=function(e){var n={};return e.forEach((function(e){if(e.required&&"undefined"!==typeof e.value&&e.value.trim&&""===e.value.trim())n[e.fieldKey]="Field cannot be empty";else if(e.required||"undefined"===typeof e.value||!e.value.trim||""!==e.value.trim())if(e.customValidation&&e.customValidationMessage)n[e.fieldKey]=e.customValidationMessage;else if(e.pattern&&e.customPatternMessage){var i=new RegExp(e.pattern,"g");e.value&&""!==e.value.trim()&&!e.value.match(i)&&"undefined"!==typeof e.value&&(n[e.fieldKey]=e.customPatternMessage)}else;})),n}}}]); +//# sourceMappingURL=1296.566439b0.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1296.566439b0.chunk.js.map b/portal-ui/build/static/js/1296.566439b0.chunk.js.map new file mode 100644 index 000000000..d4be4ace6 --- /dev/null +++ b/portal-ui/build/static/js/1296.566439b0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1296.566439b0.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","utils/validationFunctions.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange?: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\" && onUnitChange) {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n {unitSelected}\n \n {\n handleClose(\"\");\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {unitsList.map((unit) => (\n handleClose(unit.value)}\n key={`itemUnit-${unit.value}-${unit.label}`}\n >\n {unit.label}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface IValidation {\n fieldKey: string;\n required: boolean;\n pattern?: RegExp;\n customPatternMessage?: string;\n customValidation?: boolean; // The validation to trigger the error\n customValidationMessage?: string;\n value: string;\n}\n\nexport const commonFormValidation = (fieldsValidate: IValidation[]) => {\n let returnErrors: any = {};\n\n fieldsValidate.forEach((field) => {\n if (\n field.required &&\n typeof field.value !== \"undefined\" &&\n field.value.trim &&\n field.value.trim() === \"\"\n ) {\n returnErrors[field.fieldKey] = \"Field cannot be empty\";\n return;\n }\n // if it's not required and the value is empty, we are done here\n if (\n !field.required &&\n typeof field.value !== \"undefined\" &&\n field.value.trim &&\n field.value.trim() === \"\"\n ) {\n return;\n }\n\n if (field.customValidation && field.customValidationMessage) {\n returnErrors[field.fieldKey] = field.customValidationMessage;\n return;\n }\n\n if (field.pattern && field.customPatternMessage) {\n const rgx = new RegExp(field.pattern, \"g\");\n\n if (\n field.value &&\n field.value.trim() !== \"\" &&\n !field.value.match(rgx) &&\n typeof field.value !== \"undefined\"\n ) {\n returnErrors[field.fieldKey] = field.customPatternMessage;\n }\n return;\n }\n });\n\n return returnErrors;\n};\n"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","StyledSwitch","withStyles","height","margin","switchBase","transform","common","white","backgroundColor","boxShadow","opacity","thumb","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","alignItems","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fieldDescription","marginTop","actionsTray","fieldBasic","label","onChange","value","id","name","switchOnly","description","indicatorLabels","extraInputProps","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","noLabelMinWidth","pattern","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","buttonTrigger","unitSelected","unitsList","onUnitChange","React","anchorEl","setAnchorEl","open","Boolean","handleClose","newUnit","Fragment","undefined","event","currentTarget","onClose","anchorOrigin","vertical","horizontal","transformOrigin","map","unit","deleteDialogStyles","isOpen","onCancel","onConfirm","isLoading","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","reason","titleText","closeContainer","closeButton","content","actions","cancelButton","confirmButton","loading","loadingPosition","startIcon","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","paddingBottom","customDialogSize","snackBarCommon","modalOpen","children","wideLimit","noContentPadding","useState","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","scroll","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","commonFormValidation","fieldsValidate","returnErrors","forEach","field","trim","fieldKey","customValidation","customValidationMessage","customPatternMessage","rgx","RegExp","match"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1660.1a3b5397.chunk.js b/portal-ui/build/static/js/1660.3421b1d3.chunk.js similarity index 99% rename from portal-ui/build/static/js/1660.1a3b5397.chunk.js rename to portal-ui/build/static/js/1660.3421b1d3.chunk.js index 50fd61837..d0f6d483d 100644 --- a/portal-ui/build/static/js/1660.1a3b5397.chunk.js +++ b/portal-ui/build/static/js/1660.3421b1d3.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1660],{61660:function(e,t,n){n.r(t),n.d(t,{default:function(){return B}});var i,a=n(23430),r=n(18489),o=n(50390),s=n(34424),l=n(65771),c=n(81378),d=n(86509),m=n(62449),h=n(4285),u=n(66946),g=n(12066),p=n(25594);!function(e){e.unknown="unknown",e.form="form",e.redirect="redirect",e.serviceAccount="service-account"}(i||(i={}));var x=n(44149),f=n(30324),v=n(24442),j=n(18221),Z=n(45980),b=n(28948),w=n(86362),S=n(72462),y=n(52971),P=n(62559),N=function(e){return(0,P.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:(0,P.jsx)("path",{id:"Path_7819","data-name":"Path 7819",d:"M9.884,3.523H8.537V2.27A2.417,2.417,0,0,0,6,0,2.417,2.417,0,0,0,3.463,2.27V3.523H2.116A2.019,2.019,0,0,0,0,5.423V9.413a2.012,2.012,0,0,0,2.062,1.9L6,12l3.938-.688A2.012,2.012,0,0,0,12,9.413V5.423a2.019,2.019,0,0,0-2.116-1.9M6.5,7.658v.724a.474.474,0,0,1-.472.474H5.971A.474.474,0,0,1,5.5,8.381V7.658a.9.9,0,0,1-.394-.744h0a.894.894,0,1,1,1.4.744m.985-4.135H4.514V2.27A1.416,1.416,0,0,1,6,.94,1.416,1.416,0,0,1,7.486,2.27Z",fill:"#071d43"})}))},L=function(e){return(0,P.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 9.008 12"},e),{},{children:[(0,P.jsx)("defs",{children:(0,P.jsx)("clipPath",{id:"clip-path",children:(0,P.jsx)("rect",{id:"Rectangle_991","data-name":"Rectangle 991",width:"9.008",height:"12",fill:"#071d43"})})}),(0,P.jsxs)("g",{id:"Group_2365","data-name":"Group 2365",clipPath:"url(#clip-path)",children:[(0,P.jsx)("path",{id:"Path_7088","data-name":"Path 7088",d:"M26.843,6.743a3.4,3.4,0,0,0,3.411-3.372,3.411,3.411,0,0,0-6.822,0,3.4,3.4,0,0,0,3.411,3.372",transform:"translate(-22.334)",fill:"#071d43"}),(0,P.jsx)("path",{id:"Path_7089","data-name":"Path 7089",d:"M8.639,157.057a5.164,5.164,0,0,0-1.957-1.538,5.438,5.438,0,0,0-1.083-.362,5.2,5.2,0,0,0-1.117-.123c-.075,0-.151,0-.225.005H4.231a4.928,4.928,0,0,0-.549.059,5.236,5.236,0,0,0-3.276,1.92c-.029.039-.059.078-.086.116h0a1.723,1.723,0,0,0-.134,1.784,1.583,1.583,0,0,0,.255.356,1.559,1.559,0,0,0,.337.267,1.613,1.613,0,0,0,.4.167,1.742,1.742,0,0,0,.449.058H7.389a1.747,1.747,0,0,0,.452-.058,1.593,1.593,0,0,0,.4-.169,1.524,1.524,0,0,0,.335-.271,1.548,1.548,0,0,0,.251-.361,1.761,1.761,0,0,0-.191-1.85",transform:"translate(0.001 -147.766)",fill:"#071d43"})]})]}))},k=n(50364),A=function(e){return(0,P.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 7.819 7.621"},e),{},{children:(0,P.jsx)("path",{id:"github",d:"M8.543,4.917a4.146,4.146,0,0,1-.038.424,3.8,3.8,0,0,1-.8,1.816,3.982,3.982,0,0,1-.514.542,3.72,3.72,0,0,1-.8.531,4.287,4.287,0,0,1-.471.2.286.286,0,0,1-.149.02.174.174,0,0,1-.153-.163c0-.028,0-.056,0-.084V7.214A1.867,1.867,0,0,0,5.6,6.94a.794.794,0,0,0-.239-.477l.229-.035a2.168,2.168,0,0,0,.821-.291,1.347,1.347,0,0,0,.572-.691,2.291,2.291,0,0,0,.14-.592,2.689,2.689,0,0,0,.01-.488,1.44,1.44,0,0,0-.341-.824L6.747,3.49a.076.076,0,0,1-.007-.013A1.352,1.352,0,0,0,6.7,2.445a.478.478,0,0,0-.317.019,2.726,2.726,0,0,0-.62.289l-.137.086a4.467,4.467,0,0,0-.645-.114,4.047,4.047,0,0,0-.663,0,4.241,4.241,0,0,0-.651.115l-.126-.08a2.786,2.786,0,0,0-.643-.3.5.5,0,0,0-.311-.022,1.364,1.364,0,0,0-.038,1.031l-.154.206a1.392,1.392,0,0,0-.227.6,2.519,2.519,0,0,0,0,.578,2.17,2.17,0,0,0,.178.675,1.356,1.356,0,0,0,.609.65,2.294,2.294,0,0,0,.84.258l.131.02a.874.874,0,0,0-.243.515.793.793,0,0,1-.254.085c-.071.012-.141.014-.212.019a.623.623,0,0,1-.495-.2A1.545,1.545,0,0,1,2.578,6.7c-.047-.061-.084-.128-.135-.185a.8.8,0,0,0-.432-.256.347.347,0,0,0-.189.005.389.389,0,0,0-.048.025.126.126,0,0,0,.049.121.521.521,0,0,0,.112.091.712.712,0,0,1,.188.165,1.542,1.542,0,0,1,.233.41.721.721,0,0,0,.585.456,1.773,1.773,0,0,0,.424.032l.212-.022.083-.01.005.069,0,.527,0,.152a.176.176,0,0,1-.2.165.344.344,0,0,1-.1-.021,3.873,3.873,0,0,1-.74-.341,3.772,3.772,0,0,1-.838-.681,4.309,4.309,0,0,1-.445-.57A3.833,3.833,0,0,1,1,6.16a3.936,3.936,0,0,1-.216-.793L.749,5.079a4.242,4.242,0,0,1,0-.7,3.848,3.848,0,0,1,.57-1.705A3.9,3.9,0,0,1,3.053,1.159,3.716,3.716,0,0,1,4,.878,4.223,4.223,0,0,1,4.768.831a4.158,4.158,0,0,1,.523.047,3.674,3.674,0,0,1,.862.246,3.964,3.964,0,0,1,.975.59,3.793,3.793,0,0,1,.609.629,3.933,3.933,0,0,1,.585,1.066,4.2,4.2,0,0,1,.23,1.136l-.011.372h0Z",transform:"translate(-0.734 -0.829)"})}))},C=n(44977),I=n(41227),E=(0,m.Z)((function(e){return(0,d.Z)({root:{"& .MuiOutlinedInput-root":{paddingLeft:0,"& svg":{marginLeft:4,height:14,color:e.palette.primary.main},"& input":{padding:10,fontSize:14,paddingLeft:0,"&::placeholder":{fontSize:12},"@media (max-width: 900px)":{padding:10}},"& fieldset":{},"& fieldset:hover":{borderBottom:"2px solid #000000",borderRadius:0}}}})}));function T(e){var t=E();return(0,P.jsx)(g.Z,(0,r.Z)({classes:{root:t.root},variant:"standard"},e))}var B=(0,s.$j)((function(e){return{loggedIn:e.loggedIn}}),{userLoggedIn:x.nD,setErrorSnackMessage:x.Ih})((0,h.Z)((function(e){return(0,d.Z)((0,r.Z)({root:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"auto"},form:{width:"100%"},submit:{margin:"30px 0px 8px",height:40,width:"100%",boxShadow:"none",padding:"16px 30px"},learnMore:{textAlign:"center",fontSize:10,"& a":{color:"#2781B0"},"& .min-icon":{marginLeft:12,marginTop:2,width:10}},separator:{marginLeft:8,marginRight:8},linkHolder:{marginTop:20},miniLinks:{margin:"auto",fontSize:10,textAlign:"center",color:"#B2DEF5","& a":{color:"#B2DEF5",textDecoration:"none"},"& .min-icon":{height:10,color:"#B2DEF5"}},miniLogo:{marginTop:8,"& .min-icon":{height:12,paddingTop:2}},loginPage:{height:"100%",margin:"auto"},loginContainer:{flexDirection:"column","& .right-items":{backgroundColor:"white",borderRadius:3,boxShadow:"6px 6px 50",padding:20},"& .consoleTextBanner":{fontWeight:300,fontSize:"calc(3vw + 3vh + 1.5vmin)",lineHeight:1.15,color:"#ffffff",flex:1,textAlign:"center",height:"100%",display:"flex",justifyContent:"flex-start",margin:"auto","& .logoLine":{display:"flex",alignItems:"center",fontSize:18,marginTop:40},"& .left-items":{margin:"auto",paddingTop:100,paddingBottom:60},"& .left-logo":{"& .min-icon":{color:"white",width:108},marginBottom:10},"& .text-line1":{font:" 100 44px 'Lato'"},"& .text-line2":{fontSize:80,fontWeight:100,textTransform:"uppercase"},"& .text-line3":{fontSize:14,fontWeight:"bold"},"& .logo-console":{display:"flex",alignItems:"center","@media (max-width: 900px)":{marginTop:20,flexFlow:"column","& svg":{width:"50%"}}}}},"@media (max-width: 900px)":{loginContainer:{display:"flex",flexFlow:"column","& .consoleTextBanner":{margin:0,flex:2,"& .left-items":{alignItems:"center",textAlign:"center"},"& .logoLine":{justifyContent:"center"}}}},loadingLoginStrategy:{textAlign:"center",width:40,height:40},headerTitle:{marginRight:"auto",marginBottom:15},submitContainer:{textAlign:"right"},linearPredef:{height:10},loaderAlignment:{display:"flex",width:"100%",height:"100%",justifyContent:"center",alignItems:"center",flexDirection:"column"},retryButton:{alignSelf:"flex-end"},loginComponentContainer:{maxWidth:360,width:"100%",alignSelf:"center"}},S.bK))}))((function(e){var t=e.classes,n=e.userLoggedIn,r=e.setErrorSnackMessage,s=(0,o.useState)(""),d=(0,a.Z)(s,2),m=d[0],h=d[1],g=(0,o.useState)(""),x=(0,a.Z)(g,2),S=x[0],E=x[1],B=(0,o.useState)(""),_=(0,a.Z)(B,2),M=_[0],F=_[1],z=(0,o.useState)({loginStrategy:i.unknown,redirect:""}),H=(0,a.Z)(z,2),R=H[0],D=H[1],V=(0,o.useState)(!1),W=(0,a.Z)(V,2),K=W[0],G=W[1],O=(0,o.useState)(!0),Y=(0,a.Z)(O,2),q=Y[0],J=Y[1],U=(0,o.useState)(""),$=(0,a.Z)(U,2),Q=$[0],X=$[1],ee=(0,o.useState)(!0),te=(0,a.Z)(ee,2),ne=te[0],ie=te[1],ae={form:"/api/v1/login","service-account":"/api/v1/login/operator"},re={form:{accessKey:m,secretKey:M},"service-account":{jwt:S}},oe=function(e){e.preventDefault(),G(!0),f.Z.invoke("POST",ae[R.loginStrategy]||"/api/v1/login",re[R.loginStrategy]).then((function(){n(!0),R.loginStrategy===i.form&&localStorage.setItem("userLoggedIn",(0,b.ug)(m));var e="/";localStorage.getItem("redirect-path")&&""!==localStorage.getItem("redirect-path")&&(e="".concat(localStorage.getItem("redirect-path")),localStorage.setItem("redirect-path","")),v.Z.push(e)})).catch((function(e){G(!1),r(e)}))};(0,o.useEffect)((function(){q&&f.Z.invoke("GET","/api/v1/login").then((function(e){D(e),J(!1)})).catch((function(e){r(e),J(!1)}))}),[q,r]),(0,o.useEffect)((function(){ne&&f.Z.invoke("GET","/api/v1/check-version").then((function(e){e.current_version;var t=e.latest_version;X(t),ie(!1)})).catch((function(e){f.Z.invoke("GET","/api/v1/check-operator-version").then((function(e){e.current_version;var t=e.latest_version;X(t),ie(!1)})).catch((function(e){ie(!1)}))}))}),[ne,ie,X]);var se=null;switch(R.loginStrategy){case i.form:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:oe,children:[(0,P.jsxs)(p.ZP,{container:!0,spacing:2,children:[(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.spacerBottom,children:(0,P.jsx)(T,{fullWidth:!0,id:"accessKey",className:t.inputField,value:m,onChange:function(e){return h(e.target.value)},placeholder:"Username",name:"accessKey",autoComplete:"username",disabled:K,variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,P.jsx)(L,{})})}})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,children:(0,P.jsx)(T,{fullWidth:!0,className:t.inputField,value:M,onChange:function(e){return F(e.target.value)},name:"secretKey",type:"password",id:"secretKey",autoComplete:"current-password",disabled:K,placeholder:"Password",variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,P.jsx)(N,{})})}})})]}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,P.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",id:"do-login",className:t.submit,disabled:""===M||""===m||K,children:"Login"})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.linearPredef,children:K&&(0,P.jsx)(c.Z,{})})]})});break;case i.redirect:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(u.Z,{component:"a",href:R.redirect,type:"submit",variant:"contained",color:"primary",id:"sso-login",className:t.submit,children:"Login with SSO"})});break;case i.serviceAccount:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:oe,children:[(0,P.jsx)(p.ZP,{container:!0,spacing:2,children:(0,P.jsx)(p.ZP,{item:!0,xs:12,children:(0,P.jsx)(T,{required:!0,className:t.inputField,fullWidth:!0,id:"jwt",value:S,onChange:function(e){return E(e.target.value)},name:"jwt",autoComplete:"off",disabled:K,placeholder:"Enter JWT",variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",children:(0,P.jsx)(w.mB,{})})}})})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,P.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",id:"do-login",className:t.submit,disabled:""===S||K,children:"Login"})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.linearPredef,children:K&&(0,P.jsx)(c.Z,{})})]})});break;default:se=(0,P.jsx)("div",{className:t.loaderAlignment,children:q?(0,P.jsx)(I.Z,{className:t.loadingLoginStrategy}):(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("div",{children:(0,P.jsxs)("p",{style:{color:"#000",textAlign:"center"},children:["An error has occurred",(0,P.jsx)("br",{}),"The backend cannot be reached."]})}),(0,P.jsx)("div",{children:(0,P.jsx)(u.Z,{onClick:function(){J(!0)},endIcon:(0,P.jsx)(j.default,{}),color:"primary",variant:"outlined",id:"retry",className:t.retryButton,children:"Retry"})})]})})}var le=R.loginStrategy===i.serviceAccount?"Operator":"Console";return(0,P.jsxs)("div",{className:t.root,children:[(0,P.jsx)(y.ZP,{}),(0,P.jsx)(Z.Z,{}),(0,P.jsx)("div",{className:t.loginPage,children:(0,P.jsxs)(p.ZP,{container:!0,className:t.loginContainer,children:[(0,P.jsx)(p.ZP,{item:!0,className:"consoleTextBanner",xs:12,children:(0,P.jsxs)("div",{className:"left-items",children:[(0,P.jsx)("div",{className:"left-logo",children:(0,P.jsx)(w.BH,{})}),(0,P.jsx)("div",{className:"text-line2",children:le}),(0,P.jsx)("div",{className:"text-line3",children:"Multi-Cloud Object Storage"})]})}),(0,P.jsxs)(p.ZP,{item:!0,className:"right-items ".concat(t.loginComponentContainer),xs:12,children:[se,(0,P.jsx)("div",{className:t.learnMore,children:(0,P.jsxs)("a",{href:"https://docs.min.io/minio/baremetal/console/minio-console.html?ref=con",target:"_blank",rel:"noreferrer",children:["Learn more about Console ",(0,P.jsx)(w.LZ,{})]})})]}),(0,P.jsxs)(p.ZP,{item:!0,xs:12,className:t.linkHolder,children:[(0,P.jsxs)("div",{className:t.miniLinks,children:[(0,P.jsxs)("a",{href:"https://docs.min.io/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(w.cY,{})," Documentation"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://github.com/minio/minio",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(A,{})," Github"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://subnet.min.io/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(k.aw,{})," Support"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://min.io/download/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(w._8,{})," Download"]})]}),(0,P.jsx)("div",{className:(0,C.Z)(t.miniLinks,t.miniLogo),children:(0,P.jsxs)("a",{href:"https://github.com/minio/minio/releases",target:"_blank",rel:"noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:20},children:[(0,P.jsx)(w.YE,{})," Latest Version"," ",!ne&&""!==Q&&(0,P.jsx)(o.Fragment,{children:Q})]})})]})]})})]})})))},65771:function(e,t,n){n.d(t,{Z:function(){return w}});var i=n(36222),a=n(1048),r=n(32793),o=n(50390),s=n(44977),l=n(50076),c=n(91442),d=n(35477),m=n(14478),h=n(23060),u=n(8208),g=n(10594);function p(e){return(0,g.Z)("MuiInputAdornment",e)}var x,f=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),v=n(15573),j=n(62559),Z=["children","className","component","disablePointerEvents","disableTypography","position","variant"],b=(0,u.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,r.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(f.positionStart,"&:not(.").concat(f.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),w=o.forwardRef((function(e,t){var n=(0,v.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,u=n.className,g=n.component,f=void 0===g?"div":g,w=n.disablePointerEvents,S=void 0!==w&&w,y=n.disableTypography,P=void 0!==y&&y,N=n.position,L=n.variant,k=(0,a.Z)(n,Z),A=(0,h.Z)()||{},C=L;L&&A.variant,A&&!C&&(C=A.variant);var I=(0,r.Z)({},n,{hiddenLabel:A.hiddenLabel,size:A.size,disablePointerEvents:S,position:N,variant:C}),E=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,a=e.position,r=e.size,o=e.variant,s={root:["root",n&&"disablePointerEvents",a&&"position".concat((0,c.Z)(a)),o,i&&"hiddenLabel",r&&"size".concat((0,c.Z)(r))]};return(0,l.Z)(s,p,t)}(I);return(0,j.jsx)(m.Z.Provider,{value:null,children:(0,j.jsx)(b,(0,r.Z)({as:f,ownerState:I,className:(0,s.Z)(E.root,u),ref:t},k,{children:"string"!==typeof i||P?(0,j.jsxs)(o.Fragment,{children:["start"===N?x||(x=(0,j.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,j.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))}}]); -//# sourceMappingURL=1660.1a3b5397.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1660],{61660:function(e,t,n){n.r(t),n.d(t,{default:function(){return B}});var i,a=n(23430),r=n(18489),o=n(50390),s=n(34424),l=n(65771),c=n(81378),d=n(86509),m=n(62449),h=n(4285),u=n(66946),g=n(12066),p=n(25594);!function(e){e.unknown="unknown",e.form="form",e.redirect="redirect",e.serviceAccount="service-account"}(i||(i={}));var x=n(44149),f=n(30324),v=n(24442),j=n(18221),Z=n(45980),b=n(28948),w=n(14549),S=n(72462),y=n(52971),P=n(62559),N=function(e){return(0,P.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 12 12"},e),{},{children:(0,P.jsx)("path",{id:"Path_7819","data-name":"Path 7819",d:"M9.884,3.523H8.537V2.27A2.417,2.417,0,0,0,6,0,2.417,2.417,0,0,0,3.463,2.27V3.523H2.116A2.019,2.019,0,0,0,0,5.423V9.413a2.012,2.012,0,0,0,2.062,1.9L6,12l3.938-.688A2.012,2.012,0,0,0,12,9.413V5.423a2.019,2.019,0,0,0-2.116-1.9M6.5,7.658v.724a.474.474,0,0,1-.472.474H5.971A.474.474,0,0,1,5.5,8.381V7.658a.9.9,0,0,1-.394-.744h0a.894.894,0,1,1,1.4.744m.985-4.135H4.514V2.27A1.416,1.416,0,0,1,6,.94,1.416,1.416,0,0,1,7.486,2.27Z",fill:"#071d43"})}))},L=function(e){return(0,P.jsxs)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 9.008 12"},e),{},{children:[(0,P.jsx)("defs",{children:(0,P.jsx)("clipPath",{id:"clip-path",children:(0,P.jsx)("rect",{id:"Rectangle_991","data-name":"Rectangle 991",width:"9.008",height:"12",fill:"#071d43"})})}),(0,P.jsxs)("g",{id:"Group_2365","data-name":"Group 2365",clipPath:"url(#clip-path)",children:[(0,P.jsx)("path",{id:"Path_7088","data-name":"Path 7088",d:"M26.843,6.743a3.4,3.4,0,0,0,3.411-3.372,3.411,3.411,0,0,0-6.822,0,3.4,3.4,0,0,0,3.411,3.372",transform:"translate(-22.334)",fill:"#071d43"}),(0,P.jsx)("path",{id:"Path_7089","data-name":"Path 7089",d:"M8.639,157.057a5.164,5.164,0,0,0-1.957-1.538,5.438,5.438,0,0,0-1.083-.362,5.2,5.2,0,0,0-1.117-.123c-.075,0-.151,0-.225.005H4.231a4.928,4.928,0,0,0-.549.059,5.236,5.236,0,0,0-3.276,1.92c-.029.039-.059.078-.086.116h0a1.723,1.723,0,0,0-.134,1.784,1.583,1.583,0,0,0,.255.356,1.559,1.559,0,0,0,.337.267,1.613,1.613,0,0,0,.4.167,1.742,1.742,0,0,0,.449.058H7.389a1.747,1.747,0,0,0,.452-.058,1.593,1.593,0,0,0,.4-.169,1.524,1.524,0,0,0,.335-.271,1.548,1.548,0,0,0,.251-.361,1.761,1.761,0,0,0-.191-1.85",transform:"translate(0.001 -147.766)",fill:"#071d43"})]})]}))},k=n(50364),A=function(e){return(0,P.jsx)("svg",(0,r.Z)((0,r.Z)({xmlns:"http://www.w3.org/2000/svg",className:"min-icon",fill:"currentcolor",viewBox:"0 0 7.819 7.621"},e),{},{children:(0,P.jsx)("path",{id:"github",d:"M8.543,4.917a4.146,4.146,0,0,1-.038.424,3.8,3.8,0,0,1-.8,1.816,3.982,3.982,0,0,1-.514.542,3.72,3.72,0,0,1-.8.531,4.287,4.287,0,0,1-.471.2.286.286,0,0,1-.149.02.174.174,0,0,1-.153-.163c0-.028,0-.056,0-.084V7.214A1.867,1.867,0,0,0,5.6,6.94a.794.794,0,0,0-.239-.477l.229-.035a2.168,2.168,0,0,0,.821-.291,1.347,1.347,0,0,0,.572-.691,2.291,2.291,0,0,0,.14-.592,2.689,2.689,0,0,0,.01-.488,1.44,1.44,0,0,0-.341-.824L6.747,3.49a.076.076,0,0,1-.007-.013A1.352,1.352,0,0,0,6.7,2.445a.478.478,0,0,0-.317.019,2.726,2.726,0,0,0-.62.289l-.137.086a4.467,4.467,0,0,0-.645-.114,4.047,4.047,0,0,0-.663,0,4.241,4.241,0,0,0-.651.115l-.126-.08a2.786,2.786,0,0,0-.643-.3.5.5,0,0,0-.311-.022,1.364,1.364,0,0,0-.038,1.031l-.154.206a1.392,1.392,0,0,0-.227.6,2.519,2.519,0,0,0,0,.578,2.17,2.17,0,0,0,.178.675,1.356,1.356,0,0,0,.609.65,2.294,2.294,0,0,0,.84.258l.131.02a.874.874,0,0,0-.243.515.793.793,0,0,1-.254.085c-.071.012-.141.014-.212.019a.623.623,0,0,1-.495-.2A1.545,1.545,0,0,1,2.578,6.7c-.047-.061-.084-.128-.135-.185a.8.8,0,0,0-.432-.256.347.347,0,0,0-.189.005.389.389,0,0,0-.048.025.126.126,0,0,0,.049.121.521.521,0,0,0,.112.091.712.712,0,0,1,.188.165,1.542,1.542,0,0,1,.233.41.721.721,0,0,0,.585.456,1.773,1.773,0,0,0,.424.032l.212-.022.083-.01.005.069,0,.527,0,.152a.176.176,0,0,1-.2.165.344.344,0,0,1-.1-.021,3.873,3.873,0,0,1-.74-.341,3.772,3.772,0,0,1-.838-.681,4.309,4.309,0,0,1-.445-.57A3.833,3.833,0,0,1,1,6.16a3.936,3.936,0,0,1-.216-.793L.749,5.079a4.242,4.242,0,0,1,0-.7,3.848,3.848,0,0,1,.57-1.705A3.9,3.9,0,0,1,3.053,1.159,3.716,3.716,0,0,1,4,.878,4.223,4.223,0,0,1,4.768.831a4.158,4.158,0,0,1,.523.047,3.674,3.674,0,0,1,.862.246,3.964,3.964,0,0,1,.975.59,3.793,3.793,0,0,1,.609.629,3.933,3.933,0,0,1,.585,1.066,4.2,4.2,0,0,1,.23,1.136l-.011.372h0Z",transform:"translate(-0.734 -0.829)"})}))},C=n(44977),I=n(41227),E=(0,m.Z)((function(e){return(0,d.Z)({root:{"& .MuiOutlinedInput-root":{paddingLeft:0,"& svg":{marginLeft:4,height:14,color:e.palette.primary.main},"& input":{padding:10,fontSize:14,paddingLeft:0,"&::placeholder":{fontSize:12},"@media (max-width: 900px)":{padding:10}},"& fieldset":{},"& fieldset:hover":{borderBottom:"2px solid #000000",borderRadius:0}}}})}));function T(e){var t=E();return(0,P.jsx)(g.Z,(0,r.Z)({classes:{root:t.root},variant:"standard"},e))}var B=(0,s.$j)((function(e){return{loggedIn:e.loggedIn}}),{userLoggedIn:x.nD,setErrorSnackMessage:x.Ih})((0,h.Z)((function(e){return(0,d.Z)((0,r.Z)({root:{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflow:"auto"},form:{width:"100%"},submit:{margin:"30px 0px 8px",height:40,width:"100%",boxShadow:"none",padding:"16px 30px"},learnMore:{textAlign:"center",fontSize:10,"& a":{color:"#2781B0"},"& .min-icon":{marginLeft:12,marginTop:2,width:10}},separator:{marginLeft:8,marginRight:8},linkHolder:{marginTop:20},miniLinks:{margin:"auto",fontSize:10,textAlign:"center",color:"#B2DEF5","& a":{color:"#B2DEF5",textDecoration:"none"},"& .min-icon":{height:10,color:"#B2DEF5"}},miniLogo:{marginTop:8,"& .min-icon":{height:12,paddingTop:2}},loginPage:{height:"100%",margin:"auto"},loginContainer:{flexDirection:"column","& .right-items":{backgroundColor:"white",borderRadius:3,boxShadow:"6px 6px 50",padding:20},"& .consoleTextBanner":{fontWeight:300,fontSize:"calc(3vw + 3vh + 1.5vmin)",lineHeight:1.15,color:"#ffffff",flex:1,textAlign:"center",height:"100%",display:"flex",justifyContent:"flex-start",margin:"auto","& .logoLine":{display:"flex",alignItems:"center",fontSize:18,marginTop:40},"& .left-items":{margin:"auto",paddingTop:100,paddingBottom:60},"& .left-logo":{"& .min-icon":{color:"white",width:108},marginBottom:10},"& .text-line1":{font:" 100 44px 'Lato'"},"& .text-line2":{fontSize:80,fontWeight:100,textTransform:"uppercase"},"& .text-line3":{fontSize:14,fontWeight:"bold"},"& .logo-console":{display:"flex",alignItems:"center","@media (max-width: 900px)":{marginTop:20,flexFlow:"column","& svg":{width:"50%"}}}}},"@media (max-width: 900px)":{loginContainer:{display:"flex",flexFlow:"column","& .consoleTextBanner":{margin:0,flex:2,"& .left-items":{alignItems:"center",textAlign:"center"},"& .logoLine":{justifyContent:"center"}}}},loadingLoginStrategy:{textAlign:"center",width:40,height:40},headerTitle:{marginRight:"auto",marginBottom:15},submitContainer:{textAlign:"right"},linearPredef:{height:10},loaderAlignment:{display:"flex",width:"100%",height:"100%",justifyContent:"center",alignItems:"center",flexDirection:"column"},retryButton:{alignSelf:"flex-end"},loginComponentContainer:{maxWidth:360,width:"100%",alignSelf:"center"}},S.bK))}))((function(e){var t=e.classes,n=e.userLoggedIn,r=e.setErrorSnackMessage,s=(0,o.useState)(""),d=(0,a.Z)(s,2),m=d[0],h=d[1],g=(0,o.useState)(""),x=(0,a.Z)(g,2),S=x[0],E=x[1],B=(0,o.useState)(""),_=(0,a.Z)(B,2),M=_[0],F=_[1],z=(0,o.useState)({loginStrategy:i.unknown,redirect:""}),H=(0,a.Z)(z,2),R=H[0],D=H[1],V=(0,o.useState)(!1),W=(0,a.Z)(V,2),K=W[0],G=W[1],O=(0,o.useState)(!0),Y=(0,a.Z)(O,2),q=Y[0],J=Y[1],U=(0,o.useState)(""),$=(0,a.Z)(U,2),Q=$[0],X=$[1],ee=(0,o.useState)(!0),te=(0,a.Z)(ee,2),ne=te[0],ie=te[1],ae={form:"/api/v1/login","service-account":"/api/v1/login/operator"},re={form:{accessKey:m,secretKey:M},"service-account":{jwt:S}},oe=function(e){e.preventDefault(),G(!0),f.Z.invoke("POST",ae[R.loginStrategy]||"/api/v1/login",re[R.loginStrategy]).then((function(){n(!0),R.loginStrategy===i.form&&localStorage.setItem("userLoggedIn",(0,b.ug)(m));var e="/";localStorage.getItem("redirect-path")&&""!==localStorage.getItem("redirect-path")&&(e="".concat(localStorage.getItem("redirect-path")),localStorage.setItem("redirect-path","")),v.Z.push(e)})).catch((function(e){G(!1),r(e)}))};(0,o.useEffect)((function(){q&&f.Z.invoke("GET","/api/v1/login").then((function(e){D(e),J(!1)})).catch((function(e){r(e),J(!1)}))}),[q,r]),(0,o.useEffect)((function(){ne&&f.Z.invoke("GET","/api/v1/check-version").then((function(e){e.current_version;var t=e.latest_version;X(t),ie(!1)})).catch((function(e){f.Z.invoke("GET","/api/v1/check-operator-version").then((function(e){e.current_version;var t=e.latest_version;X(t),ie(!1)})).catch((function(e){ie(!1)}))}))}),[ne,ie,X]);var se=null;switch(R.loginStrategy){case i.form:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:oe,children:[(0,P.jsxs)(p.ZP,{container:!0,spacing:2,children:[(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.spacerBottom,children:(0,P.jsx)(T,{fullWidth:!0,id:"accessKey",className:t.inputField,value:m,onChange:function(e){return h(e.target.value)},placeholder:"Username",name:"accessKey",autoComplete:"username",disabled:K,variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,P.jsx)(L,{})})}})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,children:(0,P.jsx)(T,{fullWidth:!0,className:t.inputField,value:M,onChange:function(e){return F(e.target.value)},name:"secretKey",type:"password",id:"secretKey",autoComplete:"current-password",disabled:K,placeholder:"Password",variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",className:t.iconColor,children:(0,P.jsx)(N,{})})}})})]}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,P.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",id:"do-login",className:t.submit,disabled:""===M||""===m||K,children:"Login"})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.linearPredef,children:K&&(0,P.jsx)(c.Z,{})})]})});break;case i.redirect:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsx)(u.Z,{component:"a",href:R.redirect,type:"submit",variant:"contained",color:"primary",id:"sso-login",className:t.submit,children:"Login with SSO"})});break;case i.serviceAccount:se=(0,P.jsx)(o.Fragment,{children:(0,P.jsxs)("form",{className:t.form,noValidate:!0,onSubmit:oe,children:[(0,P.jsx)(p.ZP,{container:!0,spacing:2,children:(0,P.jsx)(p.ZP,{item:!0,xs:12,children:(0,P.jsx)(T,{required:!0,className:t.inputField,fullWidth:!0,id:"jwt",value:S,onChange:function(e){return E(e.target.value)},name:"jwt",autoComplete:"off",disabled:K,placeholder:"Enter JWT",variant:"outlined",InputProps:{startAdornment:(0,P.jsx)(l.Z,{position:"start",children:(0,P.jsx)(w.mB,{})})}})})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.submitContainer,children:(0,P.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",id:"do-login",className:t.submit,disabled:""===S||K,children:"Login"})}),(0,P.jsx)(p.ZP,{item:!0,xs:12,className:t.linearPredef,children:K&&(0,P.jsx)(c.Z,{})})]})});break;default:se=(0,P.jsx)("div",{className:t.loaderAlignment,children:q?(0,P.jsx)(I.Z,{className:t.loadingLoginStrategy}):(0,P.jsxs)(o.Fragment,{children:[(0,P.jsx)("div",{children:(0,P.jsxs)("p",{style:{color:"#000",textAlign:"center"},children:["An error has occurred",(0,P.jsx)("br",{}),"The backend cannot be reached."]})}),(0,P.jsx)("div",{children:(0,P.jsx)(u.Z,{onClick:function(){J(!0)},endIcon:(0,P.jsx)(j.default,{}),color:"primary",variant:"outlined",id:"retry",className:t.retryButton,children:"Retry"})})]})})}var le=R.loginStrategy===i.serviceAccount?"Operator":"Console";return(0,P.jsxs)("div",{className:t.root,children:[(0,P.jsx)(y.ZP,{}),(0,P.jsx)(Z.Z,{}),(0,P.jsx)("div",{className:t.loginPage,children:(0,P.jsxs)(p.ZP,{container:!0,className:t.loginContainer,children:[(0,P.jsx)(p.ZP,{item:!0,className:"consoleTextBanner",xs:12,children:(0,P.jsxs)("div",{className:"left-items",children:[(0,P.jsx)("div",{className:"left-logo",children:(0,P.jsx)(w.BH,{})}),(0,P.jsx)("div",{className:"text-line2",children:le}),(0,P.jsx)("div",{className:"text-line3",children:"Multi-Cloud Object Storage"})]})}),(0,P.jsxs)(p.ZP,{item:!0,className:"right-items ".concat(t.loginComponentContainer),xs:12,children:[se,(0,P.jsx)("div",{className:t.learnMore,children:(0,P.jsxs)("a",{href:"https://docs.min.io/minio/baremetal/console/minio-console.html?ref=con",target:"_blank",rel:"noreferrer",children:["Learn more about Console ",(0,P.jsx)(w.LZ,{})]})})]}),(0,P.jsxs)(p.ZP,{item:!0,xs:12,className:t.linkHolder,children:[(0,P.jsxs)("div",{className:t.miniLinks,children:[(0,P.jsxs)("a",{href:"https://docs.min.io/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(w.cY,{})," Documentation"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://github.com/minio/minio",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(A,{})," Github"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://subnet.min.io/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(k.aw,{})," Support"]}),(0,P.jsx)("span",{className:t.separator,children:"|"}),(0,P.jsxs)("a",{href:"https://min.io/download/?ref=con",target:"_blank",rel:"noreferrer",children:[(0,P.jsx)(w._8,{})," Download"]})]}),(0,P.jsx)("div",{className:(0,C.Z)(t.miniLinks,t.miniLogo),children:(0,P.jsxs)("a",{href:"https://github.com/minio/minio/releases",target:"_blank",rel:"noreferrer",style:{display:"flex",alignItems:"center",justifyContent:"center",marginBottom:20},children:[(0,P.jsx)(w.YE,{})," Latest Version"," ",!ne&&""!==Q&&(0,P.jsx)(o.Fragment,{children:Q})]})})]})]})})]})})))},65771:function(e,t,n){n.d(t,{Z:function(){return w}});var i=n(36222),a=n(1048),r=n(32793),o=n(50390),s=n(44977),l=n(50076),c=n(91442),d=n(35477),m=n(14478),h=n(23060),u=n(8208),g=n(10594);function p(e){return(0,g.Z)("MuiInputAdornment",e)}var x,f=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),v=n(15573),j=n(62559),Z=["children","className","component","disablePointerEvents","disableTypography","position","variant"],b=(0,u.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,r.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(f.positionStart,"&:not(.").concat(f.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),w=o.forwardRef((function(e,t){var n=(0,v.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,u=n.className,g=n.component,f=void 0===g?"div":g,w=n.disablePointerEvents,S=void 0!==w&&w,y=n.disableTypography,P=void 0!==y&&y,N=n.position,L=n.variant,k=(0,a.Z)(n,Z),A=(0,h.Z)()||{},C=L;L&&A.variant,A&&!C&&(C=A.variant);var I=(0,r.Z)({},n,{hiddenLabel:A.hiddenLabel,size:A.size,disablePointerEvents:S,position:N,variant:C}),E=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,a=e.position,r=e.size,o=e.variant,s={root:["root",n&&"disablePointerEvents",a&&"position".concat((0,c.Z)(a)),o,i&&"hiddenLabel",r&&"size".concat((0,c.Z)(r))]};return(0,l.Z)(s,p,t)}(I);return(0,j.jsx)(m.Z.Provider,{value:null,children:(0,j.jsx)(b,(0,r.Z)({as:f,ownerState:I,className:(0,s.Z)(E.root,u),ref:t},k,{children:"string"!==typeof i||P?(0,j.jsxs)(o.Fragment,{children:["start"===N?x||(x=(0,j.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,j.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))}}]); +//# sourceMappingURL=1660.3421b1d3.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1660.1a3b5397.chunk.js.map b/portal-ui/build/static/js/1660.3421b1d3.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/1660.1a3b5397.chunk.js.map rename to portal-ui/build/static/js/1660.3421b1d3.chunk.js.map index a47145335..07fdfc506 100644 --- a/portal-ui/build/static/js/1660.1a3b5397.chunk.js.map +++ b/portal-ui/build/static/js/1660.3421b1d3.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/1660.1a3b5397.chunk.js","mappings":"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","sources":["screens/LoginPage/types.ts","icons/LockFilledIcon.tsx","icons/UsersFilledIcon.tsx","icons/GithubIcon.tsx","screens/LoginPage/LoginPage.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface ILoginDetails {\n loginStrategy: loginStrategyType;\n redirect: string;\n}\n\nexport enum loginStrategyType {\n unknown = \"unknown\",\n form = \"form\",\n redirect = \"redirect\",\n serviceAccount = \"service-account\",\n}\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst LockFilledIcon = (props: SVGProps) => (\n \n \n \n);\n\nexport default LockFilledIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst UserFilledIcon = (props: SVGProps) => (\n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default UserFilledIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst GithubIcon = (props: SVGProps) => (\n \n \n \n);\n\nexport default GithubIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { InputAdornment, LinearProgress, TextFieldProps } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Button from \"@mui/material/Button\";\nimport TextField from \"@mui/material/TextField\";\nimport Grid from \"@mui/material/Grid\";\nimport { ILoginDetails, loginStrategyType } from \"./types\";\nimport { SystemState } from \"../../types\";\nimport { setErrorSnackMessage, userLoggedIn } from \"../../actions\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport api from \"../../common/api\";\nimport history from \"../../history\";\nimport RefreshIcon from \"../../icons/RefreshIcon\";\nimport MainError from \"../Console/Common/MainError/MainError\";\nimport { encodeFileName } from \"../../common/utils\";\nimport {\n ArrowRightIcon,\n DocumentationIcon,\n DownloadIcon,\n LockIcon,\n LoginMinIOLogo,\n MinIOTierIconXs,\n} from \"../../icons\";\nimport { spacingUtils } from \"../Console/Common/FormComponents/common/styleLibrary\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport LockFilledIcon from \"../../icons/LockFilledIcon\";\nimport UserFilledIcon from \"../../icons/UsersFilledIcon\";\nimport { SupportMenuIcon } from \"../../icons/SidebarMenus\";\nimport GithubIcon from \"../../icons/GithubIcon\";\nimport clsx from \"clsx\";\nimport Loader from \"../Console/Common/Loader/Loader\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n overflow: \"auto\",\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n },\n submit: {\n margin: \"30px 0px 8px\",\n height: 40,\n width: \"100%\",\n boxShadow: \"none\",\n padding: \"16px 30px\",\n },\n learnMore: {\n textAlign: \"center\",\n fontSize: 10,\n \"& a\": {\n color: \"#2781B0\",\n },\n \"& .min-icon\": {\n marginLeft: 12,\n marginTop: 2,\n width: 10,\n },\n },\n separator: {\n marginLeft: 8,\n marginRight: 8,\n },\n linkHolder: {\n marginTop: 20,\n },\n miniLinks: {\n margin: \"auto\",\n fontSize: 10,\n textAlign: \"center\",\n color: \"#B2DEF5\",\n \"& a\": {\n color: \"#B2DEF5\",\n textDecoration: \"none\",\n },\n \"& .min-icon\": {\n height: 10,\n color: \"#B2DEF5\",\n },\n },\n miniLogo: {\n marginTop: 8,\n \"& .min-icon\": {\n height: 12,\n paddingTop: 2,\n },\n },\n loginPage: {\n height: \"100%\",\n margin: \"auto\",\n },\n loginContainer: {\n flexDirection: \"column\",\n \"& .right-items\": {\n backgroundColor: \"white\",\n borderRadius: 3,\n boxShadow: \"6px 6px 50\",\n padding: 20,\n },\n \"& .consoleTextBanner\": {\n fontWeight: 300,\n fontSize: \"calc(3vw + 3vh + 1.5vmin)\",\n lineHeight: 1.15,\n color: \"#ffffff\",\n flex: 1,\n textAlign: \"center\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: \"auto\",\n\n \"& .logoLine\": {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 18,\n marginTop: 40,\n },\n \"& .left-items\": {\n margin: \"auto\",\n paddingTop: 100,\n paddingBottom: 60,\n },\n \"& .left-logo\": {\n \"& .min-icon\": {\n color: \"white\",\n width: 108,\n },\n marginBottom: 10,\n },\n \"& .text-line1\": {\n font: \" 100 44px 'Lato'\",\n },\n \"& .text-line2\": {\n fontSize: 80,\n fontWeight: 100,\n textTransform: \"uppercase\",\n },\n \"& .text-line3\": {\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& .logo-console\": {\n display: \"flex\",\n alignItems: \"center\",\n\n \"@media (max-width: 900px)\": {\n marginTop: 20,\n flexFlow: \"column\",\n\n \"& svg\": {\n width: \"50%\",\n },\n },\n },\n },\n },\n \"@media (max-width: 900px)\": {\n loginContainer: {\n display: \"flex\",\n flexFlow: \"column\",\n\n \"& .consoleTextBanner\": {\n margin: 0,\n flex: 2,\n\n \"& .left-items\": {\n alignItems: \"center\",\n textAlign: \"center\",\n },\n\n \"& .logoLine\": {\n justifyContent: \"center\",\n },\n },\n },\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n width: 40,\n height: 40,\n },\n headerTitle: {\n marginRight: \"auto\",\n marginBottom: 15,\n },\n submitContainer: {\n textAlign: \"right\",\n },\n linearPredef: {\n height: 10,\n },\n\n loaderAlignment: {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n },\n retryButton: {\n alignSelf: \"flex-end\",\n },\n loginComponentContainer: {\n maxWidth: 360,\n width: \"100%\",\n alignSelf: \"center\",\n },\n ...spacingUtils,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiOutlinedInput-root\": {\n paddingLeft: 0,\n \"& svg\": {\n marginLeft: 4,\n height: 14,\n color: theme.palette.primary.main,\n },\n \"& input\": {\n padding: 10,\n fontSize: 14,\n paddingLeft: 0,\n \"&::placeholder\": {\n fontSize: 12,\n },\n \"@media (max-width: 900px)\": {\n padding: 10,\n },\n },\n \"& fieldset\": {},\n\n \"& fieldset:hover\": {\n borderBottom: \"2px solid #000000\",\n borderRadius: 0,\n },\n },\n },\n })\n);\n\nfunction LoginField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n \n );\n}\n\nconst mapState = (state: SystemState) => ({\n loggedIn: state.loggedIn,\n});\n\nconst connector = connect(mapState, { userLoggedIn, setErrorSnackMessage });\n\n// The inferred type will look like:\n// {isOn: boolean, toggleOn: () => void}\n\ninterface ILoginProps {\n userLoggedIn: typeof userLoggedIn;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\ninterface LoginStrategyRoutes {\n [key: string]: string;\n}\n\ninterface LoginStrategyPayload {\n [key: string]: any;\n}\n\nconst Login = ({\n classes,\n userLoggedIn,\n setErrorSnackMessage,\n}: ILoginProps) => {\n const [accessKey, setAccessKey] = useState(\"\");\n const [jwt, setJwt] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [loginStrategy, setLoginStrategy] = useState({\n loginStrategy: loginStrategyType.unknown,\n redirect: \"\",\n });\n const [loginSending, setLoginSending] = useState(false);\n const [loadingFetchConfiguration, setLoadingFetchConfiguration] =\n useState(true);\n\n const [latestMinIOVersion, setLatestMinIOVersion] = useState(\"\");\n const [loadingVersion, setLoadingVersion] = useState(true);\n\n const loginStrategyEndpoints: LoginStrategyRoutes = {\n form: \"/api/v1/login\",\n \"service-account\": \"/api/v1/login/operator\",\n };\n const loginStrategyPayload: LoginStrategyPayload = {\n form: { accessKey, secretKey },\n \"service-account\": { jwt },\n };\n\n const fetchConfiguration = () => {\n setLoadingFetchConfiguration(true);\n };\n\n const formSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setLoginSending(true);\n api\n .invoke(\n \"POST\",\n loginStrategyEndpoints[loginStrategy.loginStrategy] || \"/api/v1/login\",\n loginStrategyPayload[loginStrategy.loginStrategy]\n )\n .then(() => {\n // We set the state in redux\n userLoggedIn(true);\n if (loginStrategy.loginStrategy === loginStrategyType.form) {\n localStorage.setItem(\"userLoggedIn\", encodeFileName(accessKey));\n }\n let targetPath = \"/\";\n if (\n localStorage.getItem(\"redirect-path\") &&\n localStorage.getItem(\"redirect-path\") !== \"\"\n ) {\n targetPath = `${localStorage.getItem(\"redirect-path\")}`;\n localStorage.setItem(\"redirect-path\", \"\");\n }\n history.push(targetPath);\n })\n .catch((err) => {\n setLoginSending(false);\n setErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (loadingFetchConfiguration) {\n api\n .invoke(\"GET\", \"/api/v1/login\")\n .then((loginDetails: ILoginDetails) => {\n setLoginStrategy(loginDetails);\n setLoadingFetchConfiguration(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingFetchConfiguration(false);\n });\n }\n }, [loadingFetchConfiguration, setErrorSnackMessage]);\n\n useEffect(() => {\n if (loadingVersion) {\n api\n .invoke(\"GET\", \"/api/v1/check-version\")\n .then(\n ({\n current_version,\n latest_version,\n }: {\n current_version: string;\n latest_version: string;\n }) => {\n setLatestMinIOVersion(latest_version);\n setLoadingVersion(false);\n }\n )\n .catch((err: ErrorResponseHandler) => {\n // try the operator version\n api\n .invoke(\"GET\", \"/api/v1/check-operator-version\")\n .then(\n ({\n current_version,\n latest_version,\n }: {\n current_version: string;\n latest_version: string;\n }) => {\n setLatestMinIOVersion(latest_version);\n setLoadingVersion(false);\n }\n )\n .catch((err: ErrorResponseHandler) => {\n setLoadingVersion(false);\n });\n });\n }\n }, [loadingVersion, setLoadingVersion, setLatestMinIOVersion]);\n\n let loginComponent = null;\n\n switch (loginStrategy.loginStrategy) {\n case loginStrategyType.form: {\n loginComponent = (\n \n
\n \n \n ) =>\n setAccessKey(e.target.value)\n }\n placeholder={\"Username\"}\n name=\"accessKey\"\n autoComplete=\"username\"\n disabled={loginSending}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n ) =>\n setSecretKey(e.target.value)\n }\n name=\"secretKey\"\n type=\"password\"\n id=\"secretKey\"\n autoComplete=\"current-password\"\n disabled={loginSending}\n placeholder={\"Password\"}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n \n \n Login\n \n \n \n {loginSending && }\n \n
\n
\n );\n break;\n }\n case loginStrategyType.redirect: {\n loginComponent = (\n \n \n Login with SSO\n \n \n );\n break;\n }\n case loginStrategyType.serviceAccount: {\n loginComponent = (\n \n
\n \n \n ) =>\n setJwt(e.target.value)\n }\n name=\"jwt\"\n autoComplete=\"off\"\n disabled={loginSending}\n placeholder={\"Enter JWT\"}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n \n \n Login\n \n \n \n {loginSending && }\n \n
\n
\n );\n break;\n }\n default:\n loginComponent = (\n
\n {loadingFetchConfiguration ? (\n \n ) : (\n \n
\n

\n An error has occurred\n
\n The backend cannot be reached.\n

\n
\n
\n {\n fetchConfiguration();\n }}\n endIcon={}\n color={\"primary\"}\n variant=\"outlined\"\n id=\"retry\"\n className={classes.retryButton}\n >\n Retry\n \n
\n
\n )}\n
\n );\n }\n\n const consoleText =\n loginStrategy.loginStrategy === loginStrategyType.serviceAccount\n ? \"Operator\"\n : \"Console\";\n\n return (\n
\n \n \n
\n \n \n
\n
\n \n
\n
{consoleText}
\n
Multi-Cloud Object Storage
\n
\n
\n \n {loginComponent}\n
\n \n Learn more about Console \n \n
\n
\n \n
\n \n Documentation\n \n |\n \n Github\n \n |\n \n Support\n \n |\n \n Download\n \n
\n
\n \n Latest Version{\" \"}\n {!loadingVersion && latestMinIOVersion !== \"\" && (\n {latestMinIOVersion}\n )}\n \n
\n
\n \n
\n
\n );\n};\n\nexport default connector(withStyles(styles)(Login));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["loginStrategyType","props","xmlns","className","fill","viewBox","id","d","width","height","clipPath","transform","inputStyles","makeStyles","theme","createStyles","root","paddingLeft","marginLeft","color","palette","primary","main","padding","fontSize","borderBottom","borderRadius","LoginField","classes","TextField","variant","connect","state","loggedIn","userLoggedIn","setErrorSnackMessage","withStyles","position","top","left","overflow","form","submit","margin","boxShadow","learnMore","textAlign","marginTop","separator","marginRight","linkHolder","miniLinks","textDecoration","miniLogo","paddingTop","loginPage","loginContainer","flexDirection","backgroundColor","fontWeight","lineHeight","flex","display","justifyContent","alignItems","paddingBottom","marginBottom","font","textTransform","flexFlow","loadingLoginStrategy","headerTitle","submitContainer","linearPredef","loaderAlignment","retryButton","alignSelf","loginComponentContainer","maxWidth","spacingUtils","useState","accessKey","setAccessKey","jwt","setJwt","secretKey","setSecretKey","loginStrategy","unknown","redirect","setLoginStrategy","loginSending","setLoginSending","loadingFetchConfiguration","setLoadingFetchConfiguration","latestMinIOVersion","setLatestMinIOVersion","loadingVersion","setLoadingVersion","loginStrategyEndpoints","loginStrategyPayload","formSubmit","e","preventDefault","api","then","localStorage","setItem","encodeFileName","targetPath","getItem","history","catch","err","useEffect","loginDetails","current_version","latest_version","loginComponent","noValidate","onSubmit","Grid","container","spacing","item","xs","spacerBottom","fullWidth","inputField","value","onChange","target","placeholder","name","autoComplete","disabled","InputProps","startAdornment","InputAdornment","iconColor","type","Button","LinearProgress","component","href","serviceAccount","required","Loader","style","onClick","endIcon","RefreshIcon","consoleText","CssBaseline","MainError","rel","clsx","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","children","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","size","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1660.3421b1d3.chunk.js","mappings":"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","sources":["screens/LoginPage/types.ts","icons/LockFilledIcon.tsx","icons/UsersFilledIcon.tsx","icons/GithubIcon.tsx","screens/LoginPage/LoginPage.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface ILoginDetails {\n loginStrategy: loginStrategyType;\n redirect: string;\n}\n\nexport enum loginStrategyType {\n unknown = \"unknown\",\n form = \"form\",\n redirect = \"redirect\",\n serviceAccount = \"service-account\",\n}\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst LockFilledIcon = (props: SVGProps) => (\n \n \n \n);\n\nexport default LockFilledIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst UserFilledIcon = (props: SVGProps) => (\n \n \n \n \n \n \n \n \n \n \n \n);\n\nexport default UserFilledIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport * as React from \"react\";\nimport { SVGProps } from \"react\";\n\nconst GithubIcon = (props: SVGProps) => (\n \n \n \n);\n\nexport default GithubIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { InputAdornment, LinearProgress, TextFieldProps } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Button from \"@mui/material/Button\";\nimport TextField from \"@mui/material/TextField\";\nimport Grid from \"@mui/material/Grid\";\nimport { ILoginDetails, loginStrategyType } from \"./types\";\nimport { SystemState } from \"../../types\";\nimport { setErrorSnackMessage, userLoggedIn } from \"../../actions\";\nimport { ErrorResponseHandler } from \"../../common/types\";\nimport api from \"../../common/api\";\nimport history from \"../../history\";\nimport RefreshIcon from \"../../icons/RefreshIcon\";\nimport MainError from \"../Console/Common/MainError/MainError\";\nimport { encodeFileName } from \"../../common/utils\";\nimport {\n ArrowRightIcon,\n DocumentationIcon,\n DownloadIcon,\n LockIcon,\n LoginMinIOLogo,\n MinIOTierIconXs,\n} from \"../../icons\";\nimport { spacingUtils } from \"../Console/Common/FormComponents/common/styleLibrary\";\nimport CssBaseline from \"@mui/material/CssBaseline\";\nimport LockFilledIcon from \"../../icons/LockFilledIcon\";\nimport UserFilledIcon from \"../../icons/UsersFilledIcon\";\nimport { SupportMenuIcon } from \"../../icons/SidebarMenus\";\nimport GithubIcon from \"../../icons/GithubIcon\";\nimport clsx from \"clsx\";\nimport Loader from \"../Console/Common/Loader/Loader\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n overflow: \"auto\",\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n },\n submit: {\n margin: \"30px 0px 8px\",\n height: 40,\n width: \"100%\",\n boxShadow: \"none\",\n padding: \"16px 30px\",\n },\n learnMore: {\n textAlign: \"center\",\n fontSize: 10,\n \"& a\": {\n color: \"#2781B0\",\n },\n \"& .min-icon\": {\n marginLeft: 12,\n marginTop: 2,\n width: 10,\n },\n },\n separator: {\n marginLeft: 8,\n marginRight: 8,\n },\n linkHolder: {\n marginTop: 20,\n },\n miniLinks: {\n margin: \"auto\",\n fontSize: 10,\n textAlign: \"center\",\n color: \"#B2DEF5\",\n \"& a\": {\n color: \"#B2DEF5\",\n textDecoration: \"none\",\n },\n \"& .min-icon\": {\n height: 10,\n color: \"#B2DEF5\",\n },\n },\n miniLogo: {\n marginTop: 8,\n \"& .min-icon\": {\n height: 12,\n paddingTop: 2,\n },\n },\n loginPage: {\n height: \"100%\",\n margin: \"auto\",\n },\n loginContainer: {\n flexDirection: \"column\",\n \"& .right-items\": {\n backgroundColor: \"white\",\n borderRadius: 3,\n boxShadow: \"6px 6px 50\",\n padding: 20,\n },\n \"& .consoleTextBanner\": {\n fontWeight: 300,\n fontSize: \"calc(3vw + 3vh + 1.5vmin)\",\n lineHeight: 1.15,\n color: \"#ffffff\",\n flex: 1,\n textAlign: \"center\",\n height: \"100%\",\n display: \"flex\",\n justifyContent: \"flex-start\",\n margin: \"auto\",\n\n \"& .logoLine\": {\n display: \"flex\",\n alignItems: \"center\",\n fontSize: 18,\n marginTop: 40,\n },\n \"& .left-items\": {\n margin: \"auto\",\n paddingTop: 100,\n paddingBottom: 60,\n },\n \"& .left-logo\": {\n \"& .min-icon\": {\n color: \"white\",\n width: 108,\n },\n marginBottom: 10,\n },\n \"& .text-line1\": {\n font: \" 100 44px 'Lato'\",\n },\n \"& .text-line2\": {\n fontSize: 80,\n fontWeight: 100,\n textTransform: \"uppercase\",\n },\n \"& .text-line3\": {\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& .logo-console\": {\n display: \"flex\",\n alignItems: \"center\",\n\n \"@media (max-width: 900px)\": {\n marginTop: 20,\n flexFlow: \"column\",\n\n \"& svg\": {\n width: \"50%\",\n },\n },\n },\n },\n },\n \"@media (max-width: 900px)\": {\n loginContainer: {\n display: \"flex\",\n flexFlow: \"column\",\n\n \"& .consoleTextBanner\": {\n margin: 0,\n flex: 2,\n\n \"& .left-items\": {\n alignItems: \"center\",\n textAlign: \"center\",\n },\n\n \"& .logoLine\": {\n justifyContent: \"center\",\n },\n },\n },\n },\n loadingLoginStrategy: {\n textAlign: \"center\",\n width: 40,\n height: 40,\n },\n headerTitle: {\n marginRight: \"auto\",\n marginBottom: 15,\n },\n submitContainer: {\n textAlign: \"right\",\n },\n linearPredef: {\n height: 10,\n },\n\n loaderAlignment: {\n display: \"flex\",\n width: \"100%\",\n height: \"100%\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n },\n retryButton: {\n alignSelf: \"flex-end\",\n },\n loginComponentContainer: {\n maxWidth: 360,\n width: \"100%\",\n alignSelf: \"center\",\n },\n ...spacingUtils,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiOutlinedInput-root\": {\n paddingLeft: 0,\n \"& svg\": {\n marginLeft: 4,\n height: 14,\n color: theme.palette.primary.main,\n },\n \"& input\": {\n padding: 10,\n fontSize: 14,\n paddingLeft: 0,\n \"&::placeholder\": {\n fontSize: 12,\n },\n \"@media (max-width: 900px)\": {\n padding: 10,\n },\n },\n \"& fieldset\": {},\n\n \"& fieldset:hover\": {\n borderBottom: \"2px solid #000000\",\n borderRadius: 0,\n },\n },\n },\n })\n);\n\nfunction LoginField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n \n );\n}\n\nconst mapState = (state: SystemState) => ({\n loggedIn: state.loggedIn,\n});\n\nconst connector = connect(mapState, { userLoggedIn, setErrorSnackMessage });\n\n// The inferred type will look like:\n// {isOn: boolean, toggleOn: () => void}\n\ninterface ILoginProps {\n userLoggedIn: typeof userLoggedIn;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\ninterface LoginStrategyRoutes {\n [key: string]: string;\n}\n\ninterface LoginStrategyPayload {\n [key: string]: any;\n}\n\nconst Login = ({\n classes,\n userLoggedIn,\n setErrorSnackMessage,\n}: ILoginProps) => {\n const [accessKey, setAccessKey] = useState(\"\");\n const [jwt, setJwt] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [loginStrategy, setLoginStrategy] = useState({\n loginStrategy: loginStrategyType.unknown,\n redirect: \"\",\n });\n const [loginSending, setLoginSending] = useState(false);\n const [loadingFetchConfiguration, setLoadingFetchConfiguration] =\n useState(true);\n\n const [latestMinIOVersion, setLatestMinIOVersion] = useState(\"\");\n const [loadingVersion, setLoadingVersion] = useState(true);\n\n const loginStrategyEndpoints: LoginStrategyRoutes = {\n form: \"/api/v1/login\",\n \"service-account\": \"/api/v1/login/operator\",\n };\n const loginStrategyPayload: LoginStrategyPayload = {\n form: { accessKey, secretKey },\n \"service-account\": { jwt },\n };\n\n const fetchConfiguration = () => {\n setLoadingFetchConfiguration(true);\n };\n\n const formSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setLoginSending(true);\n api\n .invoke(\n \"POST\",\n loginStrategyEndpoints[loginStrategy.loginStrategy] || \"/api/v1/login\",\n loginStrategyPayload[loginStrategy.loginStrategy]\n )\n .then(() => {\n // We set the state in redux\n userLoggedIn(true);\n if (loginStrategy.loginStrategy === loginStrategyType.form) {\n localStorage.setItem(\"userLoggedIn\", encodeFileName(accessKey));\n }\n let targetPath = \"/\";\n if (\n localStorage.getItem(\"redirect-path\") &&\n localStorage.getItem(\"redirect-path\") !== \"\"\n ) {\n targetPath = `${localStorage.getItem(\"redirect-path\")}`;\n localStorage.setItem(\"redirect-path\", \"\");\n }\n history.push(targetPath);\n })\n .catch((err) => {\n setLoginSending(false);\n setErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (loadingFetchConfiguration) {\n api\n .invoke(\"GET\", \"/api/v1/login\")\n .then((loginDetails: ILoginDetails) => {\n setLoginStrategy(loginDetails);\n setLoadingFetchConfiguration(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingFetchConfiguration(false);\n });\n }\n }, [loadingFetchConfiguration, setErrorSnackMessage]);\n\n useEffect(() => {\n if (loadingVersion) {\n api\n .invoke(\"GET\", \"/api/v1/check-version\")\n .then(\n ({\n current_version,\n latest_version,\n }: {\n current_version: string;\n latest_version: string;\n }) => {\n setLatestMinIOVersion(latest_version);\n setLoadingVersion(false);\n }\n )\n .catch((err: ErrorResponseHandler) => {\n // try the operator version\n api\n .invoke(\"GET\", \"/api/v1/check-operator-version\")\n .then(\n ({\n current_version,\n latest_version,\n }: {\n current_version: string;\n latest_version: string;\n }) => {\n setLatestMinIOVersion(latest_version);\n setLoadingVersion(false);\n }\n )\n .catch((err: ErrorResponseHandler) => {\n setLoadingVersion(false);\n });\n });\n }\n }, [loadingVersion, setLoadingVersion, setLatestMinIOVersion]);\n\n let loginComponent = null;\n\n switch (loginStrategy.loginStrategy) {\n case loginStrategyType.form: {\n loginComponent = (\n \n
\n \n \n ) =>\n setAccessKey(e.target.value)\n }\n placeholder={\"Username\"}\n name=\"accessKey\"\n autoComplete=\"username\"\n disabled={loginSending}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n ) =>\n setSecretKey(e.target.value)\n }\n name=\"secretKey\"\n type=\"password\"\n id=\"secretKey\"\n autoComplete=\"current-password\"\n disabled={loginSending}\n placeholder={\"Password\"}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n \n \n Login\n \n \n \n {loginSending && }\n \n
\n
\n );\n break;\n }\n case loginStrategyType.redirect: {\n loginComponent = (\n \n \n Login with SSO\n \n \n );\n break;\n }\n case loginStrategyType.serviceAccount: {\n loginComponent = (\n \n
\n \n \n ) =>\n setJwt(e.target.value)\n }\n name=\"jwt\"\n autoComplete=\"off\"\n disabled={loginSending}\n placeholder={\"Enter JWT\"}\n variant={\"outlined\"}\n InputProps={{\n startAdornment: (\n \n \n \n ),\n }}\n />\n \n \n \n \n Login\n \n \n \n {loginSending && }\n \n
\n
\n );\n break;\n }\n default:\n loginComponent = (\n
\n {loadingFetchConfiguration ? (\n \n ) : (\n \n
\n

\n An error has occurred\n
\n The backend cannot be reached.\n

\n
\n
\n {\n fetchConfiguration();\n }}\n endIcon={}\n color={\"primary\"}\n variant=\"outlined\"\n id=\"retry\"\n className={classes.retryButton}\n >\n Retry\n \n
\n
\n )}\n
\n );\n }\n\n const consoleText =\n loginStrategy.loginStrategy === loginStrategyType.serviceAccount\n ? \"Operator\"\n : \"Console\";\n\n return (\n
\n \n \n
\n \n \n
\n
\n \n
\n
{consoleText}
\n
Multi-Cloud Object Storage
\n
\n
\n \n {loginComponent}\n
\n \n Learn more about Console \n \n
\n
\n \n
\n \n Documentation\n \n |\n \n Github\n \n |\n \n Support\n \n |\n \n Download\n \n
\n
\n \n Latest Version{\" \"}\n {!loadingVersion && latestMinIOVersion !== \"\" && (\n {latestMinIOVersion}\n )}\n \n
\n
\n \n
\n
\n );\n};\n\nexport default connector(withStyles(styles)(Login));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["loginStrategyType","props","xmlns","className","fill","viewBox","id","d","width","height","clipPath","transform","inputStyles","makeStyles","theme","createStyles","root","paddingLeft","marginLeft","color","palette","primary","main","padding","fontSize","borderBottom","borderRadius","LoginField","classes","TextField","variant","connect","state","loggedIn","userLoggedIn","setErrorSnackMessage","withStyles","position","top","left","overflow","form","submit","margin","boxShadow","learnMore","textAlign","marginTop","separator","marginRight","linkHolder","miniLinks","textDecoration","miniLogo","paddingTop","loginPage","loginContainer","flexDirection","backgroundColor","fontWeight","lineHeight","flex","display","justifyContent","alignItems","paddingBottom","marginBottom","font","textTransform","flexFlow","loadingLoginStrategy","headerTitle","submitContainer","linearPredef","loaderAlignment","retryButton","alignSelf","loginComponentContainer","maxWidth","spacingUtils","useState","accessKey","setAccessKey","jwt","setJwt","secretKey","setSecretKey","loginStrategy","unknown","redirect","setLoginStrategy","loginSending","setLoginSending","loadingFetchConfiguration","setLoadingFetchConfiguration","latestMinIOVersion","setLatestMinIOVersion","loadingVersion","setLoadingVersion","loginStrategyEndpoints","loginStrategyPayload","formSubmit","e","preventDefault","api","then","localStorage","setItem","encodeFileName","targetPath","getItem","history","catch","err","useEffect","loginDetails","current_version","latest_version","loginComponent","noValidate","onSubmit","Grid","container","spacing","item","xs","spacerBottom","fullWidth","inputField","value","onChange","target","placeholder","name","autoComplete","disabled","InputProps","startAdornment","InputAdornment","iconColor","type","Button","LinearProgress","component","href","serviceAccount","required","Loader","style","onClick","endIcon","RefreshIcon","consoleText","CssBaseline","MainError","rel","clsx","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","React","inProps","ref","useThemeProps","children","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","size","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1666.9098f0d4.chunk.js.map b/portal-ui/build/static/js/1666.9098f0d4.chunk.js.map deleted file mode 100644 index aa92b1cd6..000000000 --- a/portal-ui/build/static/js/1666.9098f0d4.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1666.9098f0d4.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { AddNewTagIcon } from \"../../../../icons\";\n\ninterface IBucketTagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddBucketTagModal = ({\n modalOpen,\n currentTags,\n onCloseAndUpdate,\n bucketName,\n setModalErrorSnackMessage,\n classes,\n}: IBucketTagModal) => {\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: newTagList,\n })\n .then((res: any) => {\n setIsSending(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n return (\n {\n onCloseAndUpdate(false);\n }}\n titleIcon={}\n >\n \n
\n Bucket: {bucketName}\n
\n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n Clear\n \n \n Save\n \n \n
\n \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddBucketTagModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","system","distributedSetup","get","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","spacingUtils","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","useState","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","title","onClose","titleIcon","container","className","spacerBottom","item","xs","formFieldRow","value","label","id","name","placeholder","onChange","e","target","modalButtonBar","type","variant","color","onClick","disabled","trim","newTag","newTagList","api","tags","then","res","catch","error","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","autoComplete","multiline","tooltip","index","required","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","state","modalSnackMessage","modalSnackBar","setModalSnackMessage","deleteDialogStyles","root","padding","content","paddingBottom","customDialogSize","width","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1666.9098f0d4.chunk.js b/portal-ui/build/static/js/1666.d207aa88.chunk.js similarity index 69% rename from portal-ui/build/static/js/1666.9098f0d4.chunk.js rename to portal-ui/build/static/js/1666.d207aa88.chunk.js index 69462d3aa..c52c20b1a 100644 --- a/portal-ui/build/static/js/1666.9098f0d4.chunk.js +++ b/portal-ui/build/static/js/1666.d207aa88.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1666],{23152:function(e,a,n){n.r(a);var t=n(23430),i=n(18489),o=n(50390),s=n(38342),l=n.n(s),r=n(34424),c=n(25594),d=n(66946),u=n(86509),m=n(4285),p=n(72462),h=n(44149),v=n(66964),x=n(51002),Z=n(30324),g=n(86362),f=n(62559),b={setModalErrorSnackMessage:h.zb},j=(0,r.$j)((function(e){var a=e.system;return{distributedSetup:l()(a,"distributedSetup",!1)}}),b);a.default=(0,m.Z)((function(e){return(0,u.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.DF),p.ID),p.bK))}))(j((function(e){var a=e.modalOpen,n=e.currentTags,s=e.onCloseAndUpdate,l=e.bucketName,r=e.setModalErrorSnackMessage,u=e.classes,m=(0,o.useState)(""),p=(0,t.Z)(m,2),h=p[0],b=p[1],j=(0,o.useState)(""),N=(0,t.Z)(j,2),C=N[0],k=N[1],y=(0,o.useState)(!1),w=(0,t.Z)(y,2),M=w[0],S=w[1];return(0,f.jsx)(x.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){s(!1)},titleIcon:(0,f.jsx)(g.OC,{}),children:(0,f.jsxs)(c.ZP,{container:!0,children:[(0,f.jsxs)("div",{className:u.spacerBottom,children:[(0,f.jsx)("strong",{children:"Bucket"}),": ",l]}),(0,f.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,f.jsx)(v.Z,{value:h,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){b(e.target.value)}})}),(0,f.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,f.jsx)(v.Z,{value:C,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){k(e.target.value)}})}),(0,f.jsxs)(c.ZP,{item:!0,xs:12,className:u.modalButtonBar,children:[(0,f.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){k(""),b("")},children:"Clear"}),(0,f.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===C.trim()||""===h.trim()||M,onClick:function(){S(!0);var e={};e[h]=C;var a=(0,i.Z)((0,i.Z)({},n),e);Z.Z.invoke("PUT","/api/v1/buckets/".concat(l,"/tags"),{tags:a}).then((function(e){S(!1),s(!0)})).catch((function(e){r(e),S(!1)}))},children:"Save"})]})]})})})))},66964:function(e,a,n){var t=n(18489),i=n(50390),o=n(12066),s=n(25594),l=n(36554),r=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),h=n(97538),v=n(44977),x=n(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function g(e){var a=Z();return(0,x.jsx)(o.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,f=void 0===Z?"off":Z,b=e.disabled,j=void 0!==b&&b,N=e.multiline,C=void 0!==N&&N,k=e.tooltip,y=void 0===k?"":k,w=e.index,M=void 0===w?0:w,S=e.error,P=void 0===S?"":S,T=e.required,B=void 0!==T&&T,L=e.placeholder,I=void 0===L?"":L,E=e.min,F=e.max,K=e.overlayId,W=e.overlayIcon,R=void 0===W?null:W,A=e.overlayObject,z=void 0===A?null:A,D=e.extraInputProps,O=void 0===D?{}:D,H=e.overlayAction,U=e.noLabelMinWidth,Y=void 0!==U&&U,$=e.pattern,_=void 0===$?"":$,q=e.autoFocus,G=void 0!==q&&q,Q=e.classes,J=e.className,V=void 0===J?"":J,X=e.onKeyPress,ee=(0,t.Z)({"data-index":M},O);return"number"===p&&E&&(ee.min=E),"number"===p&&F&&(ee.max=F),""!==_&&(ee.pattern=_),(0,x.jsx)(i.Fragment,{children:(0,x.jsxs)(s.ZP,{container:!0,className:(0,v.Z)(""!==V?V:"",""!==P?Q.errorInField:Q.inputBoxContainer),children:[""!==a&&(0,x.jsxs)(l.Z,{htmlFor:d,className:Y?Q.noMinWidthLabel:Q.inputLabel,children:[(0,x.jsxs)("span",{children:[a,B?"*":""]}),""!==y&&(0,x.jsx)("div",{className:Q.tooltipContainer,children:(0,x.jsx)(r.Z,{title:y,placement:"top-start",children:(0,x.jsx)("div",{className:Q.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsxs)("div",{className:Q.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:o,autoFocus:G,disabled:j,onChange:n,type:p,multiline:C,autoComplete:f,inputProps:ee,error:""!==P,helperText:P,placeholder:I,className:Q.inputRebase,onKeyPress:X}),R&&(0,x.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},id:K,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),z&&(0,x.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:z})]})]})})}))},51002:function(e,a,n){var t=n(23430),i=n(18489),o=n(50390),s=n(34424),l=n(95467),r=n(97771),c=n(84402),d=n(78426),u=n(93085),m=n(86509),p=n(4285),h=n(72462),v=n(44149),x=n(21278),Z=n(45980),g=n(62559),f=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:v.MK});a.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(f((function(e){var a=e.onClose,n=e.modalOpen,s=e.title,m=e.children,p=e.classes,h=e.wideLimit,v=void 0===h||h,f=e.modalSnackMessage,b=e.noContentPadding,j=e.setModalSnackMessage,N=e.titleIcon,C=void 0===N?null:N,k=(0,o.useState)(!1),y=(0,t.Z)(k,2),w=y[0],M=y[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(f){if(""===f.message)return void M(!1);"error"!==f.type&&M(!0)}}),[f]);var S=v?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return f&&(P=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(P=f.message)),(0,g.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:n,classes:p},S),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:p.root,children:[(0,g.jsxs)(d.Z,{className:p.title,children:[(0,g.jsxs)("div",{className:p.titleText,children:[C," ",s]}),(0,g.jsx)("div",{className:p.closeContainer,children:(0,g.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,g.jsx)(x.Z,{})})})]}),(0,g.jsx)(Z.Z,{isModal:!0}),(0,g.jsx)(r.Z,{open:w,className:p.snackBarModal,onClose:function(){M(!1),j("")},message:P,ContentProps:{className:"".concat(p.snackBar," ").concat(f&&"error"===f.type?p.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:b?"":p.content,children:m})]}))})))}}]); -//# sourceMappingURL=1666.9098f0d4.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1666],{23152:function(e,a,n){n.r(a);var t=n(23430),i=n(18489),o=n(50390),s=n(38342),l=n.n(s),r=n(34424),c=n(25594),d=n(66946),u=n(86509),m=n(4285),p=n(72462),h=n(44149),v=n(66964),x=n(51002),Z=n(30324),g=n(14549),f=n(62559),b={setModalErrorSnackMessage:h.zb},j=(0,r.$j)((function(e){var a=e.system;return{distributedSetup:l()(a,"distributedSetup",!1)}}),b);a.default=(0,m.Z)((function(e){return(0,u.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},p.DF),p.ID),p.bK))}))(j((function(e){var a=e.modalOpen,n=e.currentTags,s=e.onCloseAndUpdate,l=e.bucketName,r=e.setModalErrorSnackMessage,u=e.classes,m=(0,o.useState)(""),p=(0,t.Z)(m,2),h=p[0],b=p[1],j=(0,o.useState)(""),N=(0,t.Z)(j,2),C=N[0],k=N[1],y=(0,o.useState)(!1),w=(0,t.Z)(y,2),M=w[0],S=w[1];return(0,f.jsx)(x.Z,{modalOpen:a,title:"Add New Tag ",onClose:function(){s(!1)},titleIcon:(0,f.jsx)(g.OC,{}),children:(0,f.jsxs)(c.ZP,{container:!0,children:[(0,f.jsxs)("div",{className:u.spacerBottom,children:[(0,f.jsx)("strong",{children:"Bucket"}),": ",l]}),(0,f.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,f.jsx)(v.Z,{value:h,label:"New Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter New Tag Key",onChange:function(e){b(e.target.value)}})}),(0,f.jsx)(c.ZP,{item:!0,xs:12,className:u.formFieldRow,children:(0,f.jsx)(v.Z,{value:C,label:"New Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter New Tag Label",onChange:function(e){k(e.target.value)}})}),(0,f.jsxs)(c.ZP,{item:!0,xs:12,className:u.modalButtonBar,children:[(0,f.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){k(""),b("")},children:"Clear"}),(0,f.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===C.trim()||""===h.trim()||M,onClick:function(){S(!0);var e={};e[h]=C;var a=(0,i.Z)((0,i.Z)({},n),e);Z.Z.invoke("PUT","/api/v1/buckets/".concat(l,"/tags"),{tags:a}).then((function(e){S(!1),s(!0)})).catch((function(e){r(e),S(!1)}))},children:"Save"})]})]})})})))},66964:function(e,a,n){var t=n(18489),i=n(50390),o=n(12066),s=n(25594),l=n(36554),r=n(94187),c=n(95467),d=n(86509),u=n(62449),m=n(4285),p=n(72462),h=n(97538),v=n(44977),x=n(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},p.gM))}));function g(e){var a=Z();return(0,x.jsx)(o.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,m.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,f=void 0===Z?"off":Z,b=e.disabled,j=void 0!==b&&b,N=e.multiline,C=void 0!==N&&N,k=e.tooltip,y=void 0===k?"":k,w=e.index,M=void 0===w?0:w,S=e.error,T=void 0===S?"":S,B=e.required,L=void 0!==B&&B,P=e.placeholder,I=void 0===P?"":P,E=e.min,F=e.max,K=e.overlayId,W=e.overlayIcon,R=void 0===W?null:W,A=e.overlayObject,z=void 0===A?null:A,D=e.extraInputProps,O=void 0===D?{}:D,H=e.overlayAction,U=e.noLabelMinWidth,Y=void 0!==U&&U,$=e.pattern,_=void 0===$?"":$,q=e.autoFocus,G=void 0!==q&&q,Q=e.classes,J=e.className,V=void 0===J?"":J,X=e.onKeyPress,ee=(0,t.Z)({"data-index":M},O);return"number"===p&&E&&(ee.min=E),"number"===p&&F&&(ee.max=F),""!==_&&(ee.pattern=_),(0,x.jsx)(i.Fragment,{children:(0,x.jsxs)(s.ZP,{container:!0,className:(0,v.Z)(""!==V?V:"",""!==T?Q.errorInField:Q.inputBoxContainer),children:[""!==a&&(0,x.jsxs)(l.Z,{htmlFor:d,className:Y?Q.noMinWidthLabel:Q.inputLabel,children:[(0,x.jsxs)("span",{children:[a,L?"*":""]}),""!==y&&(0,x.jsx)("div",{className:Q.tooltipContainer,children:(0,x.jsx)(r.Z,{title:y,placement:"top-start",children:(0,x.jsx)("div",{className:Q.tooltip,children:(0,x.jsx)(h.Z,{})})})})]}),(0,x.jsxs)("div",{className:Q.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:o,autoFocus:G,disabled:j,onChange:n,type:p,multiline:C,autoComplete:f,inputProps:ee,error:""!==T,helperText:T,placeholder:I,className:Q.inputRebase,onKeyPress:X}),R&&(0,x.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,x.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},id:K,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),z&&(0,x.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==a?"withLabel":""),children:z})]})]})})}))},51002:function(e,a,n){var t=n(23430),i=n(18489),o=n(50390),s=n(34424),l=n(95467),r=n(97771),c=n(84402),d=n(78426),u=n(93085),m=n(86509),p=n(4285),h=n(72462),v=n(44149),x=n(21278),Z=n(45980),g=n(62559),f=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:v.MK});a.Z=(0,p.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(f((function(e){var a=e.onClose,n=e.modalOpen,s=e.title,m=e.children,p=e.classes,h=e.wideLimit,v=void 0===h||h,f=e.modalSnackMessage,b=e.noContentPadding,j=e.setModalSnackMessage,N=e.titleIcon,C=void 0===N?null:N,k=(0,o.useState)(!1),y=(0,t.Z)(k,2),w=y[0],M=y[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(f){if(""===f.message)return void M(!1);"error"!==f.type&&M(!0)}}),[f]);var S=v?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},T="";return f&&(T=f.detailedErrorMsg,(""===f.detailedErrorMsg||f.detailedErrorMsg.length<5)&&(T=f.message)),(0,g.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:n,classes:p},S),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&a()},className:p.root,children:[(0,g.jsxs)(d.Z,{className:p.title,children:[(0,g.jsxs)("div",{className:p.titleText,children:[C," ",s]}),(0,g.jsx)("div",{className:p.closeContainer,children:(0,g.jsx)(l.Z,{"aria-label":"close",id:"close",className:p.closeButton,onClick:a,disableRipple:!0,size:"small",children:(0,g.jsx)(x.Z,{})})})]}),(0,g.jsx)(Z.Z,{isModal:!0}),(0,g.jsx)(r.Z,{open:w,className:p.snackBarModal,onClose:function(){M(!1),j("")},message:T,ContentProps:{className:"".concat(p.snackBar," ").concat(f&&"error"===f.type?p.errorSnackBar:"")},autoHideDuration:f&&"error"===f.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:b?"":p.content,children:m})]}))})))}}]); +//# sourceMappingURL=1666.d207aa88.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1666.d207aa88.chunk.js.map b/portal-ui/build/static/js/1666.d207aa88.chunk.js.map new file mode 100644 index 000000000..284e4a9ac --- /dev/null +++ b/portal-ui/build/static/js/1666.d207aa88.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1666.d207aa88.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { AddNewTagIcon } from \"../../../../icons\";\n\ninterface IBucketTagModal {\n modalOpen: boolean;\n currentTags: any;\n bucketName: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddBucketTagModal = ({\n modalOpen,\n currentTags,\n onCloseAndUpdate,\n bucketName,\n setModalErrorSnackMessage,\n classes,\n}: IBucketTagModal) => {\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/tags`, {\n tags: newTagList,\n })\n .then((res: any) => {\n setIsSending(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n return (\n {\n onCloseAndUpdate(false);\n }}\n titleIcon={}\n >\n \n
\n Bucket: {bucketName}\n
\n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n Clear\n \n \n Save\n \n \n
\n \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddBucketTagModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["mapDispatchToProps","setModalErrorSnackMessage","connector","connect","system","distributedSetup","get","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","spacingUtils","modalOpen","currentTags","onCloseAndUpdate","bucketName","classes","useState","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","title","onClose","titleIcon","container","className","spacerBottom","item","xs","formFieldRow","value","label","id","name","placeholder","onChange","e","target","modalButtonBar","type","variant","color","onClick","disabled","trim","newTag","newTagList","api","tags","then","res","catch","error","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","autoComplete","multiline","tooltip","index","required","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","state","modalSnackMessage","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","width","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","length","open","scroll","event","reason","root","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1711.dfdfce0a.chunk.js b/portal-ui/build/static/js/1711.2657a246.chunk.js similarity index 70% rename from portal-ui/build/static/js/1711.dfdfce0a.chunk.js rename to portal-ui/build/static/js/1711.2657a246.chunk.js index da5fdcf14..5a8a08142 100644 --- a/portal-ui/build/static/js/1711.dfdfce0a.chunk.js +++ b/portal-ui/build/static/js/1711.2657a246.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1711],{31711:function(e,n,t){t.r(n);var i=t(23430),a=t(18489),o=t(50390),r=t(34424),l=t(66946),s=t(81378),c=t(86509),d=t(4285),u=t(25594),p=t(28948),m=t(44149),h=t(72462),x=t(92440),b=t(66964),f=t(51002),Z=t(30324),v=t(86362),g=t(1365),j=t(62559),C=(0,r.$j)(null,{setModalErrorSnackMessage:m.zb});n.default=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({},h.DF),h.ID))}))(C((function(e){var n=e.classes,t=e.open,a=e.enabled,r=e.cfg,c=e.selectedBucket,d=e.closeModalAndRefresh,m=e.setModalErrorSnackMessage,h=(0,o.useState)(!1),C=(0,i.Z)(h,2),k=C[0],N=C[1],y=(0,o.useState)(!1),F=(0,i.Z)(y,2),P=F[0],S=F[1],w=(0,o.useState)("1"),M=(0,i.Z)(w,2),B=M[0],L=M[1],E=(0,o.useState)("TiB"),q=(0,i.Z)(E,2),I=q[0],R=q[1];(0,o.useEffect)((function(){if(a&&(S(!0),r)){L("".concat(r.quota)),R("Gi");for(var e="B",n=r.quota,t=0;t1?w[1]:"OFF"}),(0,b.jsx)(f,{checked:v,onChange:r,color:"primary",name:m,inputProps:(0,a.Z)({"aria-label":"primary checkbox"},B),disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:l,id:s}),!k&&(0,b.jsx)("span",{className:(0,x.Z)(S.indicatorLabel,(0,i.Z)({},S.indicatorLabelOn,v)),children:w?w[0]:"ON"})]});return k?L:(0,b.jsx)("div",{className:S.divContainer,children:(0,b.jsxs)(p.ZP,{container:!0,alignItems:"center",children:[(0,b.jsx)(p.ZP,{item:!0,xs:!0,children:(0,b.jsxs)(p.ZP,{container:!0,children:[(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:""!==P?4:10,md:""!==P?3:9,children:""!==t&&(0,b.jsxs)(c.Z,{htmlFor:s,className:S.inputLabel,children:[(0,b.jsx)("span",{children:t}),""!==y&&(0,b.jsx)("div",{className:S.tooltipContainer,children:(0,b.jsx)(d.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:S.tooltip,children:(0,b.jsx)(h.Z,{})})})})]})}),(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==P&&(0,b.jsx)(u.Z,{component:"p",className:S.fieldDescription,children:P})})]})}),(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:S.switchContainer,children:L})]})})}))},66964:function(e,n,t){var i=t(18489),a=t(50390),o=t(12066),r=t(25594),l=t(36554),s=t(94187),c=t(95467),d=t(86509),u=t(62449),p=t(4285),m=t(72462),h=t(97538),x=t(44977),b=t(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function Z(e){var n=f();return(0,b.jsx)(o.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,f=e.autoComplete,v=void 0===f?"off":f,g=e.disabled,j=void 0!==g&&g,C=e.multiline,k=void 0!==C&&C,N=e.tooltip,y=void 0===N?"":N,F=e.index,P=void 0===F?0:F,S=e.error,w=void 0===S?"":S,M=e.required,B=void 0!==M&&M,L=e.placeholder,E=void 0===L?"":L,q=e.min,I=e.max,R=e.overlayId,z=e.overlayIcon,O=void 0===z?null:z,A=e.overlayObject,D=void 0===A?null:A,T=e.extraInputProps,W=void 0===T?{}:T,_=e.overlayAction,$=e.noLabelMinWidth,K=void 0!==$&&$,Q=e.pattern,U=void 0===Q?"":Q,H=e.autoFocus,V=void 0!==H&&H,Y=e.classes,G=e.className,X=void 0===G?"":G,J=e.onKeyPress,ee=(0,i.Z)({"data-index":P},W);return"number"===m&&q&&(ee.min=q),"number"===m&&I&&(ee.max=I),""!==U&&(ee.pattern=U),(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==w?Y.errorInField:Y.inputBoxContainer),children:[""!==n&&(0,b.jsxs)(l.Z,{htmlFor:d,className:K?Y.noMinWidthLabel:Y.inputLabel,children:[(0,b.jsxs)("span",{children:[n,B?"*":""]}),""!==y&&(0,b.jsx)("div",{className:Y.tooltipContainer,children:(0,b.jsx)(s.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:Y.tooltip,children:(0,b.jsx)(h.Z,{})})})})]}),(0,b.jsxs)("div",{className:Y.textBoxContainer,children:[(0,b.jsx)(Z,{id:d,name:u,fullWidth:!0,value:o,autoFocus:V,disabled:j,onChange:t,type:m,multiline:k,autoComplete:v,inputProps:ee,error:""!==w,helperText:w,placeholder:E,className:Y.inputRebase,onKeyPress:J}),O&&(0,b.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,b.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:O})}),D&&(0,b.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==n?"withLabel":""),children:D})]})]})})}))},1365:function(e,n,t){var i=t(23430),a=t(50390),o=t(86509),r=t(4285),l=t(26936),s=t(31680),c=t(62559);n.Z=(0,r.Z)((function(e){return(0,o.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var n=e.classes,t=e.id,o=e.unitSelected,r=e.unitsList,d=e.disabled,u=void 0!==d&&d,p=e.onUnitChange,m=a.useState(null),h=(0,i.Z)(m,2),x=h[0],b=h[1],f=Boolean(x),Z=function(e){b(null),""!==e&&p&&p(e)};return(0,c.jsxs)(a.Fragment,{children:[(0,c.jsx)("button",{id:"".concat(t,"-button"),"aria-controls":"".concat(t,"-menu"),"aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:function(e){b(e.currentTarget)},className:n.buttonTrigger,disabled:u,type:"button",children:o}),(0,c.jsx)(l.Z,{id:"".concat(t,"-menu"),"aria-labelledby":"".concat(t,"-button"),anchorEl:x,open:f,onClose:function(){Z("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:r.map((function(e){return(0,c.jsx)(s.Z,{onClick:function(){return Z(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})}))},51002:function(e,n,t){var i=t(23430),a=t(18489),o=t(50390),r=t(34424),l=t(95467),s=t(97771),c=t(84402),d=t(78426),u=t(93085),p=t(86509),m=t(4285),h=t(72462),x=t(44149),b=t(21278),f=t(45980),Z=t(62559),v=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(v((function(e){var n=e.onClose,t=e.modalOpen,r=e.title,p=e.children,m=e.classes,h=e.wideLimit,x=void 0===h||h,v=e.modalSnackMessage,g=e.noContentPadding,j=e.setModalSnackMessage,C=e.titleIcon,k=void 0===C?null:C,N=(0,o.useState)(!1),y=(0,i.Z)(N,2),F=y[0],P=y[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(v){if(""===v.message)return void P(!1);"error"!==v.type&&P(!0)}}),[v]);var S=x?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return v&&(w=v.detailedErrorMsg,(""===v.detailedErrorMsg||v.detailedErrorMsg.length<5)&&(w=v.message)),(0,Z.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:t,classes:m},S),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:m.root,children:[(0,Z.jsxs)(d.Z,{className:m.title,children:[(0,Z.jsxs)("div",{className:m.titleText,children:[k," ",r]}),(0,Z.jsx)("div",{className:m.closeContainer,children:(0,Z.jsx)(l.Z,{"aria-label":"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,Z.jsx)(b.Z,{})})})]}),(0,Z.jsx)(f.Z,{isModal:!0}),(0,Z.jsx)(s.Z,{open:F,className:m.snackBarModal,onClose:function(){P(!1),j("")},message:w,ContentProps:{className:"".concat(m.snackBar," ").concat(v&&"error"===v.type?m.errorSnackBar:"")},autoHideDuration:v&&"error"===v.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))}}]); -//# sourceMappingURL=1711.dfdfce0a.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1711],{31711:function(e,n,t){t.r(n);var i=t(23430),a=t(18489),o=t(50390),l=t(34424),r=t(66946),s=t(81378),c=t(86509),d=t(4285),u=t(25594),p=t(28948),m=t(44149),h=t(72462),x=t(92440),b=t(66964),f=t(51002),Z=t(30324),v=t(14549),g=t(1365),j=t(62559),C=(0,l.$j)(null,{setModalErrorSnackMessage:m.zb});n.default=(0,d.Z)((function(e){return(0,c.Z)((0,a.Z)((0,a.Z)({},h.DF),h.ID))}))(C((function(e){var n=e.classes,t=e.open,a=e.enabled,l=e.cfg,c=e.selectedBucket,d=e.closeModalAndRefresh,m=e.setModalErrorSnackMessage,h=(0,o.useState)(!1),C=(0,i.Z)(h,2),k=C[0],N=C[1],y=(0,o.useState)(!1),F=(0,i.Z)(y,2),P=F[0],S=F[1],w=(0,o.useState)("1"),M=(0,i.Z)(w,2),B=M[0],L=M[1],E=(0,o.useState)("TiB"),q=(0,i.Z)(E,2),I=q[0],R=q[1];(0,o.useEffect)((function(){if(a&&(S(!0),l)){L("".concat(l.quota)),R("Gi");for(var e="B",n=l.quota,t=0;t1?w[1]:"OFF"}),(0,b.jsx)(f,{checked:v,onChange:l,color:"primary",name:m,inputProps:(0,a.Z)({"aria-label":"primary checkbox"},B),disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r,id:s}),!k&&(0,b.jsx)("span",{className:(0,x.Z)(S.indicatorLabel,(0,i.Z)({},S.indicatorLabelOn,v)),children:w?w[0]:"ON"})]});return k?L:(0,b.jsx)("div",{className:S.divContainer,children:(0,b.jsxs)(p.ZP,{container:!0,alignItems:"center",children:[(0,b.jsx)(p.ZP,{item:!0,xs:!0,children:(0,b.jsxs)(p.ZP,{container:!0,children:[(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:""!==P?4:10,md:""!==P?3:9,children:""!==t&&(0,b.jsxs)(c.Z,{htmlFor:s,className:S.inputLabel,children:[(0,b.jsx)("span",{children:t}),""!==y&&(0,b.jsx)("div",{className:S.tooltipContainer,children:(0,b.jsx)(d.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:S.tooltip,children:(0,b.jsx)(h.Z,{})})})})]})}),(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==P&&(0,b.jsx)(u.Z,{component:"p",className:S.fieldDescription,children:P})})]})}),(0,b.jsx)(p.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:S.switchContainer,children:L})]})})}))},66964:function(e,n,t){var i=t(18489),a=t(50390),o=t(12066),l=t(25594),r=t(36554),s=t(94187),c=t(95467),d=t(86509),u=t(62449),p=t(4285),m=t(72462),h=t(97538),x=t(44977),b=t(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function Z(e){var n=f();return(0,b.jsx)(o.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,f=e.autoComplete,v=void 0===f?"off":f,g=e.disabled,j=void 0!==g&&g,C=e.multiline,k=void 0!==C&&C,N=e.tooltip,y=void 0===N?"":N,F=e.index,P=void 0===F?0:F,S=e.error,w=void 0===S?"":S,M=e.required,B=void 0!==M&&M,L=e.placeholder,E=void 0===L?"":L,q=e.min,I=e.max,R=e.overlayId,z=e.overlayIcon,O=void 0===z?null:z,A=e.overlayObject,D=void 0===A?null:A,T=e.extraInputProps,W=void 0===T?{}:T,_=e.overlayAction,$=e.noLabelMinWidth,K=void 0!==$&&$,Q=e.pattern,U=void 0===Q?"":Q,H=e.autoFocus,V=void 0!==H&&H,Y=e.classes,G=e.className,X=void 0===G?"":G,J=e.onKeyPress,ee=(0,i.Z)({"data-index":P},W);return"number"===m&&q&&(ee.min=q),"number"===m&&I&&(ee.max=I),""!==U&&(ee.pattern=U),(0,b.jsx)(a.Fragment,{children:(0,b.jsxs)(l.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==w?Y.errorInField:Y.inputBoxContainer),children:[""!==n&&(0,b.jsxs)(r.Z,{htmlFor:d,className:K?Y.noMinWidthLabel:Y.inputLabel,children:[(0,b.jsxs)("span",{children:[n,B?"*":""]}),""!==y&&(0,b.jsx)("div",{className:Y.tooltipContainer,children:(0,b.jsx)(s.Z,{title:y,placement:"top-start",children:(0,b.jsx)("div",{className:Y.tooltip,children:(0,b.jsx)(h.Z,{})})})})]}),(0,b.jsxs)("div",{className:Y.textBoxContainer,children:[(0,b.jsx)(Z,{id:d,name:u,fullWidth:!0,value:o,autoFocus:V,disabled:j,onChange:t,type:m,multiline:k,autoComplete:v,inputProps:ee,error:""!==w,helperText:w,placeholder:E,className:Y.inputRebase,onKeyPress:J}),O&&(0,b.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,b.jsx)(c.Z,{onClick:_?function(){_()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:O})}),D&&(0,b.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==n?"withLabel":""),children:D})]})]})})}))},1365:function(e,n,t){var i=t(23430),a=t(50390),o=t(86509),l=t(4285),r=t(26936),s=t(31680),c=t(62559);n.Z=(0,l.Z)((function(e){return(0,o.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var n=e.classes,t=e.id,o=e.unitSelected,l=e.unitsList,d=e.disabled,u=void 0!==d&&d,p=e.onUnitChange,m=a.useState(null),h=(0,i.Z)(m,2),x=h[0],b=h[1],f=Boolean(x),Z=function(e){b(null),""!==e&&p&&p(e)};return(0,c.jsxs)(a.Fragment,{children:[(0,c.jsx)("button",{id:"".concat(t,"-button"),"aria-controls":"".concat(t,"-menu"),"aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:function(e){b(e.currentTarget)},className:n.buttonTrigger,disabled:u,type:"button",children:o}),(0,c.jsx)(r.Z,{id:"".concat(t,"-menu"),"aria-labelledby":"".concat(t,"-button"),anchorEl:x,open:f,onClose:function(){Z("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:l.map((function(e){return(0,c.jsx)(s.Z,{onClick:function(){return Z(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})}))},51002:function(e,n,t){var i=t(23430),a=t(18489),o=t(50390),l=t(34424),r=t(95467),s=t(97771),c=t(84402),d=t(78426),u=t(93085),p=t(86509),m=t(4285),h=t(72462),x=t(44149),b=t(21278),f=t(45980),Z=t(62559),v=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(v((function(e){var n=e.onClose,t=e.modalOpen,l=e.title,p=e.children,m=e.classes,h=e.wideLimit,x=void 0===h||h,v=e.modalSnackMessage,g=e.noContentPadding,j=e.setModalSnackMessage,C=e.titleIcon,k=void 0===C?null:C,N=(0,o.useState)(!1),y=(0,i.Z)(N,2),F=y[0],P=y[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(v){if(""===v.message)return void P(!1);"error"!==v.type&&P(!0)}}),[v]);var S=x?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return v&&(w=v.detailedErrorMsg,(""===v.detailedErrorMsg||v.detailedErrorMsg.length<5)&&(w=v.message)),(0,Z.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:t,classes:m},S),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:m.root,children:[(0,Z.jsxs)(d.Z,{className:m.title,children:[(0,Z.jsxs)("div",{className:m.titleText,children:[k," ",l]}),(0,Z.jsx)("div",{className:m.closeContainer,children:(0,Z.jsx)(r.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,Z.jsx)(b.Z,{})})})]}),(0,Z.jsx)(f.Z,{isModal:!0}),(0,Z.jsx)(s.Z,{open:F,className:m.snackBarModal,onClose:function(){P(!1),j("")},message:w,ContentProps:{className:"".concat(m.snackBar," ").concat(v&&"error"===v.type?m.errorSnackBar:"")},autoHideDuration:v&&"error"===v.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))}}]); +//# sourceMappingURL=1711.2657a246.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1711.2657a246.chunk.js.map b/portal-ui/build/static/js/1711.2657a246.chunk.js.map new file mode 100644 index 000000000..9ed78ca81 --- /dev/null +++ b/portal-ui/build/static/js/1711.2657a246.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1711.2657a246.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n getBytes,\n k8sScalarUnitsExcluding,\n units,\n} from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableQuotaProps) => {\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"TiB\");\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n setQuotaSize(`${cfg.quota}`);\n setQuotaUnit(`Gi`);\n\n let maxUnit = \"B\";\n let maxQuota = cfg.quota;\n\n for (let i = 0; i < units.length; i++) {\n if (cfg.quota % Math.pow(1024, i) === 0) {\n maxQuota = cfg.quota / Math.pow(1024, i);\n maxUnit = units[i];\n } else {\n break;\n }\n }\n setQuotaSize(`${maxQuota}`);\n setQuotaUnit(maxUnit);\n }\n }\n }, [enabled, cfg]);\n\n const enableBucketEncryption = () => {\n if (loading) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, true)),\n quota_type: \"hard\",\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n enableBucketEncryption();\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Enabled\"}\n />\n \n {quotaEnabled && (\n \n \n \n \n ) => {\n if (e.target.validity.valid) {\n setQuotaSize(e.target.value);\n }\n }}\n pattern={\"[0-9]*\"}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n overlayObject={\n {\n setQuotaUnit(newValue);\n }}\n unitSelected={quotaUnit}\n unitsList={k8sScalarUnitsExcluding([\"Ki\"])}\n disabled={false}\n />\n }\n />\n \n \n \n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n\n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableQuota));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange?: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\" && onUnitChange) {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n {unitSelected}\n \n {\n handleClose(\"\");\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {unitsList.map((unit) => (\n handleClose(unit.value)}\n key={`itemUnit-${unit.value}-${unit.label}`}\n >\n {unit.label}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","useEffect","quota","maxUnit","maxQuota","i","units","Math","pow","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","event","target","label","validity","valid","pattern","required","min","overlayObject","onUnitChange","newValue","unitSelected","unitsList","k8sScalarUnitsExcluding","disabled","modalButtonBar","type","variant","color","onClick","StyledSwitch","root","width","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","switchOnly","description","indicatorLabels","extraInputProps","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","multiline","index","error","placeholder","max","overlayId","overlayIcon","noLabelMinWidth","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","buttonTrigger","React","anchorEl","setAnchorEl","Boolean","handleClose","newUnit","Fragment","undefined","currentTarget","anchorOrigin","vertical","horizontal","transformOrigin","map","unit","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1711.dfdfce0a.chunk.js.map b/portal-ui/build/static/js/1711.dfdfce0a.chunk.js.map deleted file mode 100644 index 831261dd1..000000000 --- a/portal-ui/build/static/js/1711.dfdfce0a.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1711.dfdfce0a.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableQuota.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n getBytes,\n k8sScalarUnitsExcluding,\n units,\n} from \"../../../../common/utils\";\nimport { BucketQuota } from \"../types\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../common/api\";\nimport { BucketQuotaIcon } from \"../../../../icons\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IEnableQuotaProps {\n classes: any;\n open: boolean;\n enabled: boolean;\n cfg: BucketQuota | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableQuota = ({\n classes,\n open,\n enabled,\n cfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableQuotaProps) => {\n const [loading, setLoading] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quotaSize, setQuotaSize] = useState(\"1\");\n const [quotaUnit, setQuotaUnit] = useState(\"TiB\");\n\n useEffect(() => {\n if (enabled) {\n setQuotaEnabled(true);\n if (cfg) {\n setQuotaSize(`${cfg.quota}`);\n setQuotaUnit(`Gi`);\n\n let maxUnit = \"B\";\n let maxQuota = cfg.quota;\n\n for (let i = 0; i < units.length; i++) {\n if (cfg.quota % Math.pow(1024, i) === 0) {\n maxQuota = cfg.quota / Math.pow(1024, i);\n maxUnit = units[i];\n } else {\n break;\n }\n }\n setQuotaSize(`${maxQuota}`);\n setQuotaUnit(maxUnit);\n }\n }\n }, [enabled, cfg]);\n\n const enableBucketEncryption = () => {\n if (loading) {\n return;\n }\n let req = {\n enabled: quotaEnabled,\n amount: parseInt(getBytes(quotaSize, quotaUnit, true)),\n quota_type: \"hard\",\n };\n\n api\n .invoke(\"PUT\", `/api/v1/buckets/${selectedBucket}/quota`, req)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Quota\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n enableBucketEncryption();\n }}\n >\n \n \n \n ) => {\n setQuotaEnabled(event.target.checked);\n }}\n label={\"Enabled\"}\n />\n \n {quotaEnabled && (\n \n \n \n \n ) => {\n if (e.target.validity.valid) {\n setQuotaSize(e.target.value);\n }\n }}\n pattern={\"[0-9]*\"}\n label=\"Quota\"\n value={quotaSize}\n required\n min=\"1\"\n overlayObject={\n {\n setQuotaUnit(newValue);\n }}\n unitSelected={quotaUnit}\n unitsList={k8sScalarUnitsExcluding([\"Ki\"])}\n disabled={false}\n />\n }\n />\n \n \n \n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n\n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableQuota));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
\n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n
\n )}\n
\n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
\n
\n\n \n {switchComponent}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange?: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\" && onUnitChange) {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n {unitSelected}\n \n {\n handleClose(\"\");\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {unitsList.map((unit) => (\n handleClose(unit.value)}\n key={`itemUnit-${unit.value}-${unit.label}`}\n >\n {unit.label}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","formFieldStyles","modalStyleUtils","classes","open","enabled","cfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","quotaEnabled","setQuotaEnabled","quotaSize","setQuotaSize","quotaUnit","setQuotaUnit","useEffect","quota","maxUnit","maxQuota","i","units","Math","pow","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","req","amount","parseInt","getBytes","quota_type","api","then","catch","err","enableBucketEncryption","container","item","xs","className","formScrollable","formFieldRow","value","id","name","checked","onChange","event","target","label","validity","valid","pattern","required","min","overlayObject","onUnitChange","newValue","unitSelected","unitsList","k8sScalarUnitsExcluding","disabled","modalButtonBar","type","variant","color","onClick","StyledSwitch","root","width","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","switchOnly","description","indicatorLabels","extraInputProps","switchComponent","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","md","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","multiline","index","error","placeholder","max","overlayId","overlayIcon","noLabelMinWidth","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","size","buttonTrigger","React","anchorEl","setAnchorEl","Boolean","handleClose","newUnit","Fragment","undefined","currentTarget","anchorOrigin","vertical","horizontal","transformOrigin","map","unit","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1719.a1c5fbc9.chunk.js b/portal-ui/build/static/js/1719.e7bff050.chunk.js similarity index 98% rename from portal-ui/build/static/js/1719.a1c5fbc9.chunk.js rename to portal-ui/build/static/js/1719.e7bff050.chunk.js index c8faccf55..6d6d2ad09 100644 --- a/portal-ui/build/static/js/1719.a1c5fbc9.chunk.js +++ b/portal-ui/build/static/js/1719.e7bff050.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1719],{66964:function(e,n,t){var a=t(18489),o=t(50390),i=t(12066),s=t(25594),r=t(36554),l=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),p=t(72462),v=t(97538),h=t(44977),Z=t(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},p.gM))}));function x(e){var n=f();return(0,Z.jsx)(i.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,f=e.autoComplete,b=void 0===f?"off":f,j=e.disabled,g=void 0!==j&&j,y=e.multiline,P=void 0!==y&&y,C=e.tooltip,N=void 0===C?"":C,E=e.index,I=void 0===E?0:E,L=e.error,S=void 0===L?"":L,k=e.required,w=void 0!==k&&k,T=e.placeholder,M=void 0===T?"":T,A=e.min,F=e.max,R=e.overlayId,B=e.overlayIcon,z=void 0===B?null:B,K=e.overlayObject,D=void 0===K?null:K,O=e.extraInputProps,W=void 0===O?{}:O,H=e.overlayAction,G=e.noLabelMinWidth,Y=void 0!==G&&G,$=e.pattern,_=void 0===$?"":$,q=e.autoFocus,Q=void 0!==q&&q,U=e.classes,V=e.className,X=void 0===V?"":V,J=e.onKeyPress,ee=(0,a.Z)({"data-index":I},W);return"number"===p&&A&&(ee.min=A),"number"===p&&F&&(ee.max=F),""!==_&&(ee.pattern=_),(0,Z.jsx)(o.Fragment,{children:(0,Z.jsxs)(s.ZP,{container:!0,className:(0,h.Z)(""!==X?X:"",""!==S?U.errorInField:U.inputBoxContainer),children:[""!==n&&(0,Z.jsxs)(r.Z,{htmlFor:d,className:Y?U.noMinWidthLabel:U.inputLabel,children:[(0,Z.jsxs)("span",{children:[n,w?"*":""]}),""!==N&&(0,Z.jsx)("div",{className:U.tooltipContainer,children:(0,Z.jsx)(l.Z,{title:N,placement:"top-start",children:(0,Z.jsx)("div",{className:U.tooltip,children:(0,Z.jsx)(v.Z,{})})})})]}),(0,Z.jsxs)("div",{className:U.textBoxContainer,children:[(0,Z.jsx)(x,{id:d,name:u,fullWidth:!0,value:i,autoFocus:Q,disabled:g,onChange:t,type:p,multiline:P,autoComplete:b,inputProps:ee,error:""!==S,helperText:S,placeholder:M,className:U.inputRebase,onKeyPress:J}),z&&(0,Z.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,Z.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),D&&(0,Z.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==n?"withLabel":""),children:D})]})]})})}))},21639:function(e,n,t){var a=t(23430),o=t(50390),i=t(30324);n.Z=function(e,n){var t=(0,o.useState)(!1),s=(0,a.Z)(t,2),r=s[0],l=s[1];return[r,function(t,a,o){l(!0),i.Z.invoke(t,a,o).then((function(n){l(!1),e(n)})).catch((function(e){l(!1),n(e)}))}]}},60656:function(e,n,t){var a=t(18489),o=t(50390),i=t(84402),s=t(78426),r=t(93085),l=t(7887),c=t(66946),d=t(7521),u=t(95467),m=t(21278),p=t(86509),v=t(4285),h=t(72462),Z=t(62559);n.Z=(0,v.Z)((function(e){return(0,p.Z)((0,a.Z)({},h.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,p=e.onClose,v=e.onCancel,h=e.onConfirm,f=e.classes,x=void 0===f?{}:f,b=e.title,j=void 0===b?"":b,g=e.isLoading,y=e.confirmationContent,P=e.cancelText,C=void 0===P?"Cancel":P,N=e.confirmText,E=void 0===N?"Confirm":N,I=e.confirmButtonProps,L=void 0===I?{}:I,S=e.cancelButtonProps,k=void 0===S?{}:S,w=e.titleIcon,T=void 0===w?null:w;return(0,Z.jsxs)(i.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&p()},className:x.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,Z.jsxs)(s.Z,{className:x.title,children:[(0,Z.jsxs)("div",{className:x.titleText,children:[T," ",j]}),(0,Z.jsx)("div",{className:x.closeContainer,children:(0,Z.jsx)(u.Z,{"aria-label":"close",className:x.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,Z.jsx)(m.Z,{})})})]}),(0,Z.jsx)(r.Z,{className:x.content,children:y}),(0,Z.jsxs)(l.Z,{className:x.actions,children:[(0,Z.jsx)(c.Z,(0,a.Z)((0,a.Z)({className:x.cancelButton,onClick:v||p,disabled:g,type:"button"},k),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:C})),(0,Z.jsx)(d.Z,(0,a.Z)((0,a.Z)({className:x.confirmButton,type:"button",onClick:h,loading:g,disabled:g,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,Z.jsx)(o.Fragment,{}),autoFocus:!0,id:"confirm-ok"},L),{},{children:E}))]})]})}))},51719:function(e,n,t){t.r(n),t.d(n,{default:function(){return E}});var a=t(23430),o=t(18489),i=t(50390),s=t(34424),r=t(86509),l=t(4285),c=t(72462),d=t(28948),u=t(44149),m=t(30324),p=t(8174),v=t(23473),h=t(66964),Z=t(25594),f=t(21639),x=t(60656),b=t(86362),j=t(62559),g=(0,s.$j)(null,{setErrorSnackMessage:u.Ih})((function(e){var n=e.deleteOpen,t=e.selectedPod,o=e.closeDeleteModalAndRefresh,s=e.setErrorSnackMessage,r=(0,i.useState)(""),l=(0,a.Z)(r,2),c=l[0],d=l[1],u=(0,f.Z)((function(){return o(!0)}),(function(e){return s(e)})),m=(0,a.Z)(u,2),p=m[0],g=m[1];return(0,j.jsx)(x.Z,{title:"Delete Pod",confirmText:"Delete",isOpen:n,titleIcon:(0,j.jsx)(b.Nv,{}),isLoading:p,onConfirm:function(){c===t.name?g("DELETE","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.tenant,"/pods/").concat(t.name)):s({errorMessage:"Tenant name is incorrect",detailedError:""})},onClose:function(){return o(!1)},confirmButtonProps:{disabled:c!==t.name||p},confirmationContent:(0,j.jsxs)(v.Z,{children:["To continue please type ",(0,j.jsx)("b",{children:t.name})," in the box.",(0,j.jsx)(Z.ZP,{item:!0,xs:12,children:(0,j.jsx)(h.Z,{id:"retype-pod",name:"retype-pod",onChange:function(e){d(e.target.value)},label:"",value:c})})]})})})),y=t(12066),P=t(65771),C=t(13336),N=(0,s.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant}}),{setErrorSnackMessage:u.Ih}),E=(0,l.Z)((function(e){return(0,r.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},c.oZ),c.VX),(0,c.Bz)(e.spacing(4))))}))(N((function(e){var n=e.classes,t=e.match,o=e.history,s=e.loadingTenant,r=(0,i.useState)([]),l=(0,a.Z)(r,2),c=l[0],v=l[1],h=(0,i.useState)(!0),f=(0,a.Z)(h,2),x=f[0],b=f[1],N=(0,i.useState)(!1),E=(0,a.Z)(N,2),I=E[0],L=E[1],S=(0,i.useState)(null),k=(0,a.Z)(S,2),w=k[0],T=k[1],M=(0,i.useState)(""),A=(0,a.Z)(M,2),F=A[0],R=A[1],B=t.params.tenantName,z=t.params.tenantNamespace,K=c.filter((function(e){return e.name.toLowerCase().includes(F.toLowerCase())})),D=[{type:"view",onClick:function(e){o.push("/namespaces/".concat(z,"/tenants/").concat(B,"/pods/").concat(e.name))}},{type:"delete",onClick:function(e){e.tenant=B,e.namespace=z,T(e),L(!0)}}];return(0,i.useEffect)((function(){s&&b(!0)}),[s]),(0,i.useEffect)((function(){x&&m.Z.invoke("GET","/api/v1/namespaces/".concat(z,"/tenants/").concat(B,"/pods")).then((function(e){for(var n=0;n.\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePod) => {\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePod !== selectedPod.name) {\n setErrorSnackMessage({\n errorMessage: \"Tenant name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPod.namespace}/tenants/${selectedPod.tenant}/pods/${selectedPod.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePod !== selectedPod.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPod.name} in the box.\n \n ) => {\n setRetypePod(event.target.value);\n }}\n label=\"\"\n value={retypePod}\n />\n \n \n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePod);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\n\ninterface IPodsSummary {\n classes: any;\n match: any;\n history: any;\n loadingTenant: boolean;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({\n classes,\n match,\n history,\n loadingTenant,\n}: IPodsSummary) => {\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n const [filter, setFilter] = useState(\"\");\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n const podViewAction = (pod: IPodListElement) => {\n history.push(\n `/namespaces/${tenantNamespace}/tenants/${tenantName}/pods/${pod.name}`\n );\n return;\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoadingPods(true);\n };\n\n const confirmDeletePod = (pod: IPodListElement) => {\n pod.tenant = tenantName;\n pod.namespace = tenantNamespace;\n setSelectedPod(pod);\n setDeleteOpen(true);\n };\n\n const filteredRecords: IPodListElement[] = pods.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const podTableActions = [\n { type: \"view\", onClick: podViewAction },\n { type: \"delete\", onClick: confirmDeletePod },\n ];\n\n useEffect(() => {\n if (loadingTenant) {\n setLoadingPods(true);\n }\n }, [loadingTenant]);\n\n useEffect(() => {\n if (loadingPods) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/pods`\n )\n .then((result: IPodListElement[]) => {\n for (let i = 0; i < result.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n result[i].time = niceDays(\n (currentTime - parseInt(result[i].timeCreated)).toString()\n );\n }\n setPods(result);\n setLoadingPods(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [loadingPods, tenantName, tenantNamespace]);\n\n return (\n \n {deleteOpen && (\n \n )}\n

Pods

\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={filteredRecords}\n itemActions={podTableActions}\n entityName=\"Pods\"\n idField=\"name\"\n />\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PodsSummary));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","onKeyPress","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connect","setErrorSnackMessage","deleteOpen","selectedPod","closeDeleteModalAndRefresh","retypePod","setRetypePod","useApi","deleteLoading","invokeDeleteApi","ConfirmDialog","namespace","tenant","errorMessage","detailedError","DialogContentText","Grid","item","xs","InputBoxWrapper","target","connector","state","loadingTenant","tenants","tenantDetails","tenantDetailsStyles","tableStyles","containerForHeader","spacing","match","history","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","filter","setFilter","tenantName","params","tenantNamespace","filteredRecords","elementItem","toLowerCase","includes","podTableActions","pod","push","useEffect","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","Fragment","reloadData","sectionTitle","actionsTray","TextField","searchField","disableUnderline","startAdornment","InputAdornment","SearchIcon","e","tableBlock","TableWrapper","columns","elementKey","width","renderFunction","input","records","itemActions","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","display","height","alignItems","whiteSpace","palette","action","active","inputAdornmentClasses","marginTop","marginRight","marginLeft","pointerEvents","React","inProps","ref","useThemeProps","children","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/1719.e7bff050.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Tenants/TenantDetails/DeletePod.tsx","screens/Console/Tenants/TenantDetails/PodsSummary.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
\n {titleIcon} {title}\n
\n
\n \n \n \n
\n
\n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\n\ninterface IDeletePod {\n deleteOpen: boolean;\n selectedPod: IPodListElement;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePod = ({\n deleteOpen,\n selectedPod,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePod) => {\n const [retypePod, setRetypePod] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePod !== selectedPod.name) {\n setErrorSnackMessage({\n errorMessage: \"Tenant name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPod.namespace}/tenants/${selectedPod.tenant}/pods/${selectedPod.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePod !== selectedPod.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPod.name} in the box.\n \n ) => {\n setRetypePod(event.target.value);\n }}\n label=\"\"\n value={retypePod}\n />\n \n \n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePod);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { IPodListElement } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport api from \"../../../../common/api\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport DeletePod from \"./DeletePod\";\nimport { Grid, InputAdornment, TextField } from \"@mui/material\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\n\ninterface IPodsSummary {\n classes: any;\n match: any;\n history: any;\n loadingTenant: boolean;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PodsSummary = ({\n classes,\n match,\n history,\n loadingTenant,\n}: IPodsSummary) => {\n const [pods, setPods] = useState([]);\n const [loadingPods, setLoadingPods] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPod, setSelectedPod] = useState(null);\n const [filter, setFilter] = useState(\"\");\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n const podViewAction = (pod: IPodListElement) => {\n history.push(\n `/namespaces/${tenantNamespace}/tenants/${tenantName}/pods/${pod.name}`\n );\n return;\n };\n\n const closeDeleteModalAndRefresh = (reloadData: boolean) => {\n setDeleteOpen(false);\n setLoadingPods(true);\n };\n\n const confirmDeletePod = (pod: IPodListElement) => {\n pod.tenant = tenantName;\n pod.namespace = tenantNamespace;\n setSelectedPod(pod);\n setDeleteOpen(true);\n };\n\n const filteredRecords: IPodListElement[] = pods.filter((elementItem) =>\n elementItem.name.toLowerCase().includes(filter.toLowerCase())\n );\n\n const podTableActions = [\n { type: \"view\", onClick: podViewAction },\n { type: \"delete\", onClick: confirmDeletePod },\n ];\n\n useEffect(() => {\n if (loadingTenant) {\n setLoadingPods(true);\n }\n }, [loadingTenant]);\n\n useEffect(() => {\n if (loadingPods) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/pods`\n )\n .then((result: IPodListElement[]) => {\n for (let i = 0; i < result.length; i++) {\n let currentTime = (Date.now() / 1000) | 0;\n result[i].time = niceDays(\n (currentTime - parseInt(result[i].timeCreated)).toString()\n );\n }\n setPods(result);\n setLoadingPods(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error loading pods\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [loadingPods, tenantName, tenantNamespace]);\n\n return (\n \n {deleteOpen && (\n \n )}\n

Pods

\n \n \n \n \n ),\n }}\n onChange={(e) => {\n setFilter(e.target.value);\n }}\n variant=\"standard\"\n />\n \n \n {\n return input !== null ? input : 0;\n },\n },\n { label: \"Node\", elementKey: \"node\" },\n ]}\n isLoading={loadingPods}\n records={filteredRecords}\n itemActions={podTableActions}\n entityName=\"Pods\"\n idField=\"name\"\n />\n \n
\n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PodsSummary));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","onKeyPress","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connect","setErrorSnackMessage","deleteOpen","selectedPod","closeDeleteModalAndRefresh","retypePod","setRetypePod","useApi","deleteLoading","invokeDeleteApi","ConfirmDialog","namespace","tenant","errorMessage","detailedError","DialogContentText","Grid","item","xs","InputBoxWrapper","target","connector","state","loadingTenant","tenants","tenantDetails","tenantDetailsStyles","tableStyles","containerForHeader","spacing","match","history","pods","setPods","loadingPods","setLoadingPods","setDeleteOpen","setSelectedPod","filter","setFilter","tenantName","params","tenantNamespace","filteredRecords","elementItem","toLowerCase","includes","podTableActions","pod","push","useEffect","result","i","length","currentTime","Date","now","time","niceDays","parseInt","timeCreated","toString","Fragment","reloadData","sectionTitle","actionsTray","TextField","searchField","disableUnderline","startAdornment","InputAdornment","SearchIcon","e","tableBlock","TableWrapper","columns","elementKey","width","renderFunction","input","records","itemActions","entityName","idField","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","display","height","alignItems","whiteSpace","palette","action","active","inputAdornmentClasses","marginTop","marginRight","marginLeft","pointerEvents","React","inProps","ref","useThemeProps","children","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1796.78eb9602.chunk.js b/portal-ui/build/static/js/1796.78eb9602.chunk.js new file mode 100644 index 000000000..c5530997e --- /dev/null +++ b/portal-ui/build/static/js/1796.78eb9602.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1796],{29316:function(e,a,l){l(50390);var t=l(6369),n=l(86509),i=l(4285),s=l(14549),r=l(56805),o=l(62559);a.Z=(0,i.Z)((function(e){return(0,n.Z)({link:{display:"inline-block",alignItems:"center",justifyContent:"center",textDecoration:"none",maxWidth:"40px","&:active":{color:e.palette.primary.light}},icon:{marginRight:"11px",display:"flex",alignItems:"center",justifyContent:"center",height:"35px",width:"35px",borderRadius:"2px","&:hover":{background:"rgba(234,237,238)"},"& svg.min-icon":{width:"18px",height:"12px"}},label:{display:"flex",alignItems:"center",height:"35px",padding:"0 0px 0 5px",fontSize:"18px",fontWeight:600,color:e.palette.primary.light}})}))((function(e){var a=e.to,l=e.label,n=e.classes,i=e.className,u=e.executeOnClick;return(0,o.jsxs)(r.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,o.jsx)(t.rU,{to:a,className:"".concat(n.link," ").concat(i||""),onClick:function(){u&&u()},children:(0,o.jsx)("div",{className:n.icon,children:(0,o.jsx)(s.xC,{})})}),(0,o.jsx)("div",{className:n.label,children:l})]})}))},82461:function(e,a,l){l.d(a,{Z:function(){return S}});var t=l(23430),n=l(18489),i=l(50390),s=l(38342),r=l.n(s),o=l(25594),u=l(36554),c=l(94187),d=l(95467),v=l(46529),p=l(94258),h=l(86509),b=l(4285),m=l(72462),x=l(97538),g=l(82981),f=l(62559),S=(0,b.Z)((function(e){return(0,h.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},m.YI),m.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},m.bV),{},{inputLabel:(0,n.Z)((0,n.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,n.Z)((0,n.Z)({},m.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,l=e.classes,n=e.onChange,s=e.id,h=e.name,b=e.disabled,m=void 0!==b&&b,S=e.tooltip,Z=void 0===S?"":S,j=e.required,C=e.error,A=void 0===C?"":C,E=e.accept,y=void 0===E?"":E,w=e.value,N=void 0===w?"":w,T=(0,i.useState)(!1),I=(0,t.Z)(T,2),U=I[0],W=I[1];return(0,f.jsx)(i.Fragment,{children:(0,f.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(l.fileInputField," ").concat(l.fieldBottom," ").concat(l.fieldContainer," ").concat(""!==A?l.errorInField:""),children:[""!==a&&(0,f.jsxs)(u.Z,{htmlFor:s,className:"".concat(""!==A?l.fieldLabelError:""," ").concat(l.inputLabel),children:[(0,f.jsxs)("span",{children:[a,j?"*":""]}),""!==Z&&(0,f.jsx)("div",{className:l.tooltipContainer,children:(0,f.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,f.jsx)("div",{className:l.tooltip,children:(0,f.jsx)(x.Z,{})})})})]}),U||""===N?(0,f.jsxs)("div",{className:l.textBoxContainer,children:[(0,f.jsx)("input",{type:"file",name:h,onChange:function(e){var a=r()(e,"target.files[0].name","");!function(e,a){var l=e.target.files[0],t=new FileReader;t.readAsDataURL(l),t.onload=function(){var e=t.result;if(e){var l=e.toString().split("base64,");2===l.length&&a(l[1])}}}(e,(function(e){n(e,a)}))},accept:y,required:j,disabled:m,className:l.fileInputField}),""!==N&&(0,f.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,f.jsx)(p.Z,{})}),""!==A&&(0,f.jsx)(g.Z,{errorMessage:A})]}):(0,f.jsxs)("div",{className:l.fileReselect,children:[(0,f.jsx)("div",{className:l.valueString,children:N}),(0,f.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,f.jsx)(v.Z,{})})]})]})})}))},66964:function(e,a,l){var t=l(18489),n=l(50390),i=l(12066),s=l(25594),r=l(36554),o=l(94187),u=l(95467),c=l(86509),d=l(62449),v=l(4285),p=l(72462),h=l(97538),b=l(44977),m=l(62559),x=(0,d.Z)((function(e){return(0,c.Z)((0,t.Z)({},p.gM))}));function g(e){var a=x();return(0,m.jsx)(i.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,v.Z)((function(e){return(0,c.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,i=e.value,c=e.id,d=e.name,v=e.type,p=void 0===v?"text":v,x=e.autoComplete,f=void 0===x?"off":x,S=e.disabled,Z=void 0!==S&&S,j=e.multiline,C=void 0!==j&&j,A=e.tooltip,E=void 0===A?"":A,y=e.index,w=void 0===y?0:y,N=e.error,T=void 0===N?"":N,I=e.required,U=void 0!==I&&I,W=e.placeholder,k=void 0===W?"":W,O=e.min,P=e.max,R=e.overlayId,L=e.overlayIcon,F=void 0===L?null:L,M=e.overlayObject,z=void 0===M?null:M,B=e.extraInputProps,H=void 0===B?{}:B,K=e.overlayAction,V=e.noLabelMinWidth,q=void 0!==V&&V,G=e.pattern,J=void 0===G?"":G,Y=e.autoFocus,D=void 0!==Y&&Y,X=e.classes,$=e.className,_=void 0===$?"":$,Q=e.onKeyPress,ee=(0,t.Z)({"data-index":w},H);return"number"===p&&O&&(ee.min=O),"number"===p&&P&&(ee.max=P),""!==J&&(ee.pattern=J),(0,m.jsx)(n.Fragment,{children:(0,m.jsxs)(s.ZP,{container:!0,className:(0,b.Z)(""!==_?_:"",""!==T?X.errorInField:X.inputBoxContainer),children:[""!==a&&(0,m.jsxs)(r.Z,{htmlFor:c,className:q?X.noMinWidthLabel:X.inputLabel,children:[(0,m.jsxs)("span",{children:[a,U?"*":""]}),""!==E&&(0,m.jsx)("div",{className:X.tooltipContainer,children:(0,m.jsx)(o.Z,{title:E,placement:"top-start",children:(0,m.jsx)("div",{className:X.tooltip,children:(0,m.jsx)(h.Z,{})})})})]}),(0,m.jsxs)("div",{className:X.textBoxContainer,children:[(0,m.jsx)(g,{id:c,name:d,fullWidth:!0,value:i,autoFocus:D,disabled:Z,onChange:l,type:p,multiline:C,autoComplete:f,inputProps:ee,error:""!==T,helperText:T,placeholder:k,className:X.inputRebase,onKeyPress:Q}),F&&(0,m.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,m.jsx)(u.Z,{onClick:K?function(){K()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:F})}),z&&(0,m.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==a?"withLabel":""),children:z})]})]})})}))},25534:function(e,a,l){var t=l(18489),n=(l(50390),l(25594)),i=l(86509),s=l(4285),r=l(72462),o=l(62559);a.Z=(0,s.Z)((function(e){return(0,i.Z)((0,t.Z)({},r.Bw))}))((function(e){var a=e.classes,l=e.className,t=void 0===l?"":l,i=e.children;return(0,o.jsx)("div",{className:a.contentSpacer,children:(0,o.jsx)(n.ZP,{container:!0,children:(0,o.jsx)(n.ZP,{item:!0,xs:12,className:t,children:i})})})}))},35721:function(e,a,l){var t=l(50390),n=l(34424),i=l(25594),s=l(86509),r=l(4285),o=l(35477),u=l(95467),c=l(26805),d=l(44078),v=l(5265),p=l(14549),h=l(62559),b={toggleList:v.kQ},m=(0,n.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),b);a.Z=m((0,r.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var a=e.classes,l=e.label,n=e.actions,s=e.sidebarOpen,r=e.operatorMode,v=e.managerObjects,b=e.toggleList,m=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(t.Fragment,{}):(0,h.jsxs)(i.ZP,{container:!0,className:"".concat(a.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:a.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,h.jsx)("div",{className:a.logo,children:r?(0,h.jsx)(c.Z,{}):(0,h.jsx)(d.Z,{})}),(0,h.jsx)(o.Z,{variant:"h4",className:a.labelStyle,children:l})]}),m&&(0,h.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:a.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:m}),(0,h.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:a.rightMenu,children:[n&&n,v&&v.length>0&&(0,h.jsx)(u.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){b()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(p.gx,{})})]})]})})))},41796:function(e,a,l){l.r(a),l.d(a,{default:function(){return B}});var t=l(23430),n=l(18489),i=l(50390),s=l(34424),r=l(38342),o=l.n(r),u=l(25594),c=l(86509),d=l(4285),v=l(56805),p=l(66946),h=l(44149),b=l(72462),m=l(30324),x=l(66964),g=l(82461),f=l(35721),S=l(51444),Z=l(29316),j=l(25534),C=l(49495),A=l(36554),E=l(94187),y=l(95467),w=l(62449),N=l(97538),T=l(44977),I=l(10728),U=l(12066),W=[{label:"US East (Ohio)",value:"us-east-2"},{label:"US East (N. Virginia)",value:"us-east-1"},{label:"US West (N. California)",value:"us-west-1"},{label:"US West (Oregon)",value:"us-west-2"},{label:"Africa (Cape Town)",value:"af-south-1"},{label:"Asia Pacific (Hong Kong)***",value:"ap-east-1"},{label:"Asia Pacific (Jakarta)",value:"ap-southeast-3"},{label:"Asia Pacific (Mumbai)",value:"ap-south-1"},{label:"Asia Pacific (Osaka)",value:"ap-northeast-3"},{label:"Asia Pacific (Seoul)",value:"ap-northeast-2"},{label:"Asia Pacific (Singapore)",value:"ap-southeast-1"},{label:"Asia Pacific (Sydney)",value:"ap-southeast-2"},{label:"Asia Pacific (Tokyo)",value:"ap-northeast-1"},{label:"Canada (Central)",value:"ca-central-1"},{label:"China (Beijing)",value:"cn-north-1"},{label:"China (Ningxia)",value:"cn-northwest-1"},{label:"Europe (Frankfurt)",value:"eu-central-1"},{label:"Europe (Ireland)",value:"eu-west-1"},{label:"Europe (London)",value:"eu-west-2"},{label:"Europe (Milan)",value:"eu-south-1"},{label:"Europe (Paris)",value:"eu-west-3"},{label:"Europe (Stockholm)",value:"eu-north-1"},{label:"South America (S\xe3o Paulo)",value:"sa-east-1"},{label:"Middle East (Bahrain)",value:"me-south-1"},{label:"AWS GovCloud (US-East)",value:"us-gov-east-1"},{label:"AWS GovCloud (US-West)",value:"us-gov-west-1"}],k=[{label:"Montr\xe9al",value:"NORTHAMERICA-NORTHEAST1"},{label:"Toronto",value:"NORTHAMERICA-NORTHEAST2"},{label:"Iowa",value:"US-CENTRAL1"},{label:"South Carolina",value:"US-EAST1"},{label:"Northern Virginia",value:"US-EAST4"},{label:"Oregon",value:"US-WEST1"},{label:"Los Angeles",value:"US-WEST2"},{label:"Salt Lake City",value:"US-WEST3"},{label:"Las Vegas",value:"US-WEST4"},{label:"S\xe3o Paulo",value:"SOUTHAMERICA-EAST1"},{label:"Santiago",value:"SOUTHAMERICA-WEST1"},{label:"Warsaw",value:"EUROPE-CENTRAL2"},{label:"Finland",value:"EUROPE-NORTH1"},{label:"Belgium",value:"EUROPE-WEST1"},{label:"London",value:"EUROPE-WEST2"},{label:"Frankfurt",value:"EUROPE-WEST3"},{label:"Netherlands",value:"EUROPE-WEST4"},{label:"Z\xfcrich",value:"EUROPE-WEST6"},{label:"Taiwan",value:"ASIA-EAST1"},{label:"Hong Kong",value:"ASIA-EAST2"},{label:"Tokyo",value:"ASIA-NORTHEAST1"},{label:"Osaka",value:"ASIA-NORTHEAST2"},{label:"Seoul",value:"ASIA-NORTHEAST3"},{label:"Mumbai",value:"ASIA-SOUTH1"},{label:"Delhi",value:"ASIA-SOUTH2"},{label:"Singapore",value:"ASIA-SOUTHEAST1"},{label:"Jakarta",value:"ASIA-SOUTHEAST2"},{label:"Sydney",value:"AUSTRALIA-SOUTHEAST1"},{label:"Melbourne",value:"AUSTRALIA-SOUTHEAST2"}],O=[{label:"Asia",value:"asia"},{label:"Asia Pacific",value:"asiapacific"},{label:"Australia",value:"australia"},{label:"Australia Central",value:"australiacentral"},{label:"Australia Central 2",value:"australiacentral2"},{label:"Australia East",value:"australiaeast"},{label:"Australia Southeast",value:"australiasoutheast"},{label:"Brazil",value:"brazil"},{label:"Brazil South",value:"brazilsouth"},{label:"Brazil Southeast",value:"brazilsoutheast"},{label:"Canada",value:"canada"},{label:"Canada Central",value:"canadacentral"},{label:"Canada East",value:"canadaeast"},{label:"Central India",value:"centralindia"},{label:"Central US",value:"centralus"},{label:"Central US (Stage)",value:"centralusstage"},{label:"Central US EUAP",value:"centraluseuap"},{label:"East Asia",value:"eastasia"},{label:"East Asia (Stage)",value:"eastasiastage"},{label:"East US",value:"eastus"},{label:"East US (Stage)",value:"eastusstage"},{label:"East US 2",value:"eastus2"},{label:"East US 2 (Stage)",value:"eastus2stage"},{label:"East US 2 EUAP",value:"eastus2euap"},{label:"Europe",value:"europe"},{label:"France",value:"france"},{label:"France Central",value:"francecentral"},{label:"France South",value:"francesouth"},{label:"Germany",value:"germany"},{label:"Germany North",value:"germanynorth"},{label:"Germany West Central",value:"germanywestcentral"},{label:"Global",value:"global"},{label:"India",value:"india"},{label:"Japan",value:"japan"},{label:"Japan East",value:"japaneast"},{label:"Japan West",value:"japanwest"},{label:"Jio India Central",value:"jioindiacentral"},{label:"Jio India West",value:"jioindiawest"},{label:"Korea",value:"korea"},{label:"Korea Central",value:"koreacentral"},{label:"Korea South",value:"koreasouth"},{label:"North Central US",value:"northcentralus"},{label:"North Central US (Stage)",value:"northcentralusstage"},{label:"North Europe",value:"northeurope"},{label:"Norway",value:"norway"},{label:"Norway East",value:"norwayeast"},{label:"Norway West",value:"norwaywest"},{label:"South Africa",value:"southafrica"},{label:"South Africa North",value:"southafricanorth"},{label:"South Africa West",value:"southafricawest"},{label:"South Central US",value:"southcentralus"},{label:"South Central US (Stage)",value:"southcentralusstage"},{label:"South India",value:"southindia"},{label:"Southeast Asia",value:"southeastasia"},{label:"Southeast Asia (Stage)",value:"southeastasiastage"},{label:"Sweden Central",value:"swedencentral"},{label:"Switzerland",value:"switzerland"},{label:"Switzerland North",value:"switzerlandnorth"},{label:"Switzerland West",value:"switzerlandwest"},{label:"UAE Central",value:"uaecentral"},{label:"UAE North",value:"uaenorth"},{label:"UK South",value:"uksouth"},{label:"UK West",value:"ukwest"},{label:"United Arab Emirates",value:"uae"},{label:"United Kingdom",value:"uk"},{label:"United States",value:"unitedstates"},{label:"United States EUAP",value:"unitedstateseuap"},{label:"West Central US",value:"westcentralus"},{label:"West Europe",value:"westeurope"},{label:"West India",value:"westindia"},{label:"West US",value:"westus"},{label:"West US (Stage)",value:"westusstage"},{label:"West US 2",value:"westus2"},{label:"West US 2 (Stage)",value:"westus2stage"},{label:"West US 3",value:"westus3"}],P=l(62559),R=function(e){var a=e.type,l=e.onChange,s=e.inputProps,r=function(e){return"s3"===e?W:"gcs"===e?k:"azure"===e?O:[]}(a),o=i.useState(""),u=(0,t.Z)(o,2),c=u[0],d=u[1];return(0,P.jsx)(I.Z,{sx:{"& .MuiOutlinedInput-root":{padding:0,paddingLeft:"10px",fontSize:13,fontWeight:600},"& .MuiAutocomplete-inputRoot":{"& .MuiOutlinedInput-notchedOutline":{borderColor:"#e5e5e5",borderWidth:1},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1}}},freeSolo:!0,selectOnFocus:!0,handleHomeEndKeys:!0,onChange:function(e,a){var t,n=a;n="string"===typeof a?{label:a}:a&&a.inputValue?{label:a.inputValue}:a,d(n),l(null===(t=n)||void 0===t?void 0:t.value)},value:c,onInputChange:function(e){var a=(e||{}).target,t=(a=void 0===a?{}:a).value;l(void 0===t?"":t)},getOptionLabel:function(e){return"string"===typeof e?e:e.inputValue?e.inputValue:e.value},options:r,filterOptions:function(e,a){var l=a.inputValue.toLowerCase();return e.filter((function(e){return"".concat(e.label.toLowerCase()).concat(e.value.toLowerCase()).includes(l)}))},renderOption:function(e,a){return(0,P.jsx)("li",(0,n.Z)((0,n.Z)({},e),{},{children:(0,P.jsxs)(v.Z,{sx:{display:"flex",flexFlow:"column",alignItems:"baseline",padding:"4px",borderBottom:"1px solid #eaeaea",cursor:"pointer",width:"100%","& .label":{fontSize:"13px",fontWeight:500},"& .value":{fontSize:"11px",fontWeight:400}},children:[(0,P.jsx)("span",{className:"label",children:a.value}),(0,P.jsx)("span",{className:"value",children:a.label})]})}))},renderInput:function(e){return(0,P.jsx)(U.Z,(0,n.Z)((0,n.Z)((0,n.Z)({},e),s),{},{fullWidth:!0}))}})},L=(0,w.Z)((function(e){return(0,c.Z)((0,n.Z)({},b.gM))})),F=(0,d.Z)((function(e){return(0,c.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},b.YI),b.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative",minWidth:160},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,n.Z)((0,n.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,t=e.id,s=e.name,r=e.type,o=e.tooltip,c=void 0===o?"":o,d=e.index,v=void 0===d?0:d,p=e.error,h=void 0===p?"":p,b=e.required,m=void 0!==b&&b,x=e.overlayId,g=e.overlayIcon,f=void 0===g?null:g,S=e.overlayObject,Z=void 0===S?null:S,j=e.extraInputProps,C=void 0===j?{}:j,w=e.overlayAction,I=e.noLabelMinWidth,U=void 0!==I&&I,W=e.classes,k=e.className,O=void 0===k?"":k,F=L(),M=(0,n.Z)((0,n.Z)({"data-index":v},C),{},{name:s,id:t,classes:F});return(0,P.jsx)(i.Fragment,{children:(0,P.jsxs)(u.ZP,{container:!0,className:(0,T.Z)(""!==O?O:"",""!==h?W.errorInField:W.inputBoxContainer),children:[""!==a&&(0,P.jsxs)(A.Z,{htmlFor:t,className:U?W.noMinWidthLabel:W.inputLabel,children:[(0,P.jsxs)("span",{children:[a,m?"*":""]}),""!==c&&(0,P.jsx)("div",{className:W.tooltipContainer,children:(0,P.jsx)(E.Z,{title:c,placement:"top-start",children:(0,P.jsx)("div",{className:W.tooltip,children:(0,P.jsx)(N.Z,{})})})})]}),(0,P.jsxs)("div",{className:W.textBoxContainer,children:[(0,P.jsx)(R,{type:r,inputProps:M,onChange:l}),f&&(0,P.jsx)("div",{className:"".concat(W.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,P.jsx)(y.Z,{onClick:w?function(){w()}:function(){return null},id:x,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:f})}),Z&&(0,P.jsx)("div",{className:"".concat(W.overlayAction," ").concat(""!==a?"withLabel":""),children:Z})]})]})})})),M={setErrorSnackMessage:h.Ih},z=(0,s.$j)(null,M),B=(0,d.Z)((function(e){return(0,c.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},b.oO),b.Je),b.DF),{},{lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},fileInputFieldCss:{margin:"0"},fileTextBoxContainer:{maxWidth:" 100%",flex:1},fileReselectCss:{maxWidth:" 100%",flex:1}},b.bV))}))(z((function(e){var a=e.classes,l=e.setErrorSnackMessage,s=e.match,r=e.history,c=(0,i.useState)(!1),d=(0,t.Z)(c,2),h=d[0],b=d[1],A=(0,i.useState)(""),E=(0,t.Z)(A,2),y=E[0],w=E[1],N=(0,i.useState)(""),T=(0,t.Z)(N,2),I=T[0],U=T[1],W=(0,i.useState)(""),k=(0,t.Z)(W,2),O=k[0],R=k[1],L=(0,i.useState)(""),M=(0,t.Z)(L,2),z=M[0],B=M[1],H=(0,i.useState)(""),K=(0,t.Z)(H,2),V=K[0],q=K[1],G=(0,i.useState)(""),J=(0,t.Z)(G,2),Y=J[0],D=J[1],X=(0,i.useState)(""),$=(0,t.Z)(X,2),_=$[0],Q=$[1],ee=(0,i.useState)(""),ae=(0,t.Z)(ee,2),le=ae[0],te=ae[1],ne=(0,i.useState)(""),ie=(0,t.Z)(ne,2),se=ie[0],re=ie[1],oe=(0,i.useState)(""),ue=(0,t.Z)(oe,2),ce=ue[0],de=ue[1],ve=(0,i.useState)(""),pe=(0,t.Z)(ve,2),he=pe[0],be=pe[1],me=(0,i.useState)(""),xe=(0,t.Z)(me,2),ge=xe[0],fe=xe[1],Se=(0,i.useState)(""),Ze=(0,t.Z)(Se,2),je=Ze[0],Ce=Ze[1],Ae=o()(s,"params.service","s3"),Ee=(0,i.useState)(!0),ye=(0,t.Z)(Ee,2),we=ye[0],Ne=ye[1],Te=(0,i.useState)(""),Ie=(0,t.Z)(Te,2),Ue=Ie[0],We=Ie[1],ke=(0,i.useCallback)((function(){return/^[A-Z0-9-_]+$/.test(y)?(We(""),!0):(We("Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores)."),!1)}),[y]);(0,i.useEffect)((function(){if(h){var e={},a={name:y,endpoint:I,bucket:O,prefix:z,region:V},t=Ae;switch("minio"===Ae&&(t="s3"),Ae){case"minio":case"s3":e={s3:(0,n.Z)((0,n.Z)({},a),{},{accesskey:_,secretkey:le,storageclass:Y})};break;case"gcs":e={gcs:(0,n.Z)((0,n.Z)({},a),{},{creds:ce})};break;case"azure":e={azure:(0,n.Z)((0,n.Z)({},a),{},{accountname:he,accountkey:ge})}}var i=(0,n.Z)({type:t},e);m.Z.invoke("POST","/api/v1/admin/tiers",i).then((function(){b(!1),r.push(C.gA.TIERS)})).catch((function(e){b(!1),l(e)}))}}),[_,ge,he,O,ce,I,r,y,z,V,h,le,l,Y,Ae]),(0,i.useEffect)((function(){var e=!0;""===Ae&&(e=!1),""!==y&&ke()||(e=!1),""===I&&(e=!1),""===O&&(e=!1),""===z&&(e=!1),""===V&&"minio"!==Ae&&(e=!1),"s3"!==Ae&&"minio"!==Ae||(""===_&&(e=!1),""===le&&(e=!1)),"gcs"===Ae&&""===ce&&(e=!1),"azure"===Ae&&(""===he&&(e=!1),""===ge&&(e=!1)),Ne(e)}),[_,ge,he,O,ce,I,we,y,z,V,le,Y,Ae,ke]),(0,i.useEffect)((function(){switch(Ae){case"gcs":U("https://storage.googleapis.com/"),Ce("Google Cloud");break;case"s3":U("https://s3.amazonaws.com"),Ce("Amazon S3");break;case"azure":U("http://blob.core.windows.net"),Ce("Azure");break;case"minio":U(""),Ce("MinIO")}}),[Ae]);var Oe=S.Bh.find((function(e){return e.serviceName===Ae}));return(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(f.Z,{label:(0,P.jsx)(i.Fragment,{children:(0,P.jsx)(Z.Z,{to:C.gA.TIERS_ADD,label:"Add Tier"})}),actions:(0,P.jsx)(i.Fragment,{})}),(0,P.jsx)(j.Z,{children:(0,P.jsx)(u.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea",padding:"25px"},children:(0,P.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),b(!0)},children:[""!==Ae&&Oe?(0,P.jsxs)(u.ZP,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"start",marginBottom:"20px"},children:[Oe.logo?(0,P.jsx)(v.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:Oe.logo}):null,(0,P.jsx)("div",{className:a.lambdaNotifTitle,children:(0,P.jsxs)("b",{children:[je||""," - Add Tier Configuration"]})})]},"icon-".concat(Oe.targetTitle)):null,(0,P.jsx)(u.ZP,{item:!0,xs:12,sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gridRowGap:25,gridColumnGap:50},children:""!==Ae&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"name",name:"name",label:"Name",placeholder:"Enter Name (Eg. REMOTE-TIER)",value:y,onChange:function(e){w(e.target.value.toUpperCase())},error:Ue,required:!0}),(0,P.jsx)(x.Z,{id:"endpoint",name:"endpoint",label:"Endpoint",placeholder:"Enter Endpoint",value:I,onChange:function(e){U(e.target.value)},required:!0}),(Ae===S.b2||Ae===S.Pp)&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:_,onChange:function(e){Q(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:le,onChange:function(e){te(e.target.value)},required:!0})]}),Ae===S.f0&&(0,P.jsx)(g.Z,{accept:".json",classes:{fileInputField:a.fileInputFieldCss,textBoxContainer:a.fileTextBoxContainer,fileReselect:a.fileReselectCss},id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){de(e),re(a)},value:se,required:!0}),Ae===S.vB&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:he,onChange:function(e){be(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:ge,onChange:function(e){fe(e.target.value)},required:!0})]}),(0,P.jsx)(x.Z,{id:"bucket",name:"bucket",label:"Bucket",placeholder:"Enter Bucket",value:O,onChange:function(e){R(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"prefix",name:"prefix",label:"Prefix",placeholder:"Enter Prefix",value:z,onChange:function(e){B(e.target.value)},required:!0}),(0,P.jsx)(F,{onChange:function(e){q(e)},required:"minio"!==Ae,label:"Region",id:"region",name:"region",type:Ae}),Ae===S.b2||Ae===S.Pp&&(0,P.jsx)(x.Z,{id:"storageClass",name:"storageClass",label:"Storage Class",placeholder:"Enter Storage Class",value:Y,onChange:function(e){D(e.target.value)}})]})}),(0,P.jsx)(u.ZP,{item:!0,xs:12,className:a.settingsButtonContainer,children:(0,P.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",disabled:h||!we,children:"Save Tier Configuration"})})]})})})]})})))},51444:function(e,a,l){l.d(a,{Pp:function(){return i},f0:function(){return s},b2:function(){return r},vB:function(){return o},Bh:function(){return u}});var t=l(14549),n=l(62559),i="minio",s="gcs",r="s3",o="azure",u=[{serviceName:i,targetTitle:"MinIO",logo:(0,n.jsx)(t.$E,{}),logoXs:(0,n.jsx)(t.YE,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,n.jsx)(t.UQ,{}),logoXs:(0,n.jsx)(t.Vw,{})},{serviceName:r,targetTitle:"AWS S3",logo:(0,n.jsx)(t.fe,{}),logoXs:(0,n.jsx)(t.Xj,{})},{serviceName:o,targetTitle:"Azure",logo:(0,n.jsx)(t.jz,{}),logoXs:(0,n.jsx)(t.nA,{})}]},82981:function(e,a,l){var t=l(50390),n=l(35477),i=l(86509),s=l(4285),r=l(62559);a.Z=(0,s.Z)((function(e){var a;return(0,i.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,l=e.errorMessage,i=e.withBreak,s=void 0===i||i;return(0,r.jsxs)(t.Fragment,{children:[s&&(0,r.jsx)("br",{}),(0,r.jsx)(n.Z,{component:"p",variant:"body1",className:a.errorBlock,children:l})]})}))},46529:function(e,a,l){var t=l(64119);a.Z=void 0;var n=t(l(66830)),i=l(62559),s=(0,n.default)((0,i.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=s},94258:function(e,a,l){var t=l(64119);a.Z=void 0;var n=t(l(66830)),i=l(62559),s=(0,n.default)((0,i.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=s}}]); +//# sourceMappingURL=1796.78eb9602.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1796.78eb9602.chunk.js.map b/portal-ui/build/static/js/1796.78eb9602.chunk.js.map new file mode 100644 index 000000000..978f3b9c1 --- /dev/null +++ b/portal-ui/build/static/js/1796.78eb9602.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/1796.78eb9602.chunk.js","mappings":"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UAET,CACEjC,MAAO,iBACPiC,MAAO,iBAET,CACEjC,MAAO,eACPiC,MAAO,eAET,CACEjC,MAAO,UACPiC,MAAO,WAET,CACEjC,MAAO,gBACPiC,MAAO,gBAET,CACEjC,MAAO,uBACPiC,MAAO,sBAET,CACEjC,MAAO,SACPiC,MAAO,UAET,CACEjC,MAAO,QACPiC,MAAO,SAET,CACEjC,MAAO,QACPiC,MAAO,SAET,CACEjC,MAAO,aACPiC,MAAO,aAET,CACEjC,MAAO,aACPiC,MAAO,aAET,CACEjC,MAAO,oBACPiC,MAAO,mBAET,CACEjC,MAAO,iBACPiC,MAAO,gBAET,CACEjC,MAAO,QACPiC,MAAO,SAET,CACEjC,MAAO,gBACPiC,MAAO,gBAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,mBACPiC,MAAO,kBAET,CACEjC,MAAO,2BACPiC,MAAO,uBAET,CACEjC,MAAO,eACPiC,MAAO,eAET,CACEjC,MAAO,SACPiC,MAAO,UAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,eACPiC,MAAO,eAET,CACEjC,MAAO,qBACPiC,MAAO,oBAET,CACEjC,MAAO,oBACPiC,MAAO,mBAET,CACEjC,MAAO,mBACPiC,MAAO,kBAET,CACEjC,MAAO,2BACPiC,MAAO,uBAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,iBACPiC,MAAO,iBAET,CACEjC,MAAO,yBACPiC,MAAO,sBAET,CACEjC,MAAO,iBACPiC,MAAO,iBAET,CACEjC,MAAO,cACPiC,MAAO,eAET,CACEjC,MAAO,oBACPiC,MAAO,oBAET,CACEjC,MAAO,mBACPiC,MAAO,mBAET,CACEjC,MAAO,cACPiC,MAAO,cAET,CACEjC,MAAO,YACPiC,MAAO,YAET,CACEjC,MAAO,WACPiC,MAAO,WAET,CACEjC,MAAO,UACPiC,MAAO,UAET,CACEjC,MAAO,uBACPiC,MAAO,OAET,CACEjC,MAAO,iBACPiC,MAAO,MAET,CACEjC,MAAO,gBACPiC,MAAO,gBA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","sources":["common/BackLink.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/TiersConfiguration/s3-regions.tsx","screens/Console/Configurations/TiersConfiguration/gcs-regions.ts","screens/Console/Configurations/TiersConfiguration/azure-regions.ts","screens/Console/Configurations/TiersConfiguration/RegionSelect.tsx","screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx","screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackIcon } from \"../icons\";\nimport { Box } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"inline-block\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textDecoration: \"none\",\n maxWidth: \"40px\",\n \"&:active\": {\n color: theme.palette.primary.light,\n },\n },\n icon: {\n marginRight: \"11px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"35px\",\n width: \"35px\",\n borderRadius: \"2px\",\n \"&:hover\": {\n background: \"rgba(234,237,238)\",\n },\n \"& svg.min-icon\": {\n width: \"18px\",\n height: \"12px\",\n },\n },\n label: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"35px\",\n padding: \"0 0px 0 5px\",\n fontSize: \"18px\",\n fontWeight: 600,\n color: theme.palette.primary.light,\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n \n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
\n \n
\n \n
{label}
\n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
\n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
\n ) : (\n
\n
{value}
\n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
\n )}\n \n
\n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
\n \n
\n \n
\n
\n
\n )}\n \n )}\n\n
\n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
\n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
\n \n \n {children}\n \n \n
\n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
\n {operatorMode ? : }\n
\n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { RegionEntry } from \"./types\";\n\nconst s3Regions: RegionEntry[] = [\n { label: \"US East (Ohio)\", value: \"us-east-2\" },\n { label: \"US East (N. Virginia)\", value: \"us-east-1\" },\n { label: \"US West (N. California)\", value: \"us-west-1\" },\n { label: \"US West (Oregon)\", value: \"us-west-2\" },\n { label: \"Africa (Cape Town)\", value: \"af-south-1\" },\n { label: \"Asia Pacific (Hong Kong)***\", value: \"ap-east-1\" },\n { label: \"Asia Pacific (Jakarta)\", value: \"ap-southeast-3\" },\n { label: \"Asia Pacific (Mumbai)\", value: \"ap-south-1\" },\n { label: \"Asia Pacific (Osaka)\", value: \"ap-northeast-3\" },\n { label: \"Asia Pacific (Seoul)\", value: \"ap-northeast-2\" },\n { label: \"Asia Pacific (Singapore)\", value: \"ap-southeast-1\" },\n { label: \"Asia Pacific (Sydney)\", value: \"ap-southeast-2\" },\n { label: \"Asia Pacific (Tokyo)\", value: \"ap-northeast-1\" },\n { label: \"Canada (Central)\", value: \"ca-central-1\" },\n { label: \"China (Beijing)\", value: \"cn-north-1\" },\n { label: \"China (Ningxia)\", value: \"cn-northwest-1\" },\n { label: \"Europe (Frankfurt)\", value: \"eu-central-1\" },\n { label: \"Europe (Ireland)\", value: \"eu-west-1\" },\n { label: \"Europe (London)\", value: \"eu-west-2\" },\n { label: \"Europe (Milan)\", value: \"eu-south-1\" },\n { label: \"Europe (Paris)\", value: \"eu-west-3\" },\n { label: \"Europe (Stockholm)\", value: \"eu-north-1\" },\n { label: \"South America (São Paulo)\", value: \"sa-east-1\" },\n { label: \"Middle East (Bahrain)\", value: \"me-south-1\" },\n { label: \"AWS GovCloud (US-East)\", value: \"us-gov-east-1\" },\n { label: \"AWS GovCloud (US-West)\", value: \"us-gov-west-1\" },\n];\n\nexport default s3Regions;\n","import { RegionEntry } from \"./types\";\n\nconst gcsRegions: RegionEntry[] = [\n { label: \"Montréal\", value: \"NORTHAMERICA-NORTHEAST1\" },\n { label: \"Toronto\", value: \"NORTHAMERICA-NORTHEAST2\" },\n { label: \"Iowa\", value: \"US-CENTRAL1\" },\n { label: \"South Carolina\", value: \"US-EAST1\" },\n { label: \"Northern Virginia\", value: \"US-EAST4\" },\n { label: \"Oregon\", value: \"US-WEST1\" },\n { label: \"Los Angeles\", value: \"US-WEST2\" },\n { label: \"Salt Lake City\", value: \"US-WEST3\" },\n { label: \"Las Vegas\", value: \"US-WEST4\" },\n { label: \"São Paulo\", value: \"SOUTHAMERICA-EAST1\" },\n { label: \"Santiago\", value: \"SOUTHAMERICA-WEST1\" },\n { label: \"Warsaw\", value: \"EUROPE-CENTRAL2\" },\n { label: \"Finland\", value: \"EUROPE-NORTH1\" },\n { label: \"Belgium\", value: \"EUROPE-WEST1\" },\n { label: \"London\", value: \"EUROPE-WEST2\" },\n { label: \"Frankfurt\", value: \"EUROPE-WEST3\" },\n { label: \"Netherlands\", value: \"EUROPE-WEST4\" },\n { label: \"Zürich\", value: \"EUROPE-WEST6\" },\n { label: \"Taiwan\", value: \"ASIA-EAST1\" },\n { label: \"Hong Kong\", value: \"ASIA-EAST2\" },\n { label: \"Tokyo\", value: \"ASIA-NORTHEAST1\" },\n { label: \"Osaka\", value: \"ASIA-NORTHEAST2\" },\n { label: \"Seoul\", value: \"ASIA-NORTHEAST3\" },\n { label: \"Mumbai\", value: \"ASIA-SOUTH1\" },\n { label: \"Delhi\", value: \"ASIA-SOUTH2\" },\n { label: \"Singapore\", value: \"ASIA-SOUTHEAST1\" },\n { label: \"Jakarta\", value: \"ASIA-SOUTHEAST2\" },\n { label: \"Sydney\", value: \"AUSTRALIA-SOUTHEAST1\" },\n { label: \"Melbourne\", value: \"AUSTRALIA-SOUTHEAST2\" },\n];\n\nexport default gcsRegions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { RegionEntry } from \"./types\";\n\nconst azureRegions: RegionEntry[] = [\n {\n label: \"Asia\",\n value: \"asia\",\n },\n {\n label: \"Asia Pacific\",\n value: \"asiapacific\",\n },\n {\n label: \"Australia\",\n value: \"australia\",\n },\n {\n label: \"Australia Central\",\n value: \"australiacentral\",\n },\n {\n label: \"Australia Central 2\",\n value: \"australiacentral2\",\n },\n {\n label: \"Australia East\",\n value: \"australiaeast\",\n },\n {\n label: \"Australia Southeast\",\n value: \"australiasoutheast\",\n },\n {\n label: \"Brazil\",\n value: \"brazil\",\n },\n {\n label: \"Brazil South\",\n value: \"brazilsouth\",\n },\n {\n label: \"Brazil Southeast\",\n value: \"brazilsoutheast\",\n },\n {\n label: \"Canada\",\n value: \"canada\",\n },\n {\n label: \"Canada Central\",\n value: \"canadacentral\",\n },\n {\n label: \"Canada East\",\n value: \"canadaeast\",\n },\n {\n label: \"Central India\",\n value: \"centralindia\",\n },\n {\n label: \"Central US\",\n value: \"centralus\",\n },\n {\n label: \"Central US (Stage)\",\n value: \"centralusstage\",\n },\n {\n label: \"Central US EUAP\",\n value: \"centraluseuap\",\n },\n {\n label: \"East Asia\",\n value: \"eastasia\",\n },\n {\n label: \"East Asia (Stage)\",\n value: \"eastasiastage\",\n },\n {\n label: \"East US\",\n value: \"eastus\",\n },\n {\n label: \"East US (Stage)\",\n value: \"eastusstage\",\n },\n {\n label: \"East US 2\",\n value: \"eastus2\",\n },\n {\n label: \"East US 2 (Stage)\",\n value: \"eastus2stage\",\n },\n {\n label: \"East US 2 EUAP\",\n value: \"eastus2euap\",\n },\n {\n label: \"Europe\",\n value: \"europe\",\n },\n {\n label: \"France\",\n value: \"france\",\n },\n {\n label: \"France Central\",\n value: \"francecentral\",\n },\n {\n label: \"France South\",\n value: \"francesouth\",\n },\n {\n label: \"Germany\",\n value: \"germany\",\n },\n {\n label: \"Germany North\",\n value: \"germanynorth\",\n },\n {\n label: \"Germany West Central\",\n value: \"germanywestcentral\",\n },\n {\n label: \"Global\",\n value: \"global\",\n },\n {\n label: \"India\",\n value: \"india\",\n },\n {\n label: \"Japan\",\n value: \"japan\",\n },\n {\n label: \"Japan East\",\n value: \"japaneast\",\n },\n {\n label: \"Japan West\",\n value: \"japanwest\",\n },\n {\n label: \"Jio India Central\",\n value: \"jioindiacentral\",\n },\n {\n label: \"Jio India West\",\n value: \"jioindiawest\",\n },\n {\n label: \"Korea\",\n value: \"korea\",\n },\n {\n label: \"Korea Central\",\n value: \"koreacentral\",\n },\n {\n label: \"Korea South\",\n value: \"koreasouth\",\n },\n {\n label: \"North Central US\",\n value: \"northcentralus\",\n },\n {\n label: \"North Central US (Stage)\",\n value: \"northcentralusstage\",\n },\n {\n label: \"North Europe\",\n value: \"northeurope\",\n },\n {\n label: \"Norway\",\n value: \"norway\",\n },\n {\n label: \"Norway East\",\n value: \"norwayeast\",\n },\n {\n label: \"Norway West\",\n value: \"norwaywest\",\n },\n {\n label: \"South Africa\",\n value: \"southafrica\",\n },\n {\n label: \"South Africa North\",\n value: \"southafricanorth\",\n },\n {\n label: \"South Africa West\",\n value: \"southafricawest\",\n },\n {\n label: \"South Central US\",\n value: \"southcentralus\",\n },\n {\n label: \"South Central US (Stage)\",\n value: \"southcentralusstage\",\n },\n {\n label: \"South India\",\n value: \"southindia\",\n },\n {\n label: \"Southeast Asia\",\n value: \"southeastasia\",\n },\n {\n label: \"Southeast Asia (Stage)\",\n value: \"southeastasiastage\",\n },\n {\n label: \"Sweden Central\",\n value: \"swedencentral\",\n },\n {\n label: \"Switzerland\",\n value: \"switzerland\",\n },\n {\n label: \"Switzerland North\",\n value: \"switzerlandnorth\",\n },\n {\n label: \"Switzerland West\",\n value: \"switzerlandwest\",\n },\n {\n label: \"UAE Central\",\n value: \"uaecentral\",\n },\n {\n label: \"UAE North\",\n value: \"uaenorth\",\n },\n {\n label: \"UK South\",\n value: \"uksouth\",\n },\n {\n label: \"UK West\",\n value: \"ukwest\",\n },\n {\n label: \"United Arab Emirates\",\n value: \"uae\",\n },\n {\n label: \"United Kingdom\",\n value: \"uk\",\n },\n {\n label: \"United States\",\n value: \"unitedstates\",\n },\n {\n label: \"United States EUAP\",\n value: \"unitedstateseuap\",\n },\n {\n label: \"West Central US\",\n value: \"westcentralus\",\n },\n {\n label: \"West Europe\",\n value: \"westeurope\",\n },\n {\n label: \"West India\",\n value: \"westindia\",\n },\n {\n label: \"West US\",\n value: \"westus\",\n },\n {\n label: \"West US (Stage)\",\n value: \"westusstage\",\n },\n {\n label: \"West US 2\",\n value: \"westus2\",\n },\n {\n label: \"West US 2 (Stage)\",\n value: \"westus2stage\",\n },\n {\n label: \"West US 3\",\n value: \"westus3\",\n },\n];\nexport default azureRegions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport { Autocomplete, Box, TextField } from \"@mui/material\";\n\nimport s3Regions from \"./s3-regions\";\nimport gcsRegions from \"./gcs-regions\";\nimport azRegions from \"./azure-regions\";\n\nconst getRegions = (type: string): any => {\n if (type === \"s3\") {\n return s3Regions;\n }\n if (type === \"gcs\") {\n return gcsRegions;\n }\n if (type === \"azure\") {\n return azRegions;\n }\n\n return [];\n};\n\nconst RegionSelect = ({\n type,\n onChange,\n inputProps,\n}: {\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\" | \"unsupported\";\n onChange: (obj: any) => void;\n inputProps?: any;\n}) => {\n const regionList = getRegions(type);\n const [value, setValue] = React.useState(\"\");\n\n return (\n {\n let newVal: any = newValue;\n\n if (typeof newValue === \"string\") {\n newVal = {\n label: newValue,\n };\n } else if (newValue && newValue.inputValue) {\n // Create a new value from the user input\n newVal = {\n label: newValue.inputValue,\n };\n } else {\n newVal = newValue;\n }\n setValue(newVal);\n onChange(newVal?.value);\n }}\n value={value}\n onInputChange={(e: any) => {\n const { target: { value = \"\" } = {} } = e || {};\n onChange(value);\n }}\n getOptionLabel={(option) => {\n // Value selected with enter, right from the input\n if (typeof option === \"string\") {\n return option;\n }\n // Add \"xxx\" option created dynamically\n if (option.inputValue) {\n return option.inputValue;\n }\n // Regular option\n return option.value;\n }}\n options={regionList}\n filterOptions={(opts: any[], state: any) => {\n const filterText = state.inputValue.toLowerCase();\n\n return opts.filter((opt) =>\n `${opt.label.toLowerCase()}${opt.value.toLowerCase()}`.includes(\n filterText\n )\n );\n }}\n renderOption={(props: any, opt: any) => {\n return (\n
  • \n \n {opt.value}\n {opt.label}\n \n
  • \n );\n }}\n renderInput={(params) => (\n \n )}\n />\n );\n};\n\nexport default RegionSelect;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Grid, IconButton, InputLabel, Tooltip } from \"@mui/material\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport HelpIcon from \"../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport RegionSelect from \"./RegionSelect\";\n\ninterface RegionSelectBoxProps {\n label: string;\n classes?: any;\n onChange: (value: string) => void;\n onKeyPress?: (e: any) => void;\n value?: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\";\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n minWidth: 160,\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nconst RegionSelectWrapper = ({\n label,\n onChange,\n id,\n name,\n type,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n classes,\n className = \"\",\n}: RegionSelectBoxProps) => {\n const inputClasses = inputStyles();\n\n let inputProps: any = {\n \"data-index\": index,\n ...extraInputProps,\n name: name,\n id: id,\n classes: inputClasses,\n };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(RegionSelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Button } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n fileInputStyles,\n formFieldStyles,\n modalBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport {\n azureServiceName,\n gcsServiceName,\n minioServiceName,\n s3ServiceName,\n tierTypes,\n} from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nimport RegionSelectWrapper from \"./RegionSelectWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n ...formFieldStyles,\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Lato,sans-serif\",\n paddingLeft: 18,\n },\n fileInputFieldCss: {\n margin: \"0\",\n },\n fileTextBoxContainer: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n fileReselectCss: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n ...fileInputStyles,\n });\n\ninterface IAddNotificationEndpointProps {\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n match: any;\n history: any;\n}\n\nconst AddTierConfiguration = ({\n classes,\n setErrorSnackMessage,\n match,\n history,\n}: IAddNotificationEndpointProps) => {\n //Local States\n const [saving, setSaving] = useState(false);\n\n // Form Items\n const [name, setName] = useState(\"\");\n const [endpoint, setEndpoint] = useState(\"\");\n const [bucket, setBucket] = useState(\"\");\n const [prefix, setPrefix] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n const [titleSelection, setTitleSelection] = useState(\"\");\n\n const type = get(match, \"params.service\", \"s3\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n const [nameInputError, setNameInputError] = useState(\"\");\n\n // Extra validation functions\n\n const validName = useCallback(() => {\n const patternAgainst = /^[A-Z0-9-_]+$/; // Only allow uppercase, numbers, dashes and underscores\n if (patternAgainst.test(name)) {\n setNameInputError(\"\");\n return true;\n }\n\n setNameInputError(\n \"Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores).\"\n );\n return false;\n }, [name]);\n\n //Effects\n\n useEffect(() => {\n if (saving) {\n let request = {};\n let fields = {\n name,\n endpoint,\n bucket,\n prefix,\n region,\n };\n\n let tierType = type;\n\n if (type === \"minio\") {\n tierType = \"s3\";\n }\n\n switch (type) {\n case \"minio\":\n case \"s3\":\n request = {\n s3: {\n ...fields,\n accesskey: accessKey,\n secretkey: secretKey,\n storageclass: storageClass,\n },\n };\n break;\n case \"gcs\":\n request = {\n gcs: {\n ...fields,\n creds: encodedCreds,\n },\n };\n break;\n case \"azure\":\n request = {\n azure: {\n ...fields,\n accountname: accountName,\n accountkey: accountKey,\n },\n };\n }\n\n let payload = {\n type: tierType,\n ...request,\n };\n\n api\n .invoke(\"POST\", `/api/v1/admin/tiers`, payload)\n .then(() => {\n setSaving(false);\n\n history.push(IAM_PAGES.TIERS);\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n history,\n name,\n prefix,\n region,\n saving,\n secretKey,\n setErrorSnackMessage,\n storageClass,\n type,\n ]);\n\n useEffect(() => {\n let valid = true;\n if (type === \"\") {\n valid = false;\n }\n if (name === \"\" || !validName()) {\n valid = false;\n }\n if (endpoint === \"\") {\n valid = false;\n }\n if (bucket === \"\") {\n valid = false;\n }\n if (prefix === \"\") {\n valid = false;\n }\n if (region === \"\" && type !== \"minio\") {\n valid = false;\n }\n\n if (type === \"s3\" || type === \"minio\") {\n if (accessKey === \"\") {\n valid = false;\n }\n if (secretKey === \"\") {\n valid = false;\n }\n }\n\n if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n\n if (type === \"azure\") {\n if (accountName === \"\") {\n valid = false;\n }\n if (accountKey === \"\") {\n valid = false;\n }\n }\n\n setIsFormValid(valid);\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n isFormValid,\n name,\n prefix,\n region,\n secretKey,\n storageClass,\n type,\n validName,\n ]);\n\n useEffect(() => {\n switch (type) {\n case \"gcs\":\n setEndpoint(\"https://storage.googleapis.com/\");\n setTitleSelection(\"Google Cloud\");\n break;\n case \"s3\":\n setEndpoint(\"https://s3.amazonaws.com\");\n setTitleSelection(\"Amazon S3\");\n break;\n case \"azure\":\n setEndpoint(\"http://blob.core.windows.net\");\n setTitleSelection(\"Azure\");\n break;\n case \"minio\":\n setEndpoint(\"\");\n setTitleSelection(\"MinIO\");\n }\n }, [type]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n // Input actions\n const updateTierName = (e: React.ChangeEvent) => {\n setName(e.target.value.toUpperCase());\n };\n\n const targetElement = tierTypes.find((item) => item.serviceName === type);\n\n return (\n \n \n \n \n }\n actions={}\n />\n\n \n \n
    \n {type !== \"\" && targetElement ? (\n \n {targetElement.logo ? (\n \n {targetElement.logo}\n \n ) : null}\n\n
    \n \n {titleSelection ? titleSelection : \"\"} - Add Tier\n Configuration\n \n
    \n \n ) : null}\n\n \n {type !== \"\" && (\n \n \n ) => {\n setEndpoint(e.target.value);\n }}\n required\n />\n {(type === s3ServiceName || type === minioServiceName) && (\n \n ) => {\n setAccessKey(e.target.value);\n }}\n required\n />\n ) => {\n setSecretKey(e.target.value);\n }}\n required\n />\n \n )}\n {type === gcsServiceName && (\n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n required\n />\n )}\n {type === azureServiceName && (\n \n ) => {\n setAccountName(e.target.value);\n }}\n required\n />\n ) => {\n setAccountKey(e.target.value);\n }}\n required\n />\n \n )}\n ) => {\n setBucket(e.target.value);\n }}\n required\n />\n ) => {\n setPrefix(e.target.value);\n }}\n required\n />\n {\n setRegion(value);\n }}\n required={type !== \"minio\"}\n label={\"Region\"}\n id=\"region\"\n name=\"region\"\n type={type}\n />\n {type === s3ServiceName ||\n (type === minioServiceName && (\n ) => {\n setStorageClass(e.target.value);\n }}\n />\n ))}\n \n )}\n \n \n \n Save Tier Configuration\n \n \n \n \n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddTierConfiguration));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n AzureTierIcon,\n GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\n} from \"../../../../icons\";\n\nexport const minioServiceName = \"minio\";\nexport const gcsServiceName = \"gcs\";\nexport const s3ServiceName = \"s3\";\nexport const azureServiceName = \"azure\";\n\nexport const tierTypes = [\n {\n serviceName: minioServiceName,\n targetTitle: \"MinIO\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: gcsServiceName,\n targetTitle: \"Google Cloud Storage\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: s3ServiceName,\n targetTitle: \"AWS S3\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: azureServiceName,\n targetTitle: \"Azure\",\n logo: ,\n logoXs: ,\n },\n];\n","import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
    }\n \n {errorMessage}\n \n
    \n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\n\nexports.default = _default;"],"names":["withStyles","theme","createStyles","link","display","alignItems","justifyContent","textDecoration","maxWidth","color","palette","primary","light","icon","marginRight","height","width","borderRadius","background","label","padding","fontSize","fontWeight","to","classes","className","executeOnClick","sx","onClick","fieldBasic","tooltipHelper","valueString","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","textBoxContainer","border","paddingLeft","onChange","id","name","disabled","tooltip","required","error","accept","value","useState","showFileSelector","setShowSelector","Grid","item","xs","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","marginLeft","rightMenu","textAlign","logo","fill","main","middleComponent","actions","includes","Fragment","direction","sm","md","paddingTop","variant","regionList","s3Regions","gcsRegions","azRegions","getRegions","React","setValue","Autocomplete","borderColor","borderWidth","freeSolo","selectOnFocus","handleHomeEndKeys","event","newValue","newVal","inputValue","onInputChange","getOptionLabel","option","options","filterOptions","opts","filterText","toLowerCase","filter","opt","renderOption","Box","borderBottom","cursor","renderInput","params","TextField","minWidth","inputClasses","setErrorSnackMessage","modalBasic","settingsCommon","formFieldStyles","lambdaNotifTitle","fontFamily","fileInputFieldCss","fileTextBoxContainer","flex","fileReselectCss","match","history","saving","setSaving","setName","endpoint","setEndpoint","bucket","setBucket","prefix","setPrefix","region","setRegion","storageClass","setStorageClass","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","titleSelection","setTitleSelection","isFormValid","setIsFormValid","nameInputError","setNameInputError","validName","useCallback","test","useEffect","request","fields","tierType","s3","accesskey","secretkey","storageclass","gcs","azure","accountname","accountkey","payload","api","then","push","IAM_PAGES","catch","err","valid","targetElement","tierTypes","serviceName","PageHeader","BackLink","PageLayout","noValidate","onSubmit","preventDefault","marginBottom","targetTitle","gridTemplateColumns","gridAutoFlow","gridRowGap","gridColumnGap","InputBoxWrapper","toUpperCase","s3ServiceName","minioServiceName","gcsServiceName","FileSelector","encodedValue","azureServiceName","settingsButtonContainer","Button","logoXs","errorBlock","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/1796.840a4e41.chunk.js b/portal-ui/build/static/js/1796.840a4e41.chunk.js deleted file mode 100644 index 9909c99b8..000000000 --- a/portal-ui/build/static/js/1796.840a4e41.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[1796],{29316:function(e,a,l){l(50390);var t=l(6369),n=l(86509),i=l(4285),s=l(86362),r=l(62559);a.Z=(0,i.Z)((function(e){return(0,n.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var a=e.to,l=e.label,n=e.classes,i=e.className,o=e.executeOnClick;return(0,r.jsxs)(t.rU,{to:a,className:"".concat(n.link," ").concat(i||""),onClick:function(){o&&o()},children:[(0,r.jsx)("div",{className:n.icon,children:(0,r.jsx)(s.xN,{})}),(0,r.jsx)("div",{className:n.label,children:l})]})}))},82461:function(e,a,l){l.d(a,{Z:function(){return S}});var t=l(23430),n=l(18489),i=l(50390),s=l(38342),r=l.n(s),o=l(25594),u=l(36554),c=l(94187),d=l(95467),v=l(46529),p=l(94258),b=l(86509),h=l(4285),m=l(72462),x=l(97538),f=l(82981),g=l(62559),S=(0,h.Z)((function(e){return(0,b.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},m.YI),m.Hr),{},{valueString:{maxWidth:350,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",marginTop:2},fileInputField:{margin:"13px 0","@media (max-width: 900px)":{flexFlow:"column"}}},m.bV),{},{inputLabel:(0,n.Z)((0,n.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"}),textBoxContainer:(0,n.Z)((0,n.Z)({},m.YI.textBoxContainer),{},{maxWidth:"100%",border:"1px solid #eaeaea",paddingLeft:"15px"})}))}))((function(e){var a=e.label,l=e.classes,n=e.onChange,s=e.id,b=e.name,h=e.disabled,m=void 0!==h&&h,S=e.tooltip,Z=void 0===S?"":S,j=e.required,C=e.error,A=void 0===C?"":C,E=e.accept,y=void 0===E?"":E,N=e.value,w=void 0===N?"":N,T=(0,i.useState)(!1),I=(0,t.Z)(T,2),U=I[0],W=I[1];return(0,g.jsx)(i.Fragment,{children:(0,g.jsxs)(o.ZP,{item:!0,xs:12,className:"".concat(l.fileInputField," ").concat(l.fieldBottom," ").concat(l.fieldContainer," ").concat(""!==A?l.errorInField:""),children:[""!==a&&(0,g.jsxs)(u.Z,{htmlFor:s,className:"".concat(""!==A?l.fieldLabelError:""," ").concat(l.inputLabel),children:[(0,g.jsxs)("span",{children:[a,j?"*":""]}),""!==Z&&(0,g.jsx)("div",{className:l.tooltipContainer,children:(0,g.jsx)(c.Z,{title:Z,placement:"top-start",children:(0,g.jsx)("div",{className:l.tooltip,children:(0,g.jsx)(x.Z,{})})})})]}),U||""===w?(0,g.jsxs)("div",{className:l.textBoxContainer,children:[(0,g.jsx)("input",{type:"file",name:b,onChange:function(e){var a=r()(e,"target.files[0].name","");!function(e,a){var l=e.target.files[0],t=new FileReader;t.readAsDataURL(l),t.onload=function(){var e=t.result;if(e){var l=e.toString().split("base64,");2===l.length&&a(l[1])}}}(e,(function(e){n(e,a)}))},accept:y,required:j,disabled:m,className:l.fileInputField}),""!==w&&(0,g.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!1)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,g.jsx)(p.Z,{})}),""!==A&&(0,g.jsx)(f.Z,{errorMessage:A})]}):(0,g.jsxs)("div",{className:l.fileReselect,children:[(0,g.jsx)("div",{className:l.valueString,children:w}),(0,g.jsx)(d.Z,{color:"primary","aria-label":"upload picture",component:"span",onClick:function(){W(!0)},disableRipple:!1,disableFocusRipple:!1,size:"small",children:(0,g.jsx)(v.Z,{})})]})]})})}))},66964:function(e,a,l){var t=l(18489),n=l(50390),i=l(12066),s=l(25594),r=l(36554),o=l(94187),u=l(95467),c=l(86509),d=l(62449),v=l(4285),p=l(72462),b=l(97538),h=l(44977),m=l(62559),x=(0,d.Z)((function(e){return(0,c.Z)((0,t.Z)({},p.gM))}));function f(e){var a=x();return(0,m.jsx)(i.Z,(0,t.Z)({InputProps:{classes:a}},e))}a.Z=(0,v.Z)((function(e){return(0,c.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,i=e.value,c=e.id,d=e.name,v=e.type,p=void 0===v?"text":v,x=e.autoComplete,g=void 0===x?"off":x,S=e.disabled,Z=void 0!==S&&S,j=e.multiline,C=void 0!==j&&j,A=e.tooltip,E=void 0===A?"":A,y=e.index,N=void 0===y?0:y,w=e.error,T=void 0===w?"":w,I=e.required,U=void 0!==I&&I,W=e.placeholder,O=void 0===W?"":W,k=e.min,P=e.max,R=e.overlayId,L=e.overlayIcon,F=void 0===L?null:L,M=e.overlayObject,z=void 0===M?null:M,B=e.extraInputProps,H=void 0===B?{}:B,K=e.overlayAction,V=e.noLabelMinWidth,q=void 0!==V&&V,G=e.pattern,D=void 0===G?"":G,J=e.autoFocus,Y=void 0!==J&&J,X=e.classes,$=e.className,_=void 0===$?"":$,Q=e.onKeyPress,ee=(0,t.Z)({"data-index":N},H);return"number"===p&&k&&(ee.min=k),"number"===p&&P&&(ee.max=P),""!==D&&(ee.pattern=D),(0,m.jsx)(n.Fragment,{children:(0,m.jsxs)(s.ZP,{container:!0,className:(0,h.Z)(""!==_?_:"",""!==T?X.errorInField:X.inputBoxContainer),children:[""!==a&&(0,m.jsxs)(r.Z,{htmlFor:c,className:q?X.noMinWidthLabel:X.inputLabel,children:[(0,m.jsxs)("span",{children:[a,U?"*":""]}),""!==E&&(0,m.jsx)("div",{className:X.tooltipContainer,children:(0,m.jsx)(o.Z,{title:E,placement:"top-start",children:(0,m.jsx)("div",{className:X.tooltip,children:(0,m.jsx)(b.Z,{})})})})]}),(0,m.jsxs)("div",{className:X.textBoxContainer,children:[(0,m.jsx)(f,{id:c,name:d,fullWidth:!0,value:i,autoFocus:Y,disabled:Z,onChange:l,type:p,multiline:C,autoComplete:g,inputProps:ee,error:""!==T,helperText:T,placeholder:O,className:X.inputRebase,onKeyPress:Q}),F&&(0,m.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,m.jsx)(u.Z,{onClick:K?function(){K()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:F})}),z&&(0,m.jsx)("div",{className:"".concat(X.overlayAction," ").concat(""!==a?"withLabel":""),children:z})]})]})})}))},25534:function(e,a,l){var t=l(18489),n=(l(50390),l(25594)),i=l(86509),s=l(4285),r=l(72462),o=l(62559);a.Z=(0,s.Z)((function(e){return(0,i.Z)((0,t.Z)({},r.Bw))}))((function(e){var a=e.classes,l=e.className,t=void 0===l?"":l,i=e.children;return(0,o.jsx)("div",{className:a.contentSpacer,children:(0,o.jsx)(n.ZP,{container:!0,children:(0,o.jsx)(n.ZP,{item:!0,xs:12,className:t,children:i})})})}))},35721:function(e,a,l){var t=l(50390),n=l(34424),i=l(25594),s=l(86509),r=l(4285),o=l(35477),u=l(95467),c=l(26805),d=l(44078),v=l(5265),p=l(86362),b=l(62559),h={toggleList:v.kQ},m=(0,n.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),h);a.Z=m((0,r.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var a=e.classes,l=e.label,n=e.actions,s=e.sidebarOpen,r=e.operatorMode,v=e.managerObjects,h=e.toggleList,m=e.middleComponent;return e.features.includes("hide-menu")?(0,b.jsx)(t.Fragment,{}):(0,b.jsxs)(i.ZP,{container:!0,className:"".concat(a.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,b.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:a.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,b.jsx)("div",{className:a.logo,children:r?(0,b.jsx)(c.Z,{}):(0,b.jsx)(d.Z,{})}),(0,b.jsx)(o.Z,{variant:"h4",className:a.labelStyle,children:l})]}),m&&(0,b.jsx)(i.ZP,{item:!0,xs:12,sm:12,md:6,className:a.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:m}),(0,b.jsxs)(i.ZP,{item:!0,xs:12,sm:12,md:m?3:6,className:a.rightMenu,children:[n&&n,v&&v.length>0&&(0,b.jsx)(u.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},id:"object-manager-toggle",size:"large",children:(0,b.jsx)(p.gx,{})})]})]})})))},41796:function(e,a,l){l.r(a),l.d(a,{default:function(){return B}});var t=l(23430),n=l(18489),i=l(50390),s=l(34424),r=l(38342),o=l.n(r),u=l(25594),c=l(86509),d=l(4285),v=l(56805),p=l(66946),b=l(44149),h=l(72462),m=l(30324),x=l(66964),f=l(82461),g=l(35721),S=l(51444),Z=l(29316),j=l(25534),C=l(49495),A=l(36554),E=l(94187),y=l(95467),N=l(62449),w=l(97538),T=l(44977),I=l(10728),U=l(12066),W=[{label:"US East (Ohio)",value:"us-east-2"},{label:"US East (N. Virginia)",value:"us-east-1"},{label:"US West (N. California)",value:"us-west-1"},{label:"US West (Oregon)",value:"us-west-2"},{label:"Africa (Cape Town)",value:"af-south-1"},{label:"Asia Pacific (Hong Kong)***",value:"ap-east-1"},{label:"Asia Pacific (Jakarta)",value:"ap-southeast-3"},{label:"Asia Pacific (Mumbai)",value:"ap-south-1"},{label:"Asia Pacific (Osaka)",value:"ap-northeast-3"},{label:"Asia Pacific (Seoul)",value:"ap-northeast-2"},{label:"Asia Pacific (Singapore)",value:"ap-southeast-1"},{label:"Asia Pacific (Sydney)",value:"ap-southeast-2"},{label:"Asia Pacific (Tokyo)",value:"ap-northeast-1"},{label:"Canada (Central)",value:"ca-central-1"},{label:"China (Beijing)",value:"cn-north-1"},{label:"China (Ningxia)",value:"cn-northwest-1"},{label:"Europe (Frankfurt)",value:"eu-central-1"},{label:"Europe (Ireland)",value:"eu-west-1"},{label:"Europe (London)",value:"eu-west-2"},{label:"Europe (Milan)",value:"eu-south-1"},{label:"Europe (Paris)",value:"eu-west-3"},{label:"Europe (Stockholm)",value:"eu-north-1"},{label:"South America (S\xe3o Paulo)",value:"sa-east-1"},{label:"Middle East (Bahrain)",value:"me-south-1"},{label:"AWS GovCloud (US-East)",value:"us-gov-east-1"},{label:"AWS GovCloud (US-West)",value:"us-gov-west-1"}],O=[{label:"Montr\xe9al",value:"NORTHAMERICA-NORTHEAST1"},{label:"Toronto",value:"NORTHAMERICA-NORTHEAST2"},{label:"Iowa",value:"US-CENTRAL1"},{label:"South Carolina",value:"US-EAST1"},{label:"Northern Virginia",value:"US-EAST4"},{label:"Oregon",value:"US-WEST1"},{label:"Los Angeles",value:"US-WEST2"},{label:"Salt Lake City",value:"US-WEST3"},{label:"Las Vegas",value:"US-WEST4"},{label:"S\xe3o Paulo",value:"SOUTHAMERICA-EAST1"},{label:"Santiago",value:"SOUTHAMERICA-WEST1"},{label:"Warsaw",value:"EUROPE-CENTRAL2"},{label:"Finland",value:"EUROPE-NORTH1"},{label:"Belgium",value:"EUROPE-WEST1"},{label:"London",value:"EUROPE-WEST2"},{label:"Frankfurt",value:"EUROPE-WEST3"},{label:"Netherlands",value:"EUROPE-WEST4"},{label:"Z\xfcrich",value:"EUROPE-WEST6"},{label:"Taiwan",value:"ASIA-EAST1"},{label:"Hong Kong",value:"ASIA-EAST2"},{label:"Tokyo",value:"ASIA-NORTHEAST1"},{label:"Osaka",value:"ASIA-NORTHEAST2"},{label:"Seoul",value:"ASIA-NORTHEAST3"},{label:"Mumbai",value:"ASIA-SOUTH1"},{label:"Delhi",value:"ASIA-SOUTH2"},{label:"Singapore",value:"ASIA-SOUTHEAST1"},{label:"Jakarta",value:"ASIA-SOUTHEAST2"},{label:"Sydney",value:"AUSTRALIA-SOUTHEAST1"},{label:"Melbourne",value:"AUSTRALIA-SOUTHEAST2"}],k=[{label:"Asia",value:"asia"},{label:"Asia Pacific",value:"asiapacific"},{label:"Australia",value:"australia"},{label:"Australia Central",value:"australiacentral"},{label:"Australia Central 2",value:"australiacentral2"},{label:"Australia East",value:"australiaeast"},{label:"Australia Southeast",value:"australiasoutheast"},{label:"Brazil",value:"brazil"},{label:"Brazil South",value:"brazilsouth"},{label:"Brazil Southeast",value:"brazilsoutheast"},{label:"Canada",value:"canada"},{label:"Canada Central",value:"canadacentral"},{label:"Canada East",value:"canadaeast"},{label:"Central India",value:"centralindia"},{label:"Central US",value:"centralus"},{label:"Central US (Stage)",value:"centralusstage"},{label:"Central US EUAP",value:"centraluseuap"},{label:"East Asia",value:"eastasia"},{label:"East Asia (Stage)",value:"eastasiastage"},{label:"East US",value:"eastus"},{label:"East US (Stage)",value:"eastusstage"},{label:"East US 2",value:"eastus2"},{label:"East US 2 (Stage)",value:"eastus2stage"},{label:"East US 2 EUAP",value:"eastus2euap"},{label:"Europe",value:"europe"},{label:"France",value:"france"},{label:"France Central",value:"francecentral"},{label:"France South",value:"francesouth"},{label:"Germany",value:"germany"},{label:"Germany North",value:"germanynorth"},{label:"Germany West Central",value:"germanywestcentral"},{label:"Global",value:"global"},{label:"India",value:"india"},{label:"Japan",value:"japan"},{label:"Japan East",value:"japaneast"},{label:"Japan West",value:"japanwest"},{label:"Jio India Central",value:"jioindiacentral"},{label:"Jio India West",value:"jioindiawest"},{label:"Korea",value:"korea"},{label:"Korea Central",value:"koreacentral"},{label:"Korea South",value:"koreasouth"},{label:"North Central US",value:"northcentralus"},{label:"North Central US (Stage)",value:"northcentralusstage"},{label:"North Europe",value:"northeurope"},{label:"Norway",value:"norway"},{label:"Norway East",value:"norwayeast"},{label:"Norway West",value:"norwaywest"},{label:"South Africa",value:"southafrica"},{label:"South Africa North",value:"southafricanorth"},{label:"South Africa West",value:"southafricawest"},{label:"South Central US",value:"southcentralus"},{label:"South Central US (Stage)",value:"southcentralusstage"},{label:"South India",value:"southindia"},{label:"Southeast Asia",value:"southeastasia"},{label:"Southeast Asia (Stage)",value:"southeastasiastage"},{label:"Sweden Central",value:"swedencentral"},{label:"Switzerland",value:"switzerland"},{label:"Switzerland North",value:"switzerlandnorth"},{label:"Switzerland West",value:"switzerlandwest"},{label:"UAE Central",value:"uaecentral"},{label:"UAE North",value:"uaenorth"},{label:"UK South",value:"uksouth"},{label:"UK West",value:"ukwest"},{label:"United Arab Emirates",value:"uae"},{label:"United Kingdom",value:"uk"},{label:"United States",value:"unitedstates"},{label:"United States EUAP",value:"unitedstateseuap"},{label:"West Central US",value:"westcentralus"},{label:"West Europe",value:"westeurope"},{label:"West India",value:"westindia"},{label:"West US",value:"westus"},{label:"West US (Stage)",value:"westusstage"},{label:"West US 2",value:"westus2"},{label:"West US 2 (Stage)",value:"westus2stage"},{label:"West US 3",value:"westus3"}],P=l(62559),R=function(e){var a=e.type,l=e.onChange,s=e.inputProps,r=function(e){return"s3"===e?W:"gcs"===e?O:"azure"===e?k:[]}(a),o=i.useState(""),u=(0,t.Z)(o,2),c=u[0],d=u[1];return(0,P.jsx)(I.Z,{sx:{"& .MuiOutlinedInput-root":{padding:0,paddingLeft:"10px",fontSize:13,fontWeight:600},"& .MuiAutocomplete-inputRoot":{"& .MuiOutlinedInput-notchedOutline":{borderColor:"#e5e5e5",borderWidth:1},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:"#07193E",borderWidth:1}}},freeSolo:!0,selectOnFocus:!0,handleHomeEndKeys:!0,onChange:function(e,a){var t,n=a;n="string"===typeof a?{label:a}:a&&a.inputValue?{label:a.inputValue}:a,d(n),l(null===(t=n)||void 0===t?void 0:t.value)},value:c,onInputChange:function(e){var a=(e||{}).target,t=(a=void 0===a?{}:a).value;l(void 0===t?"":t)},getOptionLabel:function(e){return"string"===typeof e?e:e.inputValue?e.inputValue:e.value},options:r,filterOptions:function(e,a){var l=a.inputValue.toLowerCase();return e.filter((function(e){return"".concat(e.label.toLowerCase()).concat(e.value.toLowerCase()).includes(l)}))},renderOption:function(e,a){return(0,P.jsx)("li",(0,n.Z)((0,n.Z)({},e),{},{children:(0,P.jsxs)(v.Z,{sx:{display:"flex",flexFlow:"column",alignItems:"baseline",padding:"4px",borderBottom:"1px solid #eaeaea",cursor:"pointer",width:"100%","& .label":{fontSize:"13px",fontWeight:500},"& .value":{fontSize:"11px",fontWeight:400}},children:[(0,P.jsx)("span",{className:"label",children:a.value}),(0,P.jsx)("span",{className:"value",children:a.label})]})}))},renderInput:function(e){return(0,P.jsx)(U.Z,(0,n.Z)((0,n.Z)((0,n.Z)({},e),s),{},{fullWidth:!0}))}})},L=(0,N.Z)((function(e){return(0,c.Z)((0,n.Z)({},h.gM))})),F=(0,d.Z)((function(e){return(0,c.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative",minWidth:160},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,n.Z)((0,n.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var a=e.label,l=e.onChange,t=e.id,s=e.name,r=e.type,o=e.tooltip,c=void 0===o?"":o,d=e.index,v=void 0===d?0:d,p=e.error,b=void 0===p?"":p,h=e.required,m=void 0!==h&&h,x=e.overlayId,f=e.overlayIcon,g=void 0===f?null:f,S=e.overlayObject,Z=void 0===S?null:S,j=e.extraInputProps,C=void 0===j?{}:j,N=e.overlayAction,I=e.noLabelMinWidth,U=void 0!==I&&I,W=e.classes,O=e.className,k=void 0===O?"":O,F=L(),M=(0,n.Z)((0,n.Z)({"data-index":v},C),{},{name:s,id:t,classes:F});return(0,P.jsx)(i.Fragment,{children:(0,P.jsxs)(u.ZP,{container:!0,className:(0,T.Z)(""!==k?k:"",""!==b?W.errorInField:W.inputBoxContainer),children:[""!==a&&(0,P.jsxs)(A.Z,{htmlFor:t,className:U?W.noMinWidthLabel:W.inputLabel,children:[(0,P.jsxs)("span",{children:[a,m?"*":""]}),""!==c&&(0,P.jsx)("div",{className:W.tooltipContainer,children:(0,P.jsx)(E.Z,{title:c,placement:"top-start",children:(0,P.jsx)("div",{className:W.tooltip,children:(0,P.jsx)(w.Z,{})})})})]}),(0,P.jsxs)("div",{className:W.textBoxContainer,children:[(0,P.jsx)(R,{type:r,inputProps:M,onChange:l}),g&&(0,P.jsx)("div",{className:"".concat(W.overlayAction," ").concat(""!==a?"withLabel":""),children:(0,P.jsx)(y.Z,{onClick:N?function(){N()}:function(){return null},id:x,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:g})}),Z&&(0,P.jsx)("div",{className:"".concat(W.overlayAction," ").concat(""!==a?"withLabel":""),children:Z})]})]})})})),M={setErrorSnackMessage:b.Ih},z=(0,s.$j)(null,M),B=(0,d.Z)((function(e){return(0,c.Z)((0,n.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},h.oO),h.Je),h.DF),{},{lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},fileInputFieldCss:{margin:"0"},fileTextBoxContainer:{maxWidth:" 100%",flex:1},fileReselectCss:{maxWidth:" 100%",flex:1}},h.bV))}))(z((function(e){var a=e.classes,l=e.setErrorSnackMessage,s=e.match,r=e.history,c=(0,i.useState)(!1),d=(0,t.Z)(c,2),b=d[0],h=d[1],A=(0,i.useState)(""),E=(0,t.Z)(A,2),y=E[0],N=E[1],w=(0,i.useState)(""),T=(0,t.Z)(w,2),I=T[0],U=T[1],W=(0,i.useState)(""),O=(0,t.Z)(W,2),k=O[0],R=O[1],L=(0,i.useState)(""),M=(0,t.Z)(L,2),z=M[0],B=M[1],H=(0,i.useState)(""),K=(0,t.Z)(H,2),V=K[0],q=K[1],G=(0,i.useState)(""),D=(0,t.Z)(G,2),J=D[0],Y=D[1],X=(0,i.useState)(""),$=(0,t.Z)(X,2),_=$[0],Q=$[1],ee=(0,i.useState)(""),ae=(0,t.Z)(ee,2),le=ae[0],te=ae[1],ne=(0,i.useState)(""),ie=(0,t.Z)(ne,2),se=ie[0],re=ie[1],oe=(0,i.useState)(""),ue=(0,t.Z)(oe,2),ce=ue[0],de=ue[1],ve=(0,i.useState)(""),pe=(0,t.Z)(ve,2),be=pe[0],he=pe[1],me=(0,i.useState)(""),xe=(0,t.Z)(me,2),fe=xe[0],ge=xe[1],Se=(0,i.useState)(""),Ze=(0,t.Z)(Se,2),je=Ze[0],Ce=Ze[1],Ae=o()(s,"params.service","s3"),Ee=(0,i.useState)(!0),ye=(0,t.Z)(Ee,2),Ne=ye[0],we=ye[1],Te=(0,i.useState)(""),Ie=(0,t.Z)(Te,2),Ue=Ie[0],We=Ie[1],Oe=(0,i.useCallback)((function(){return/^[A-Z0-9-_]+$/.test(y)?(We(""),!0):(We("Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores)."),!1)}),[y]);(0,i.useEffect)((function(){if(b){var e={},a={name:y,endpoint:I,bucket:k,prefix:z,region:V},t=Ae;switch("minio"===Ae&&(t="s3"),Ae){case"minio":case"s3":e={s3:(0,n.Z)((0,n.Z)({},a),{},{accesskey:_,secretkey:le,storageclass:J})};break;case"gcs":e={gcs:(0,n.Z)((0,n.Z)({},a),{},{creds:ce})};break;case"azure":e={azure:(0,n.Z)((0,n.Z)({},a),{},{accountname:be,accountkey:fe})}}var i=(0,n.Z)({type:t},e);m.Z.invoke("POST","/api/v1/admin/tiers",i).then((function(){h(!1),r.push(C.gA.TIERS)})).catch((function(e){h(!1),l(e)}))}}),[_,fe,be,k,ce,I,r,y,z,V,b,le,l,J,Ae]),(0,i.useEffect)((function(){var e=!0;""===Ae&&(e=!1),""!==y&&Oe()||(e=!1),""===I&&(e=!1),""===k&&(e=!1),""===z&&(e=!1),""===V&&"minio"!==Ae&&(e=!1),"s3"!==Ae&&"minio"!==Ae||(""===_&&(e=!1),""===le&&(e=!1)),"gcs"===Ae&&""===ce&&(e=!1),"azure"===Ae&&(""===be&&(e=!1),""===fe&&(e=!1)),we(e)}),[_,fe,be,k,ce,I,Ne,y,z,V,le,J,Ae,Oe]),(0,i.useEffect)((function(){switch(Ae){case"gcs":U("https://storage.googleapis.com/"),Ce("Google Cloud");break;case"s3":U("https://s3.amazonaws.com"),Ce("Amazon S3");break;case"azure":U("http://blob.core.windows.net"),Ce("Azure");break;case"minio":U(""),Ce("MinIO")}}),[Ae]);var ke=S.Bh.find((function(e){return e.serviceName===Ae}));return(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(g.Z,{label:"Tiers"}),(0,P.jsx)(Z.Z,{to:C.gA.TIERS_ADD,label:"Back To Tier Type Selection"}),(0,P.jsx)(j.Z,{children:(0,P.jsx)(u.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea",padding:"25px"},children:(0,P.jsxs)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),h(!0)},children:[""!==Ae&&ke?(0,P.jsxs)(u.ZP,{item:!0,xs:12,sx:{display:"flex",alignItems:"center",justifyContent:"start",marginBottom:"20px"},children:[ke.logo?(0,P.jsx)(v.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:ke.logo}):null,(0,P.jsx)("div",{className:a.lambdaNotifTitle,children:(0,P.jsxs)("b",{children:[je||""," - Add Tier Configuration"]})})]},"icon-".concat(ke.targetTitle)):null,(0,P.jsx)(u.ZP,{item:!0,xs:12,sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"1fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gridRowGap:25,gridColumnGap:50},children:""!==Ae&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"name",name:"name",label:"Name",placeholder:"Enter Name (Eg. REMOTE-TIER)",value:y,onChange:function(e){N(e.target.value.toUpperCase())},error:Ue,required:!0}),(0,P.jsx)(x.Z,{id:"endpoint",name:"endpoint",label:"Endpoint",placeholder:"Enter Endpoint",value:I,onChange:function(e){U(e.target.value)},required:!0}),(Ae===S.b2||Ae===S.Pp)&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"accessKey",name:"accessKey",label:"Access Key",placeholder:"Enter Access Key",value:_,onChange:function(e){Q(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"secretKey",name:"secretKey",label:"Secret Key",placeholder:"Enter Secret Key",value:le,onChange:function(e){te(e.target.value)},required:!0})]}),Ae===S.f0&&(0,P.jsx)(f.Z,{accept:".json",classes:{fileInputField:a.fileInputFieldCss,textBoxContainer:a.fileTextBoxContainer,fileReselect:a.fileReselectCss},id:"creds",label:"Credentials",name:"creds",onChange:function(e,a){de(e),re(a)},value:se,required:!0}),Ae===S.vB&&(0,P.jsxs)(i.Fragment,{children:[(0,P.jsx)(x.Z,{id:"accountName",name:"accountName",label:"Account Name",placeholder:"Enter Account Name",value:be,onChange:function(e){he(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"accountKey",name:"accountKey",label:"Account Key",placeholder:"Enter Account Key",value:fe,onChange:function(e){ge(e.target.value)},required:!0})]}),(0,P.jsx)(x.Z,{id:"bucket",name:"bucket",label:"Bucket",placeholder:"Enter Bucket",value:k,onChange:function(e){R(e.target.value)},required:!0}),(0,P.jsx)(x.Z,{id:"prefix",name:"prefix",label:"Prefix",placeholder:"Enter Prefix",value:z,onChange:function(e){B(e.target.value)},required:!0}),(0,P.jsx)(F,{onChange:function(e){q(e)},required:"minio"!==Ae,label:"Region",id:"region",name:"region",type:Ae}),Ae===S.b2||Ae===S.Pp&&(0,P.jsx)(x.Z,{id:"storageClass",name:"storageClass",label:"Storage Class",placeholder:"Enter Storage Class",value:J,onChange:function(e){Y(e.target.value)}})]})}),(0,P.jsx)(u.ZP,{item:!0,xs:12,className:a.settingsButtonContainer,children:(0,P.jsx)(p.Z,{type:"submit",variant:"contained",color:"primary",disabled:b||!Ne,children:"Save Tier Configuration"})})]})})})]})})))},51444:function(e,a,l){l.d(a,{Pp:function(){return i},f0:function(){return s},b2:function(){return r},vB:function(){return o},Bh:function(){return u}});var t=l(86362),n=l(62559),i="minio",s="gcs",r="s3",o="azure",u=[{serviceName:i,targetTitle:"MinIO",logo:(0,n.jsx)(t.$E,{}),logoXs:(0,n.jsx)(t.YE,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,n.jsx)(t.UQ,{}),logoXs:(0,n.jsx)(t.Vw,{})},{serviceName:r,targetTitle:"AWS S3",logo:(0,n.jsx)(t.fe,{}),logoXs:(0,n.jsx)(t.Xj,{})},{serviceName:o,targetTitle:"Azure",logo:(0,n.jsx)(t.jz,{}),logoXs:(0,n.jsx)(t.nA,{})}]},82981:function(e,a,l){var t=l(50390),n=l(35477),i=l(86509),s=l(4285),r=l(62559);a.Z=(0,s.Z)((function(e){var a;return(0,i.Z)({errorBlock:{color:(null===(a=e.palette)||void 0===a?void 0:a.error.main)||"#C83B51"}})}))((function(e){var a=e.classes,l=e.errorMessage,i=e.withBreak,s=void 0===i||i;return(0,r.jsxs)(t.Fragment,{children:[s&&(0,r.jsx)("br",{}),(0,r.jsx)(n.Z,{component:"p",variant:"body1",className:a.errorBlock,children:l})]})}))},46529:function(e,a,l){var t=l(64119);a.Z=void 0;var n=t(l(66830)),i=l(62559),s=(0,n.default)((0,i.jsx)("path",{d:"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z"}),"AttachFile");a.Z=s},94258:function(e,a,l){var t=l(64119);a.Z=void 0;var n=t(l(66830)),i=l(62559),s=(0,n.default)((0,i.jsx)("path",{d:"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"}),"Cancel");a.Z=s}}]); -//# sourceMappingURL=1796.840a4e41.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/1796.840a4e41.chunk.js.map b/portal-ui/build/static/js/1796.840a4e41.chunk.js.map deleted file mode 100644 index 706d55225..000000000 --- a/portal-ui/build/static/js/1796.840a4e41.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/1796.840a4e41.chunk.js","mappings":"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,SAET,CACE7B,MAAO,QACP6B,MAAO,SAET,CACE7B,MAAO,aACP6B,MAAO,aAET,CACE7B,MAAO,aACP6B,MAAO,aAET,CACE7B,MAAO,oBACP6B,MAAO,mBAET,CACE7B,MAAO,iBACP6B,MAAO,gBAET,CACE7B,MAAO,QACP6B,MAAO,SAET,CACE7B,MAAO,gBACP6B,MAAO,gBAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,mBACP6B,MAAO,kBAET,CACE7B,MAAO,2BACP6B,MAAO,uBAET,CACE7B,MAAO,eACP6B,MAAO,eAET,CACE7B,MAAO,SACP6B,MAAO,UAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,eACP6B,MAAO,eAET,CACE7B,MAAO,qBACP6B,MAAO,oBAET,CACE7B,MAAO,oBACP6B,MAAO,mBAET,CACE7B,MAAO,mBACP6B,MAAO,kBAET,CACE7B,MAAO,2BACP6B,MAAO,uBAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,iBACP6B,MAAO,iBAET,CACE7B,MAAO,yBACP6B,MAAO,sBAET,CACE7B,MAAO,iBACP6B,MAAO,iBAET,CACE7B,MAAO,cACP6B,MAAO,eAET,CACE7B,MAAO,oBACP6B,MAAO,oBAET,CACE7B,MAAO,mBACP6B,MAAO,mBAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,YACP6B,MAAO,YAET,CACE7B,MAAO,WACP6B,MAAO,WAET,CACE7B,MAAO,UACP6B,MAAO,UAET,CACE7B,MAAO,uBACP6B,MAAO,OAET,CACE7B,MAAO,iBACP6B,MAAO,MAET,CACE7B,MAAO,gBACP6B,MAAO,gBAET,CACE7B,MAAO,qBACP6B,MAAO,oBAET,CACE7B,MAAO,kBACP6B,MAAO,iBAET,CACE7B,MAAO,cACP6B,MAAO,cAET,CACE7B,MAAO,aACP6B,MAAO,aAET,CACE7B,MAAO,UACP6B,MAAO,UAET,CACE7B,MAAO,kBACP6B,MAAO,eAET,CACE7B,MAAO,YACP6B,MAAO,WA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","sources":["common/BackLink.tsx","screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx","screens/Console/Common/FormComponents/FileSelector/utils.ts","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/TiersConfiguration/s3-regions.tsx","screens/Console/Configurations/TiersConfiguration/gcs-regions.ts","screens/Console/Configurations/TiersConfiguration/azure-regions.ts","screens/Console/Configurations/TiersConfiguration/RegionSelect.tsx","screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx","screens/Console/Configurations/TiersConfiguration/AddTierConfiguration.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx","screens/shared/ErrorBlock.tsx","../node_modules/@mui/icons-material/AttachFile.js","../node_modules/@mui/icons-material/Cancel.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
    \n \n
    \n
    {label}
    \n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Grid, InputLabel, Tooltip } from \"@mui/material\";\nimport IconButton from \"@mui/material/IconButton\";\nimport AttachFileIcon from \"@mui/icons-material/AttachFile\";\nimport CancelIcon from \"@mui/icons-material/Cancel\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n fileInputStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport { fileProcess } from \"./utils\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport ErrorBlock from \"../../../../shared/ErrorBlock\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: string, i: string) => void;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n required?: boolean;\n error?: string;\n accept?: string;\n value?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n valueString: {\n maxWidth: 350,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n marginTop: 2,\n },\n fileInputField: {\n margin: \"13px 0\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n ...fileInputStyles,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n textBoxContainer: {\n ...fieldBasic.textBoxContainer,\n maxWidth: \"100%\",\n border: \"1px solid #eaeaea\",\n paddingLeft: \"15px\",\n },\n });\n\nconst FileSelector = ({\n label,\n classes,\n onChange,\n id,\n name,\n disabled = false,\n tooltip = \"\",\n required,\n error = \"\",\n accept = \"\",\n value = \"\",\n}: InputBoxProps) => {\n const [showFileSelector, setShowSelector] = useState(false);\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n {showFileSelector || value === \"\" ? (\n
    \n {\n const fileName = get(e, \"target.files[0].name\", \"\");\n fileProcess(e, (data: any) => {\n onChange(data, fileName);\n });\n }}\n accept={accept}\n required={required}\n disabled={disabled}\n className={classes.fileInputField}\n />\n\n {value !== \"\" && (\n {\n setShowSelector(false);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n )}\n\n {error !== \"\" && }\n
    \n ) : (\n
    \n
    {value}
    \n {\n setShowSelector(true);\n }}\n disableRipple={false}\n disableFocusRipple={false}\n size=\"small\"\n >\n \n \n
    \n )}\n \n
    \n );\n};\n\nexport default withStyles(styles)(FileSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const fileProcess = (evt: any, callback: any) => {\n const file = evt.target.files[0];\n const reader = new FileReader();\n reader.readAsDataURL(file);\n\n reader.onload = () => {\n // reader.readAsDataURL(file) output will be something like: data:application/x-x509-ca-cert;base64,LS0tLS1CRUdJTiBDRVJUSU\n // we care only about the actual base64 part (everything after \"data:application/x-x509-ca-cert;base64,\")\n const fileBase64 = reader.result;\n if (fileBase64) {\n const fileArray = fileBase64.toString().split(\"base64,\");\n\n if (fileArray.length === 2) {\n callback(fileArray[1]);\n }\n }\n };\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { RegionEntry } from \"./types\";\n\nconst s3Regions: RegionEntry[] = [\n { label: \"US East (Ohio)\", value: \"us-east-2\" },\n { label: \"US East (N. Virginia)\", value: \"us-east-1\" },\n { label: \"US West (N. California)\", value: \"us-west-1\" },\n { label: \"US West (Oregon)\", value: \"us-west-2\" },\n { label: \"Africa (Cape Town)\", value: \"af-south-1\" },\n { label: \"Asia Pacific (Hong Kong)***\", value: \"ap-east-1\" },\n { label: \"Asia Pacific (Jakarta)\", value: \"ap-southeast-3\" },\n { label: \"Asia Pacific (Mumbai)\", value: \"ap-south-1\" },\n { label: \"Asia Pacific (Osaka)\", value: \"ap-northeast-3\" },\n { label: \"Asia Pacific (Seoul)\", value: \"ap-northeast-2\" },\n { label: \"Asia Pacific (Singapore)\", value: \"ap-southeast-1\" },\n { label: \"Asia Pacific (Sydney)\", value: \"ap-southeast-2\" },\n { label: \"Asia Pacific (Tokyo)\", value: \"ap-northeast-1\" },\n { label: \"Canada (Central)\", value: \"ca-central-1\" },\n { label: \"China (Beijing)\", value: \"cn-north-1\" },\n { label: \"China (Ningxia)\", value: \"cn-northwest-1\" },\n { label: \"Europe (Frankfurt)\", value: \"eu-central-1\" },\n { label: \"Europe (Ireland)\", value: \"eu-west-1\" },\n { label: \"Europe (London)\", value: \"eu-west-2\" },\n { label: \"Europe (Milan)\", value: \"eu-south-1\" },\n { label: \"Europe (Paris)\", value: \"eu-west-3\" },\n { label: \"Europe (Stockholm)\", value: \"eu-north-1\" },\n { label: \"South America (São Paulo)\", value: \"sa-east-1\" },\n { label: \"Middle East (Bahrain)\", value: \"me-south-1\" },\n { label: \"AWS GovCloud (US-East)\", value: \"us-gov-east-1\" },\n { label: \"AWS GovCloud (US-West)\", value: \"us-gov-west-1\" },\n];\n\nexport default s3Regions;\n","import { RegionEntry } from \"./types\";\n\nconst gcsRegions: RegionEntry[] = [\n { label: \"Montréal\", value: \"NORTHAMERICA-NORTHEAST1\" },\n { label: \"Toronto\", value: \"NORTHAMERICA-NORTHEAST2\" },\n { label: \"Iowa\", value: \"US-CENTRAL1\" },\n { label: \"South Carolina\", value: \"US-EAST1\" },\n { label: \"Northern Virginia\", value: \"US-EAST4\" },\n { label: \"Oregon\", value: \"US-WEST1\" },\n { label: \"Los Angeles\", value: \"US-WEST2\" },\n { label: \"Salt Lake City\", value: \"US-WEST3\" },\n { label: \"Las Vegas\", value: \"US-WEST4\" },\n { label: \"São Paulo\", value: \"SOUTHAMERICA-EAST1\" },\n { label: \"Santiago\", value: \"SOUTHAMERICA-WEST1\" },\n { label: \"Warsaw\", value: \"EUROPE-CENTRAL2\" },\n { label: \"Finland\", value: \"EUROPE-NORTH1\" },\n { label: \"Belgium\", value: \"EUROPE-WEST1\" },\n { label: \"London\", value: \"EUROPE-WEST2\" },\n { label: \"Frankfurt\", value: \"EUROPE-WEST3\" },\n { label: \"Netherlands\", value: \"EUROPE-WEST4\" },\n { label: \"Zürich\", value: \"EUROPE-WEST6\" },\n { label: \"Taiwan\", value: \"ASIA-EAST1\" },\n { label: \"Hong Kong\", value: \"ASIA-EAST2\" },\n { label: \"Tokyo\", value: \"ASIA-NORTHEAST1\" },\n { label: \"Osaka\", value: \"ASIA-NORTHEAST2\" },\n { label: \"Seoul\", value: \"ASIA-NORTHEAST3\" },\n { label: \"Mumbai\", value: \"ASIA-SOUTH1\" },\n { label: \"Delhi\", value: \"ASIA-SOUTH2\" },\n { label: \"Singapore\", value: \"ASIA-SOUTHEAST1\" },\n { label: \"Jakarta\", value: \"ASIA-SOUTHEAST2\" },\n { label: \"Sydney\", value: \"AUSTRALIA-SOUTHEAST1\" },\n { label: \"Melbourne\", value: \"AUSTRALIA-SOUTHEAST2\" },\n];\n\nexport default gcsRegions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { RegionEntry } from \"./types\";\n\nconst azureRegions: RegionEntry[] = [\n {\n label: \"Asia\",\n value: \"asia\",\n },\n {\n label: \"Asia Pacific\",\n value: \"asiapacific\",\n },\n {\n label: \"Australia\",\n value: \"australia\",\n },\n {\n label: \"Australia Central\",\n value: \"australiacentral\",\n },\n {\n label: \"Australia Central 2\",\n value: \"australiacentral2\",\n },\n {\n label: \"Australia East\",\n value: \"australiaeast\",\n },\n {\n label: \"Australia Southeast\",\n value: \"australiasoutheast\",\n },\n {\n label: \"Brazil\",\n value: \"brazil\",\n },\n {\n label: \"Brazil South\",\n value: \"brazilsouth\",\n },\n {\n label: \"Brazil Southeast\",\n value: \"brazilsoutheast\",\n },\n {\n label: \"Canada\",\n value: \"canada\",\n },\n {\n label: \"Canada Central\",\n value: \"canadacentral\",\n },\n {\n label: \"Canada East\",\n value: \"canadaeast\",\n },\n {\n label: \"Central India\",\n value: \"centralindia\",\n },\n {\n label: \"Central US\",\n value: \"centralus\",\n },\n {\n label: \"Central US (Stage)\",\n value: \"centralusstage\",\n },\n {\n label: \"Central US EUAP\",\n value: \"centraluseuap\",\n },\n {\n label: \"East Asia\",\n value: \"eastasia\",\n },\n {\n label: \"East Asia (Stage)\",\n value: \"eastasiastage\",\n },\n {\n label: \"East US\",\n value: \"eastus\",\n },\n {\n label: \"East US (Stage)\",\n value: \"eastusstage\",\n },\n {\n label: \"East US 2\",\n value: \"eastus2\",\n },\n {\n label: \"East US 2 (Stage)\",\n value: \"eastus2stage\",\n },\n {\n label: \"East US 2 EUAP\",\n value: \"eastus2euap\",\n },\n {\n label: \"Europe\",\n value: \"europe\",\n },\n {\n label: \"France\",\n value: \"france\",\n },\n {\n label: \"France Central\",\n value: \"francecentral\",\n },\n {\n label: \"France South\",\n value: \"francesouth\",\n },\n {\n label: \"Germany\",\n value: \"germany\",\n },\n {\n label: \"Germany North\",\n value: \"germanynorth\",\n },\n {\n label: \"Germany West Central\",\n value: \"germanywestcentral\",\n },\n {\n label: \"Global\",\n value: \"global\",\n },\n {\n label: \"India\",\n value: \"india\",\n },\n {\n label: \"Japan\",\n value: \"japan\",\n },\n {\n label: \"Japan East\",\n value: \"japaneast\",\n },\n {\n label: \"Japan West\",\n value: \"japanwest\",\n },\n {\n label: \"Jio India Central\",\n value: \"jioindiacentral\",\n },\n {\n label: \"Jio India West\",\n value: \"jioindiawest\",\n },\n {\n label: \"Korea\",\n value: \"korea\",\n },\n {\n label: \"Korea Central\",\n value: \"koreacentral\",\n },\n {\n label: \"Korea South\",\n value: \"koreasouth\",\n },\n {\n label: \"North Central US\",\n value: \"northcentralus\",\n },\n {\n label: \"North Central US (Stage)\",\n value: \"northcentralusstage\",\n },\n {\n label: \"North Europe\",\n value: \"northeurope\",\n },\n {\n label: \"Norway\",\n value: \"norway\",\n },\n {\n label: \"Norway East\",\n value: \"norwayeast\",\n },\n {\n label: \"Norway West\",\n value: \"norwaywest\",\n },\n {\n label: \"South Africa\",\n value: \"southafrica\",\n },\n {\n label: \"South Africa North\",\n value: \"southafricanorth\",\n },\n {\n label: \"South Africa West\",\n value: \"southafricawest\",\n },\n {\n label: \"South Central US\",\n value: \"southcentralus\",\n },\n {\n label: \"South Central US (Stage)\",\n value: \"southcentralusstage\",\n },\n {\n label: \"South India\",\n value: \"southindia\",\n },\n {\n label: \"Southeast Asia\",\n value: \"southeastasia\",\n },\n {\n label: \"Southeast Asia (Stage)\",\n value: \"southeastasiastage\",\n },\n {\n label: \"Sweden Central\",\n value: \"swedencentral\",\n },\n {\n label: \"Switzerland\",\n value: \"switzerland\",\n },\n {\n label: \"Switzerland North\",\n value: \"switzerlandnorth\",\n },\n {\n label: \"Switzerland West\",\n value: \"switzerlandwest\",\n },\n {\n label: \"UAE Central\",\n value: \"uaecentral\",\n },\n {\n label: \"UAE North\",\n value: \"uaenorth\",\n },\n {\n label: \"UK South\",\n value: \"uksouth\",\n },\n {\n label: \"UK West\",\n value: \"ukwest\",\n },\n {\n label: \"United Arab Emirates\",\n value: \"uae\",\n },\n {\n label: \"United Kingdom\",\n value: \"uk\",\n },\n {\n label: \"United States\",\n value: \"unitedstates\",\n },\n {\n label: \"United States EUAP\",\n value: \"unitedstateseuap\",\n },\n {\n label: \"West Central US\",\n value: \"westcentralus\",\n },\n {\n label: \"West Europe\",\n value: \"westeurope\",\n },\n {\n label: \"West India\",\n value: \"westindia\",\n },\n {\n label: \"West US\",\n value: \"westus\",\n },\n {\n label: \"West US (Stage)\",\n value: \"westusstage\",\n },\n {\n label: \"West US 2\",\n value: \"westus2\",\n },\n {\n label: \"West US 2 (Stage)\",\n value: \"westus2stage\",\n },\n {\n label: \"West US 3\",\n value: \"westus3\",\n },\n];\nexport default azureRegions;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport { Autocomplete, Box, TextField } from \"@mui/material\";\n\nimport s3Regions from \"./s3-regions\";\nimport gcsRegions from \"./gcs-regions\";\nimport azRegions from \"./azure-regions\";\n\nconst getRegions = (type: string): any => {\n if (type === \"s3\") {\n return s3Regions;\n }\n if (type === \"gcs\") {\n return gcsRegions;\n }\n if (type === \"azure\") {\n return azRegions;\n }\n\n return [];\n};\n\nconst RegionSelect = ({\n type,\n onChange,\n inputProps,\n}: {\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\" | \"unsupported\";\n onChange: (obj: any) => void;\n inputProps?: any;\n}) => {\n const regionList = getRegions(type);\n const [value, setValue] = React.useState(\"\");\n\n return (\n {\n let newVal: any = newValue;\n\n if (typeof newValue === \"string\") {\n newVal = {\n label: newValue,\n };\n } else if (newValue && newValue.inputValue) {\n // Create a new value from the user input\n newVal = {\n label: newValue.inputValue,\n };\n } else {\n newVal = newValue;\n }\n setValue(newVal);\n onChange(newVal?.value);\n }}\n value={value}\n onInputChange={(e: any) => {\n const { target: { value = \"\" } = {} } = e || {};\n onChange(value);\n }}\n getOptionLabel={(option) => {\n // Value selected with enter, right from the input\n if (typeof option === \"string\") {\n return option;\n }\n // Add \"xxx\" option created dynamically\n if (option.inputValue) {\n return option.inputValue;\n }\n // Regular option\n return option.value;\n }}\n options={regionList}\n filterOptions={(opts: any[], state: any) => {\n const filterText = state.inputValue.toLowerCase();\n\n return opts.filter((opt) =>\n `${opt.label.toLowerCase()}${opt.value.toLowerCase()}`.includes(\n filterText\n )\n );\n }}\n renderOption={(props: any, opt: any) => {\n return (\n
  • \n \n {opt.value}\n {opt.label}\n \n
  • \n );\n }}\n renderInput={(params) => (\n \n )}\n />\n );\n};\n\nexport default RegionSelect;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Grid, IconButton, InputLabel, Tooltip } from \"@mui/material\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport HelpIcon from \"../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport RegionSelect from \"./RegionSelect\";\n\ninterface RegionSelectBoxProps {\n label: string;\n classes?: any;\n onChange: (value: string) => void;\n onKeyPress?: (e: any) => void;\n value?: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n type: \"minio\" | \"s3\" | \"gcs\" | \"azure\";\n tooltip?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n minWidth: 160,\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nconst RegionSelectWrapper = ({\n label,\n onChange,\n id,\n name,\n type,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n classes,\n className = \"\",\n}: RegionSelectBoxProps) => {\n const inputClasses = inputStyles();\n\n let inputProps: any = {\n \"data-index\": index,\n ...extraInputProps,\n name: name,\n id: id,\n classes: inputClasses,\n };\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(RegionSelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box, Button } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n fileInputStyles,\n formFieldStyles,\n modalBasic,\n settingsCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FileSelector from \"../../Common/FormComponents/FileSelector/FileSelector\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport {\n azureServiceName,\n gcsServiceName,\n minioServiceName,\n s3ServiceName,\n tierTypes,\n} from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nimport RegionSelectWrapper from \"./RegionSelectWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n ...formFieldStyles,\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Lato,sans-serif\",\n paddingLeft: 18,\n },\n fileInputFieldCss: {\n margin: \"0\",\n },\n fileTextBoxContainer: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n fileReselectCss: {\n maxWidth: \" 100%\",\n flex: 1,\n },\n ...fileInputStyles,\n });\n\ninterface IAddNotificationEndpointProps {\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n match: any;\n history: any;\n}\n\nconst AddTierConfiguration = ({\n classes,\n setErrorSnackMessage,\n match,\n history,\n}: IAddNotificationEndpointProps) => {\n //Local States\n const [saving, setSaving] = useState(false);\n\n // Form Items\n const [name, setName] = useState(\"\");\n const [endpoint, setEndpoint] = useState(\"\");\n const [bucket, setBucket] = useState(\"\");\n const [prefix, setPrefix] = useState(\"\");\n const [region, setRegion] = useState(\"\");\n const [storageClass, setStorageClass] = useState(\"\");\n\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n\n const [creds, setCreds] = useState(\"\");\n const [encodedCreds, setEncodedCreds] = useState(\"\");\n\n const [accountName, setAccountName] = useState(\"\");\n const [accountKey, setAccountKey] = useState(\"\");\n\n const [titleSelection, setTitleSelection] = useState(\"\");\n\n const type = get(match, \"params.service\", \"s3\");\n\n // Validations\n const [isFormValid, setIsFormValid] = useState(true);\n const [nameInputError, setNameInputError] = useState(\"\");\n\n // Extra validation functions\n\n const validName = useCallback(() => {\n const patternAgainst = /^[A-Z0-9-_]+$/; // Only allow uppercase, numbers, dashes and underscores\n if (patternAgainst.test(name)) {\n setNameInputError(\"\");\n return true;\n }\n\n setNameInputError(\n \"Please verify that string is uppercase only and contains valid characters (numbers, dashes & underscores).\"\n );\n return false;\n }, [name]);\n\n //Effects\n\n useEffect(() => {\n if (saving) {\n let request = {};\n let fields = {\n name,\n endpoint,\n bucket,\n prefix,\n region,\n };\n\n let tierType = type;\n\n if (type === \"minio\") {\n tierType = \"s3\";\n }\n\n switch (type) {\n case \"minio\":\n case \"s3\":\n request = {\n s3: {\n ...fields,\n accesskey: accessKey,\n secretkey: secretKey,\n storageclass: storageClass,\n },\n };\n break;\n case \"gcs\":\n request = {\n gcs: {\n ...fields,\n creds: encodedCreds,\n },\n };\n break;\n case \"azure\":\n request = {\n azure: {\n ...fields,\n accountname: accountName,\n accountkey: accountKey,\n },\n };\n }\n\n let payload = {\n type: tierType,\n ...request,\n };\n\n api\n .invoke(\"POST\", `/api/v1/admin/tiers`, payload)\n .then(() => {\n setSaving(false);\n\n history.push(IAM_PAGES.TIERS);\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n history,\n name,\n prefix,\n region,\n saving,\n secretKey,\n setErrorSnackMessage,\n storageClass,\n type,\n ]);\n\n useEffect(() => {\n let valid = true;\n if (type === \"\") {\n valid = false;\n }\n if (name === \"\" || !validName()) {\n valid = false;\n }\n if (endpoint === \"\") {\n valid = false;\n }\n if (bucket === \"\") {\n valid = false;\n }\n if (prefix === \"\") {\n valid = false;\n }\n if (region === \"\" && type !== \"minio\") {\n valid = false;\n }\n\n if (type === \"s3\" || type === \"minio\") {\n if (accessKey === \"\") {\n valid = false;\n }\n if (secretKey === \"\") {\n valid = false;\n }\n }\n\n if (type === \"gcs\") {\n if (encodedCreds === \"\") {\n valid = false;\n }\n }\n\n if (type === \"azure\") {\n if (accountName === \"\") {\n valid = false;\n }\n if (accountKey === \"\") {\n valid = false;\n }\n }\n\n setIsFormValid(valid);\n }, [\n accessKey,\n accountKey,\n accountName,\n bucket,\n encodedCreds,\n endpoint,\n isFormValid,\n name,\n prefix,\n region,\n secretKey,\n storageClass,\n type,\n validName,\n ]);\n\n useEffect(() => {\n switch (type) {\n case \"gcs\":\n setEndpoint(\"https://storage.googleapis.com/\");\n setTitleSelection(\"Google Cloud\");\n break;\n case \"s3\":\n setEndpoint(\"https://s3.amazonaws.com\");\n setTitleSelection(\"Amazon S3\");\n break;\n case \"azure\":\n setEndpoint(\"http://blob.core.windows.net\");\n setTitleSelection(\"Azure\");\n break;\n case \"minio\":\n setEndpoint(\"\");\n setTitleSelection(\"MinIO\");\n }\n }, [type]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n // Input actions\n const updateTierName = (e: React.ChangeEvent) => {\n setName(e.target.value.toUpperCase());\n };\n\n const targetElement = tierTypes.find((item) => item.serviceName === type);\n\n return (\n \n \n\n \n\n \n \n
    \n {type !== \"\" && targetElement ? (\n \n {targetElement.logo ? (\n \n {targetElement.logo}\n \n ) : null}\n\n
    \n \n {titleSelection ? titleSelection : \"\"} - Add Tier\n Configuration\n \n
    \n \n ) : null}\n\n \n {type !== \"\" && (\n \n \n ) => {\n setEndpoint(e.target.value);\n }}\n required\n />\n {(type === s3ServiceName || type === minioServiceName) && (\n \n ) => {\n setAccessKey(e.target.value);\n }}\n required\n />\n ) => {\n setSecretKey(e.target.value);\n }}\n required\n />\n \n )}\n {type === gcsServiceName && (\n {\n setEncodedCreds(encodedValue);\n setCreds(fileName);\n }}\n value={creds}\n required\n />\n )}\n {type === azureServiceName && (\n \n ) => {\n setAccountName(e.target.value);\n }}\n required\n />\n ) => {\n setAccountKey(e.target.value);\n }}\n required\n />\n \n )}\n ) => {\n setBucket(e.target.value);\n }}\n required\n />\n ) => {\n setPrefix(e.target.value);\n }}\n required\n />\n {\n setRegion(value);\n }}\n required={type !== \"minio\"}\n label={\"Region\"}\n id=\"region\"\n name=\"region\"\n type={type}\n />\n {type === s3ServiceName ||\n (type === minioServiceName && (\n ) => {\n setStorageClass(e.target.value);\n }}\n />\n ))}\n \n )}\n \n \n \n Save Tier Configuration\n \n \n \n \n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddTierConfiguration));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n AzureTierIcon,\n GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\n} from \"../../../../icons\";\n\nexport const minioServiceName = \"minio\";\nexport const gcsServiceName = \"gcs\";\nexport const s3ServiceName = \"s3\";\nexport const azureServiceName = \"azure\";\n\nexport const tierTypes = [\n {\n serviceName: minioServiceName,\n targetTitle: \"MinIO\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: gcsServiceName,\n targetTitle: \"Google Cloud Storage\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: s3ServiceName,\n targetTitle: \"AWS S3\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: azureServiceName,\n targetTitle: \"Azure\",\n logo: ,\n logoXs: ,\n },\n];\n","import React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n errorBlock: {\n color: theme.palette?.error.main || \"#C83B51\",\n },\n });\n\ninterface IErrorBlockProps {\n classes: any;\n errorMessage: string;\n withBreak?: boolean;\n}\n\nconst ErrorBlock = ({\n classes,\n errorMessage,\n withBreak = true,\n}: IErrorBlockProps) => {\n return (\n \n {withBreak &&
    }\n \n {errorMessage}\n \n
    \n );\n};\n\nexport default withStyles(styles)(ErrorBlock);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M16.5 6v11.5c0 2.21-1.79 4-4 4s-4-1.79-4-4V5c0-1.38 1.12-2.5 2.5-2.5s2.5 1.12 2.5 2.5v10.5c0 .55-.45 1-1 1s-1-.45-1-1V6H10v9.5c0 1.38 1.12 2.5 2.5 2.5s2.5-1.12 2.5-2.5V5c0-2.21-1.79-4-4-4S7 2.79 7 5v12.5c0 3.04 2.46 5.5 5.5 5.5s5.5-2.46 5.5-5.5V6h-1.5z\"\n}), 'AttachFile');\n\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z\"\n}), 'Cancel');\n\nexports.default = _default;"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","fieldBasic","tooltipHelper","valueString","whiteSpace","overflow","textOverflow","marginTop","fileInputField","margin","flexFlow","fileInputStyles","inputLabel","fontWeight","textBoxContainer","border","paddingLeft","onChange","id","name","disabled","tooltip","required","error","accept","value","useState","showFileSelector","setShowSelector","Grid","item","xs","fieldBottom","fieldContainer","errorInField","InputLabel","htmlFor","fieldLabelError","tooltipContainer","Tooltip","title","placement","HelpIcon","type","e","fileName","get","evt","callback","file","target","files","reader","FileReader","readAsDataURL","onload","fileBase64","result","fileArray","toString","split","length","fileProcess","data","IconButton","component","disableRipple","disableFocusRipple","size","Cancel","ErrorBlock","errorMessage","fileReselect","AttachFile","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","flexGrow","position","overlayAction","right","top","maxHeight","autoComplete","multiline","index","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","container","clsx","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","disableTouchRipple","pageContentStyles","children","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","marginLeft","rightMenu","textAlign","logo","fill","main","middleComponent","actions","includes","Fragment","direction","sm","md","sx","paddingTop","variant","regionList","s3Regions","gcsRegions","azRegions","getRegions","React","setValue","Autocomplete","borderColor","borderWidth","freeSolo","selectOnFocus","handleHomeEndKeys","event","newValue","newVal","inputValue","onInputChange","getOptionLabel","option","options","filterOptions","opts","filterText","toLowerCase","filter","opt","renderOption","Box","borderBottom","cursor","renderInput","params","TextField","minWidth","inputClasses","setErrorSnackMessage","modalBasic","settingsCommon","formFieldStyles","lambdaNotifTitle","fontFamily","fileInputFieldCss","fileTextBoxContainer","flex","fileReselectCss","match","history","saving","setSaving","setName","endpoint","setEndpoint","bucket","setBucket","prefix","setPrefix","region","setRegion","storageClass","setStorageClass","accessKey","setAccessKey","secretKey","setSecretKey","creds","setCreds","encodedCreds","setEncodedCreds","accountName","setAccountName","accountKey","setAccountKey","titleSelection","setTitleSelection","isFormValid","setIsFormValid","nameInputError","setNameInputError","validName","useCallback","test","useEffect","request","fields","tierType","s3","accesskey","secretkey","storageclass","gcs","azure","accountname","accountkey","payload","api","then","push","IAM_PAGES","catch","err","valid","targetElement","tierTypes","serviceName","PageHeader","BackLink","PageLayout","noValidate","onSubmit","preventDefault","marginBottom","height","targetTitle","gridTemplateColumns","gridAutoFlow","gridRowGap","gridColumnGap","InputBoxWrapper","toUpperCase","s3ServiceName","minioServiceName","gcsServiceName","FileSelector","encodedValue","azureServiceName","settingsButtonContainer","Button","logoXs","errorBlock","withBreak","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/189.06df2d49.chunk.js b/portal-ui/build/static/js/189.f0f79745.chunk.js similarity index 99% rename from portal-ui/build/static/js/189.06df2d49.chunk.js rename to portal-ui/build/static/js/189.f0f79745.chunk.js index c10da27fa..43172e6f9 100644 --- a/portal-ui/build/static/js/189.06df2d49.chunk.js +++ b/portal-ui/build/static/js/189.f0f79745.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[189],{10189:function(e,t,n){n.r(t),n.d(t,{default:function(){return nt}});var i,a=n(23430),l=n(18489),r=n(50390),o=n(34424),s=n(38342),c=n.n(s),d=n(25594),u=n(86509),x=n(4285),p=n(13512),f=n(72462);!function(e){e.singleValue="singleValue",e.linearGraph="linearGraph",e.areaGraph="areaGraph",e.barChart="barChart",e.pieChart="pieChart",e.singleRep="singleRep",e.simpleWidget="simpleWidget"}(i||(i={}));var g=n(28948),h=n(20426),m=n(73891),v=n(86362),j=n(62559),y=["#C4D4E9","#DCD1EE","#D1EEE7","#EEDED1","#AAF38F","#F9E6C5","#C83B51","#F4CECE","#D6D6D6"],b=function(e){return(0,g.v1)(e,"ns")},C=function(e){return parseInt(e).toString(10)},Z=[{id:1,title:"Uptime",data:"N/A",type:i.simpleWidget,widgetIcon:(0,j.jsx)(v.oN,{}),labelDisplayFunction:g.v1},{id:50,title:"Capacity",data:[],dataOuter:[{name:"outer",value:100}],widgetConfiguration:{outerChart:{colorList:["#9c9c9c"],innerRadius:0,outerRadius:0,startAngle:0,endAngle:0},innerChart:{colorList:y,innerRadius:20,outerRadius:50,startAngle:90,endAngle:-200}},type:i.pieChart,innerLabel:"N/A",labelDisplayFunction:g.ae},{id:68,title:"Data Usage Growth",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.areaGraph,yAxisFormatter:g.ae,xAxisFormatter:g.Ue},{id:52,title:"Object size distribution",data:[],widgetConfiguration:[{dataKey:"a",color:y[0],background:{fill:"#EEF1F4"},greatestColor:"#081C42"}],customStructure:[{originTag:"LESS_THAN_1024_B",displayTag:"Less than 1024B"},{originTag:"BETWEEN_1024_B_AND_1_MB",displayTag:"Between 1024B and 1MB"},{originTag:"BETWEEN_1_MB_AND_10_MB",displayTag:"Between 1MB and 10MB"},{originTag:"BETWEEN_10_MB_AND_64_MB",displayTag:"Between 10MB and 64MB"},{originTag:"BETWEEN_64_MB_AND_128_MB",displayTag:"Between 64MB and 128MB"},{originTag:"BETWEEN_128_MB_AND_512_MB",displayTag:"Between 128MB and 512MB"},{originTag:"GREATER_THAN_512_MB",displayTag:"Greater than 512MB"}],type:i.barChart},{id:66,title:"Buckets",data:[],innerLabel:"N/A",type:i.singleRep,color:"#0071BC",fillColor:"#ADD5E0"},{id:44,title:"Objects",data:[],innerLabel:"N/A",type:i.singleRep,color:"#0071BC",fillColor:"#ADD5E0"},{id:63,title:"API Data Received Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue,yAxisFormatter:g.ae},{id:61,title:"Total Open FDs",data:[],innerLabel:"N/A",type:i.singleRep,color:"#22B573",fillColor:"#A6E8C4"},{id:62,title:"Total Goroutines",data:[],innerLabel:"N/A",type:i.singleRep,color:"#F7655E",fillColor:"#F4CECE"},{id:77,title:"Node CPU Usage",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:C,xAxisFormatter:g.Ue},{id:60,title:"API Request Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue},{id:70,title:"API Data Sent Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue,yAxisFormatter:g.ae},{id:17,title:"Internode Data Transfer",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:g.ae,xAxisFormatter:g.Ue},{id:73,title:"Node IO",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:g.ae,xAxisFormatter:g.Ue},{id:80,title:"Time Since Last Heal Activity",data:"N/A",type:i.simpleWidget,widgetIcon:(0,j.jsx)(h.Z,{}),labelDisplayFunction:b},{id:81,title:"Time Since Last Scan Activity",data:"N/A",type:i.simpleWidget,widgetIcon:(0,j.jsx)(m.Z,{}),labelDisplayFunction:b},{id:71,title:"API Request Error Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue},{id:76,title:"Node Memory Usage",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue,yAxisFormatter:g.ae},{id:74,title:"Drive Used Capacity",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue,yAxisFormatter:g.ae},{id:82,title:"Drives Free Inodes",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,disableYAxis:!0,xAxisFormatter:g.Ue},{id:11,title:"Node Syscalls",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:C,xAxisFormatter:g.Ue},{id:8,title:"Node File Descriptors",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:C,xAxisFormatter:g.Ue},{id:500,mergedPanels:[{id:53,title:"Online",data:"N/A",type:i.singleValue},{id:69,title:"Offline",data:"N/A",type:i.singleValue}],title:"Servers"},{id:501,mergedPanels:[{id:9,title:"Online",data:"N/A",type:i.singleValue},{id:78,title:"Offline",data:"N/A",type:i.singleValue}],title:"Drives"},{id:502,mergedPanels:[{id:65,title:"Upload",data:"N/A",type:i.singleValue,labelDisplayFunction:g.ae},{id:64,title:"Download",data:"N/A",type:i.singleValue,labelDisplayFunction:g.ae}],title:"Network"}],w=function(e,t){if(0===e.length)return["","0"];if("mean"===t){var n=e.reduce((function(e,t){return e+parseFloat(t[1])}),0);return["",Math.floor(n/e.length).toString()]}var i=e.sort((function(e,t){return e[0]-t[0]}));return i[i.length-1]},N=function(e,t){if(!e)return t;var n=e.type;switch(t.type){case i.singleValue:case i.simpleWidget:if("stat"===n||"singlestat"===n){var a=c()(e,"targets[0].result[0].values",[]);null===a&&(a=[]);var r=c()(e,"options.reduceOptions.calcs[0]","lastNotNull"),o=w(a,r),s=t.labelDisplayFunction?t.labelDisplayFunction(o[1]):o[1];return(0,l.Z)((0,l.Z)({},t),{},{data:s})}break;case i.pieChart:if("gauge"===n){var d=c()(e,"targets[0].result",[]);null===d&&(d=[]);var u=c()(e,"options.reduceOptions.calcs[0]","lastNotNull"),x=d.length>0?d[0].values:[],p=w(x,u),f=d.map((function(e){var t=c()(e,"values",[]),n=Object.keys(e.metric),i=t.sort((function(e,t){return e[0]-t[0]})),a=e.metric[n[0]],l=i[i.length-1];return{name:a,value:parseInt(l)}})),h=t.labelDisplayFunction?t.labelDisplayFunction(p[1]):p[1];return(0,l.Z)((0,l.Z)({},t),{},{data:f,innerLabel:h})}break;case i.linearGraph:case i.areaGraph:if("graph"===n){var m=c()(e,"targets",[]);null===m&&(m=[]);var v=[],j=[];m.forEach((function(e,t){var n=c()(e,"result",[]),i=e.legendFormat;null===n&&(n=[]),n.forEach((function(e){var n=function(e,t){var n=Object.keys(e),i=new RegExp("{{(".concat(n.join("|"),")}}"),"g"),a=t.replace(i,(function(t){var n=t.replace(/({{|}})/g,"");return e[n]})),l=(a.match(/{{/g)||[]).length,r=(a.match(/}}/g)||[]).length,o=a.replace(/{{(.*?)}}/g,"");return l===r&&0!==l&&0!==r&&(n.forEach((function(t){a=a.replace(t,e[t])})),o=a),o}(e.metric,i),a="key_".concat(t).concat(n);v.push({dataKey:a,keyLabel:n,lineColor:"",fillColor:""});var l=c()(e,"values",[]);null===l&&(l=[]),l.forEach((function(e){var t=j.findIndex((function(t){return t.name===e[0]}));if(-1===t){var n={name:e[0]};n[a]=e[1],j.push(n)}else j[t][a]=e[1]}))}))}));var b=v.sort((function(e,t){return e.keyLabelt.keyLabel?1:0})).map((function(e,t){return(0,l.Z)((0,l.Z)({},e),{},{lineColor:y[t]||(0,g.C5)(e.keyLabel),fillColor:y[t]||(0,g.C5)(e.keyLabel)})})),C=j.sort((function(e,t){return e.name-t.name}));return(0,l.Z)((0,l.Z)({},t),{},{widgetConfiguration:b,data:C})}break;case i.barChart:if("bargauge"===n){var Z=c()(e,"targets[0].result",[]);null===Z&&(Z=[]);var N=function(e,t){return e[0]-t[0]},A=[];return A=t.customStructure?t.customStructure.map((function(e){var t=Z.find((function(t){var n=Object.keys(t.metric);return t.metric[n[0]]===e.originTag})),n=c()(t,"values",[]).sort(N),i=n[n.length-1]||["","0"];return{name:e.displayTag,a:parseInt(i[1])}})):Z.map((function(e){var t=Object.keys(e.metric),n=e.metric[t[0]],i=c()(e,"values",[]).sort(N),a=i[i.length-1]||["","0"];return{name:n,a:parseInt(a[1])}})),(0,l.Z)((0,l.Z)({},t),{},{data:A})}break;case i.singleRep:if("stat"===n){var E=c()(e,"targets[0].result[0].values",[]);null===E&&(E=[]);var S=c()(e,"options.reduceOptions.calcs[0]","lastNotNull"),F=w(E,S),k=E.sort((function(e,t){return e[0]-t[0]})),T=[];1===k.length&&T.push({value:0}),k.forEach((function(e){T.push({value:parseInt(e[1])})}));var L=t.labelDisplayFunction?t.labelDisplayFunction(F[1]):F[1];return(0,l.Z)((0,l.Z)({},t),{},{data:T,innerLabel:L})}}return t},A=function(e){var t=e.split(" "),n=function(){var t=e;return isNaN(parseFloat(e))||(t=(0,g.nk)(parseFloat(e))),(0,j.jsx)(r.Fragment,{children:t})};return 2!==t.length?n():g.Dl.includes(t[1])?(0,j.jsxs)("span",{className:"commonValue",children:[t[0],(0,j.jsx)("span",{className:"unitText",children:t[1]})]}):n()},E=n(4795),S=n(44149),F=n(30324),k=n(62449),T=n(98247),L=n(49044),B=(0,k.Z)({root:{backgroundColor:"transparent",paddingTop:0,paddingBottom:0,fontSize:22,textTransform:"uppercase",color:"#D0D0D0"},selected:{"& .MuiTab-wrapper":{color:"#07193E",fontWeight:"bold"}},indicator:{background:"transparent linear-gradient(90deg, #072B4E 0%, #081C42 100%) 0% 0% no-repeat padding-box;",height:4},scroller:{maxWidth:1185,position:"relative","&::after":{content:'" "',backgroundColor:"#EEF1F4",height:4,width:"100%",display:"block"}}}),I=function(e){var t=e.selectedTab,n=e.onChange,i=e.tabOptions,a=B();return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(T.Z,{indicatorColor:"primary",textColor:"primary","aria-label":"cluster-tabs",variant:"scrollable",scrollButtons:"auto",value:t,onChange:function(e,t){n(t)},classes:{indicator:a.indicator,scroller:a.scroller},children:i.map((function(e,t){var n={label:e.label};return e.value&&(n=(0,l.Z)((0,l.Z)({},n),{},{value:e.value})),e.disabled&&(n=(0,l.Z)((0,l.Z)({},n),{},{disabled:e.disabled})),(0,r.createElement)(L.Z,(0,l.Z)((0,l.Z)({},n),{},{classes:{root:a.root,selected:a.selected},id:"simple-tab-".concat(t),"aria-controls":"simple-tabpanel-".concat(t),key:"tab-".concat(t,"-").concat(e.label)}))}))})})},R=n(16356),D=n(86192),W=n(6369),M=(0,k.Z)({root:{backgroundColor:"#fff",padding:0},title:(0,l.Z)({},f.NP.titleContainer),content:{maxWidth:"100%"}}),P=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)((0,l.Z)({},f.NP),{},{cardRoot:(0,l.Z)((0,l.Z)({},f.NP.singleValueContainer),{},{"&.MuiPaper-root":{borderRadius:10}}),metricText:{fontSize:70,lineHeight:1.1,color:"#07193E",fontWeight:"bold"},unitText:{fontSize:10,color:"#767676",fontWeight:"normal"},subHearderContainer:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},subMessage:{fontSize:10,color:"#767676","&.bold":{fontWeight:"bold"}},headerContainer:{display:"flex",justifyContent:"space-between"},viewAll:{fontSize:10,color:"#C83B51",textTransform:"capitalize","& a, & a:hover, & a:visited, & a:active":{color:"#C83B51"}},extraMargin:{margin:"10px 20px 10px 0"}}))}))((function(e){var t=e.title,n=e.metricValue,i=e.metricUnit,a=e.subMessage,l=e.moreLink,o=e.rightComponent,s=e.extraMargin,c=void 0!==s&&s,d=e.classes,u=M(),x=function(){return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:d.subHearderContainer,children:[(0,j.jsxs)("div",{className:d.leftSide,children:[(0,j.jsx)("div",{children:(0,j.jsxs)("span",{className:d.metricText,children:[n,(0,j.jsx)("span",{className:d.unitText,children:i})]})}),a&&(0,j.jsx)("div",{className:"".concat(d.subMessage," ").concat(a.fontWeight?a.fontWeight:""),children:a.message})]}),(0,j.jsx)("div",{className:d.rightSide,children:o})]})})},p=function(){return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:d.headerContainer,children:[(0,j.jsx)("span",{className:d.title,children:t}),l&&(0,j.jsx)(r.Fragment,{children:(0,j.jsx)("span",{className:d.viewAll,children:(0,j.jsx)(W.rU,{to:l,children:"View All"})})})]})})};return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(R.Z,{className:"".concat(d.cardRoot," ").concat(c?d.extraMargin:""),children:""!==n&&(0,j.jsx)(D.Z,{title:(0,j.jsx)(p,{}),subheader:(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(x,{})}),classes:{root:u.root,title:u.title,content:u.content}})})})})),z=function(e){var t=e.title,n=e.leftComponent,i=e.rightComponent;return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(P,{title:t,metricValue:n,rightComponent:i})})},O=n(88970),G=n(27505),_=n(50990),U=n(62879),K=n(34107),V=n(65607),$=n(29503),H=n(58089),J=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},f.Rp))}))((function(e){var t=e.active,n=e.payload,i=e.label,a=e.barChartConfiguration,l=e.classes;return t?(0,j.jsxs)("div",{className:l.customTooltip,children:[(0,j.jsx)("div",{className:l.timeStampTitle,children:i}),n&&n.map((function(e,t){return(0,j.jsxs)("div",{className:l.labelContainer,children:[(0,j.jsx)("div",{className:l.labelColor,style:{backgroundColor:a[t].color}}),(0,j.jsx)("div",{className:l.itemValue,children:(0,j.jsx)("span",{className:l.valueContainer,children:e.value})})]},"pltiem-".concat(t,"-").concat(i))}))]}):null})),Y=n(47373),q=n(32657),Q=n(41227),X=function(e){var t=e.y,n=e.payload;return(0,j.jsx)("text",{width:50,fontSize:"63%",textAnchor:"start",fill:"#333",transform:"translate(5,".concat(t,")"),fontWeight:700,dy:3,children:n.value})},ee=(0,o.$j)(null,{displayErrorMessage:S.Ih,openZoomPage:Y.xG}),te=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)((0,l.Z)({},f.NP),{},{loadingAlign:{width:"100%",paddingTop:"15px",textAlign:"center",margin:"auto"}}))}))(ee((function(e){var t=e.classes,n=e.title,i=e.panelItem,l=e.timeStart,o=e.timeEnd,s=e.propLoading,c=e.displayErrorMessage,d=e.apiPrefix,u=e.zoomActivated,x=void 0!==u&&u,f=e.openZoomPage,g=(0,r.useState)(!0),h=(0,a.Z)(g,2),m=h[0],v=h[1],y=(0,r.useState)([]),b=(0,a.Z)(y,2),C=b[0],Z=b[1],w=(0,r.useState)(null),A=(0,a.Z)(w,2),E=A[0],S=A[1];(0,r.useEffect)((function(){s&&v(!0)}),[s]),(0,r.useEffect)((function(){if(m){var e=0;if(null!==l&&null!==o){var t=o.unix()-l.unix(),n=Math.floor(t/60);e=n<1?15:n}F.Z.invoke("GET","/api/v1/".concat(d,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==l?"&start=".concat(l.unix()):"").concat(null!==l&&null!==o?"&":"").concat(null!==o?"end=".concat(o.unix()):"")).then((function(e){var t=N(e,i);Z(t.data),S(t),v(!1)})).catch((function(e){c(e),v(!1)}))}}),[m,i,o,l,c,d]);var k=E?E.widgetConfiguration:[],T=0,L=0;if(1===k.length){var B=k[0];C.forEach((function(e,t){e[B.dataKey]>L&&(L=e[B.dataKey],T=t)}))}var I=(0,q.Z)(),R=(0,p.Z)(I.breakpoints.up("md"));return(0,j.jsxs)("div",{className:x?"":t.singleValueContainer,children:[!x&&(0,j.jsxs)("div",{className:t.titleContainer,children:[n," ",(0,j.jsx)("button",{onClick:function(){f(i)},className:t.zoomChartIcon,children:(0,j.jsx)(H.Z,{})})]}),m&&(0,j.jsx)("div",{className:t.loadingAlign,children:(0,j.jsx)(Q.Z,{})}),!m&&(0,j.jsx)("div",{className:x?t.zoomChartCont:t.contentContainer,children:(0,j.jsx)(O.h,{width:"99%",children:(0,j.jsxs)(G.v,{data:C,layout:"vertical",barCategoryGap:1,children:[(0,j.jsx)(_.K,{type:"number",hide:!0}),(0,j.jsx)(U.B,{dataKey:"name",type:"category",interval:0,tick:(0,j.jsx)(X,{}),tickLine:!1,axisLine:!1,width:150,hide:!R}),k.map((function(e){return(0,j.jsx)(K.$,{dataKey:e.dataKey,fill:e.color,background:e.background,barSize:x?25:12,children:1===k.length?(0,j.jsx)(r.Fragment,{children:C.map((function(t,n){return(0,j.jsx)(V.b,{fill:n===T?e.greatestColor:e.color},"chart-bar-".concat(n.toString()))}))}):null},"bar-".concat(e.dataKey))})),(0,j.jsx)($.u,{cursor:{fill:"rgba(255, 255, 255, 0.3)"},content:(0,j.jsx)(J,{barChartConfiguration:k})})]})})})]})}))),ne=n(89472),ie=n(86072),ae=n(84930),le=n(84109),re=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},f.Rp))}))((function(e){var t=e.active,n=e.payload,i=e.label,a=e.linearConfiguration,l=e.yAxisFormatter,r=e.classes;return t?(0,j.jsxs)("div",{className:r.customTooltip,children:[(0,j.jsx)("div",{className:r.timeStampTitle,children:(0,g.Ue)(i,!0)}),n&&n.map((function(e,t){return(0,j.jsxs)("div",{className:r.labelContainer,children:[(0,j.jsx)("div",{className:r.labelColor,style:{backgroundColor:a[t].lineColor}}),(0,j.jsx)("div",{className:r.itemValue,children:(0,j.jsxs)("span",{className:r.valueContainer,children:[a[t].keyLabel,":"," ",l(e.value)]})})]},"lbPl-".concat(t,"-").concat(a[t].keyLabel))}))]}):null})),oe=(0,o.$j)(null,{displayErrorMessage:S.Ih,openZoomPage:Y.xG}),se=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)((0,l.Z)({},f.NP),{},{containerElements:{display:"flex",flexDirection:"row",height:"100%",flexGrow:1},verticalAlignment:{flexDirection:"column"},chartCont:{position:"relative",height:140,width:"100%"},legendChart:{display:"flex",flexDirection:"column",flex:"0 1 auto",maxHeight:130,margin:0,overflowY:"auto",position:"relative",textAlign:"center",width:"100%",justifyContent:"flex-start",color:"#404143",fontWeight:"bold",fontSize:12},loadingAlign:{margin:"auto"}}))}))(oe((function(e){var t=e.classes,n=e.title,i=e.displayErrorMessage,l=e.timeStart,o=e.timeEnd,s=e.propLoading,c=e.panelItem,d=e.apiPrefix,u=e.hideYAxis,x=void 0!==u&&u,f=e.areaWidget,g=void 0!==f&&f,h=e.yAxisFormatter,m=void 0===h?function(e){return e}:h,v=e.xAxisFormatter,y=void 0===v?function(e){return e}:v,b=e.zoomActivated,C=void 0!==b&&b,Z=e.openZoomPage,w=(0,r.useState)(!0),A=(0,a.Z)(w,2),E=A[0],S=A[1],k=(0,r.useState)([]),T=(0,a.Z)(k,2),L=T[0],B=T[1],I=(0,r.useState)(0),R=(0,a.Z)(I,2),D=R[0],W=R[1],M=(0,r.useState)(null),P=(0,a.Z)(M,2),z=P[0],G=P[1];(0,r.useEffect)((function(){s&&S(!0)}),[s]),(0,r.useEffect)((function(){if(E){var e=0;if(null!==l&&null!==o){var t=o.unix()-l.unix(),n=Math.floor(t/60);e=n<1?15:n}F.Z.invoke("GET","/api/v1/".concat(d,"/info/widgets/").concat(c.id,"/?step=").concat(e,"&").concat(null!==l?"&start=".concat(l.unix()):"").concat(null!==l&&null!==o?"&":"").concat(null!==o?"end=".concat(o.unix()):"")).then((function(e){var t=N(e,c);B(t.data),G(t),S(!1);var n,i=0,a=(0,ne.Z)(t.data);try{for(a.s();!(n=a.n()).done;){var l=n.value;for(var r in l)if("name"!==r){var o=parseInt(l[r]);isNaN(o)&&(o=0),i5&&void 0!==arguments[5]&&arguments[5];switch(e.type){case i.singleValue:return(0,j.jsx)(ve,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,apiPrefix:l});case i.simpleWidget:return(0,j.jsx)(fe,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,apiPrefix:l,iconWidget:e.widgetIcon});case i.pieChart:return(0,j.jsx)(xe,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,apiPrefix:l});case i.linearGraph:case i.areaGraph:return(0,j.jsx)(se,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,hideYAxis:e.disableYAxis,xAxisFormatter:e.xAxisFormatter,yAxisFormatter:e.yAxisFormatter,apiPrefix:l,areaWidget:e.type===i.areaGraph,zoomActivated:r});case i.barChart:return(0,j.jsx)(te,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,apiPrefix:l,zoomActivated:r});case i.singleRep:var o=e.fillColor?e.fillColor:e.color;return(0,j.jsx)(he,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,color:e.color,fillColor:o,apiPrefix:l});default:return null}},ye=n(51002),be=(0,o.$j)(null,{onCloseAction:Y.jv})((function(e){var t=e.value,n=e.modalOpen,i=e.timeStart,a=e.timeEnd,l=e.apiPrefix,o=e.onCloseAction;return t?(0,j.jsx)(ye.Z,{title:t.title,onClose:function(){o()},modalOpen:n,wideLimit:!1,noContentPadding:!0,children:(0,j.jsx)(r.Fragment,{children:je(t,i,a,!0,l,!0)})}):null})),Ce=n(17778),Ze=(0,o.$j)((function(e){return{zoomOpen:e.dashboard.zoom.openZoom,zoomWidget:e.dashboard.zoom.widgetRender}}),{displayErrorMessage:S.Ih}),we=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)((0,l.Z)((0,l.Z)({},f.OR),f.bN),{},{dashboardRow:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",maxWidth:1180}}))}))(Ze((function(e){var t=e.classes,n=e.displayErrorMessage,i=e.apiPrefix,l=void 0===i?"admin":i,o=e.zoomOpen,s=e.zoomWidget,c=(0,r.useState)(null),u=(0,a.Z)(c,2),x=u[0],f=u[1],g=(0,r.useState)(null),h=(0,a.Z)(g,2),m=h[0],v=h[1],y=(0,r.useState)(!0),b=(0,a.Z)(y,2),C=b[0],w=b[1],A=(0,r.useState)(Z),S=(0,a.Z)(A,2),k=S[0],T=S[1],L=(0,r.useState)(0),B=(0,a.Z)(L,2),R=B[0],D=B[1],W=(0,q.Z)(),M=(0,p.Z)(W.breakpoints.up("md")),P=(0,r.useCallback)((function(e,n){return null===n||void 0===n?void 0:n.map((function(n,i){var a=n.length,o=Math.floor(12/a);return!M&&a>=4?o=6:!M&&a>=3&&(o=12),o<1?o=1:o>12&&(o=12),(0,j.jsx)(d.ZP,{item:!0,xs:12,className:t.dashboardRow,children:n.map((function(e,n){var i=k.find((function(t){return t.id===e}));return(0,j.jsx)(d.ZP,{className:t.widgetPanelDelimiter,item:!0,xs:12,sm:o,md:o,lg:o,children:(0,j.jsx)(d.ZP,{item:!0,xs:12,children:i?(0,j.jsx)(r.Fragment,{children:i.mergedPanels?(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(z,{title:i.title,leftComponent:je(i.mergedPanels[0],x,m,C,l),rightComponent:je(i.mergedPanels[1],x,m,C,l)})}):je(i,x,m,C,l)}):null})},"widget-".concat(e,"-").concat(n))}))},"line-".concat(e,"-").concat(i))}))}),[x,m,C,l,t.dashboardRow,t.widgetPanelDelimiter,k,M]),O=(0,r.useCallback)((function(){var e=0;if(null!==x&&null!==m){var t=m.unix()-x.unix(),i=Math.floor(t/60);e=i<1?15:i}F.Z.invoke("GET","/api/v1/".concat(l,"/info?step=").concat(e,"&").concat(null!==x?"&start=".concat(x.unix()):"").concat(null!==x&&null!==m?"&":"").concat(null!==m?"end=".concat(m.unix()):"")).then((function(e){if(e.widgets){var t=(i=e.widgets,Z.map((function(e){var t=i.find((function(t){return t.title.toLowerCase().trim()===e.title.toLowerCase().trim()}));return N(t,e)})));T(t)}else n({errorMessage:"Widget information could not be retrieved at this time. Please try again",detailedError:""});var i;w(!1)})).catch((function(e){n(e),w(!1)}))}),[x,m,n,l]);(0,r.useEffect)((function(){C&&O()}),[C,O]);var G=[[66,44,500,501],[80,81,1],[68,52],[63,70]];M?G.splice(1,0,[50,502]):(G.splice(1,0,[50]),G.splice(1,0,[502]));return(0,j.jsxs)(r.Fragment,{children:[o&&(0,j.jsx)(be,{modalOpen:o,timeStart:x,timeEnd:m,widgetRender:0,value:s,apiPrefix:l}),(0,j.jsx)(Ce.Z,{timeStart:x,setTimeStart:f,timeEnd:m,setTimeEnd:v,triggerSync:function(){w(!0)}}),(0,j.jsx)(d.ZP,{item:!0,xs:12,children:(0,j.jsx)(I,{selectedTab:R,onChange:function(e){D(e)},tabOptions:[{label:"Usage"},{label:"Traffic"},{label:"Resources"}]})}),(0,j.jsxs)(d.ZP,{item:!0,xs:12,className:t.widgetsContainer,children:[(0,j.jsx)(E.x,{index:0,value:R,children:P("Summary",G)}),(0,j.jsx)(E.x,{index:1,value:R,children:P("Traffic",[[60],[71,17],[73]])}),(0,j.jsx)(E.x,{index:2,value:R,children:P("Resources",[[76,77],[11,8],[82,74]])})]})]})}))),Ne=n(35721),Ae=n(81378),Ee=n(35531),Se=n(56805),Fe=n(8235),ke=function(e){var t=e.onlineCount,n=void 0===t?0:t,i=e.offlineCount,a=void 0===i?0:i,l=e.icon,r=void 0===l?null:l,o=e.label,s=void 0===o?"":o;return(0,j.jsx)(Se.Z,{sx:{fontFamily:"Lato,sans-serif",color:"#07193E",maxWidth:"300px",minHeight:"200px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default"},children:(0,j.jsxs)(Se.Z,{sx:{flex:1,height:"200px",display:"flex",padding:{sm:"0 8px 0 8px",xs:"0 10px 0 10px"}},children:[(0,j.jsxs)(Se.Z,{sx:{flex:1,display:"flex",flexFlow:"column",marginTop:"32px"},children:[(0,j.jsx)(Se.Z,{sx:{fontSize:"16px",fontWeight:600,marginBottom:"24px"},children:s}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:{lg:"50px",md:"45px",xs:"35px"},fontWeight:600,"& .stat-text":{color:"#696969",fontSize:"12px"},"& .stat-value":{textAlign:"center"},"& .min-icon":{marginRight:"8px",height:"10px",width:"10px"}},children:[(0,j.jsxs)(Se.Z,{children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{fill:"#4CCB92"}},children:[(0,j.jsx)(v.J$,{})," ",(0,j.jsx)("div",{className:"stat-text",children:"Online"})]}),(0,j.jsx)(Se.Z,{className:"stat-value",children:n})]}),(0,j.jsxs)(Se.Z,{children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{fill:"#C83B51"}},children:[(0,j.jsx)(v.J$,{})," ",(0,j.jsx)("div",{className:"stat-text",children:"Offline"})]}),(0,j.jsx)(Se.Z,{className:"stat-value",children:a})]})]})]}),(0,j.jsx)(Se.Z,{sx:{width:"20px",height:"20px",marginTop:"26px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:r})]})})},Te=n(31538),Le=n.n(Te),Be=n(48873),Ie=n(5211),Re=n(82618),De=n(55600),We=n(3602),Me=n(56943),Pe="#C83B51",ze="#4CCB92",Oe="#E7A219",Ge=function(e,t){return e<=t/2?Pe:2!==t&&e===t/2+1?Oe:e===t?ze:void 0},_e=function(e){switch(e){case"offline":return Pe;case"online":return ze;default:return Oe}},Ue=function(e,t){return e<=t/2?Pe:e===t/2+1?Oe:e===t?ze:void 0},Ke=function(e){var t=e.label,n=void 0===t?"":t,i=e.value,a=void 0===i?"":i,l=e.statusColor,r=void 0===l?"":l,o=e.hasStatus,s=void 0!==o&&o,c=e.icon,d=void 0===c?null:c;return(0,j.jsxs)(Se.Z,{sx:{alignItems:"center",padding:"5px",display:"flex",gap:"10px"},children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center",flexFlow:"column",maxWidth:"40px","&:first-of-type(svg)":{fill:"#848484"}},children:[d,s?(0,j.jsx)(Se.Z,{sx:{marginRight:"0px",justifyContent:"center",alignItems:"center",textAlign:"center","& svg.min-icon":{fill:r,width:"10px",height:"10px"}},children:(0,j.jsx)(v.J$,{})}):(0,j.jsx)(Se.Z,{sx:{width:"12px",height:"12px"}})]}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start",flexFlow:"column","& .stat-text":{color:"#5E5E5E",fontSize:"14px"},"& .stat-value":{color:"#07193E",display:"flex",fontWeight:500}},children:[(0,j.jsx)("div",{className:"stat-text",children:n}),(0,j.jsx)("div",{className:"stat-value",children:a})]})]})},Ve=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},f.SJ))}))((function(e){e.classes;var t=e.server,n=(e.index,Object.keys(c()(t,"network",{}))),i=n.length,a=t.drives?t.drives.length:0,l=n.reduce((function(e,n){return"online"===t.network[n]?e+1:e}),0),r=t.drives?t.drives.filter((function(e){return"ok"===e.state})).length:0;return(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"flex-start",flexFlow:"column",flex:1},children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center",marginBottom:"15px"},children:[(null===t||void 0===t?void 0:t.state)&&(0,j.jsx)(Se.Z,{sx:{marginRight:"8px","& .min-icon":{fill:_e(t.state),height:"14px",width:"14px"}},children:(0,j.jsx)(v.J$,{})}),(0,j.jsx)(Se.Z,{sx:{fontWeight:600,textTransform:"none"},children:t.endpoint||""})]}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center",padding:"3px",gap:"15px",justifyContent:"space-between",width:"100%",paddingLeft:"20px",flexFlow:{sm:"row",xs:"column"}},children:[(0,j.jsx)(Ke,{statusColor:Ge(r,a),label:"Drives",icon:(0,j.jsx)(v.FU,{}),hasStatus:!0,value:"".concat(r,"/").concat(a)}),(0,j.jsx)(Ke,{statusColor:Ue(l,i),label:"Network",icon:(0,j.jsx)(v.B7,{}),hasStatus:!0,value:"".concat(l,"/").concat(i)}),(0,j.jsx)(Ke,{statusColor:"green",label:"Up time",icon:(0,j.jsx)(v.oN,{}),value:null!==t&&void 0!==t&&t.uptime?(0,g.v1)(t.uptime):"N/A"}),(0,j.jsx)(Ke,{statusColor:"green",label:"Version",icon:(0,j.jsx)(v.Db,{}),value:(0,j.jsx)(Se.Z,{sx:{background:"rgb(235, 236, 237)",color:"#000000",paddingLeft:"10px",paddingRight:"10px",borderRadius:"16px",fontSize:"12px",marginTop:"5px"},children:t.version?t.version:"N/A"})})]})]})})),$e=function(e){switch(e){case"offline":return Pe;case"ok":return ze;default:return Oe}},He=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},f.SJ))}))((function(e){e.classes;var t=e.drive;return(0,j.jsxs)(Se.Z,{sx:{display:"flex",flex:1,alignItems:"center",paddingBottom:"10px",borderBottom:{xs:"1px solid #eaeaea"}},children:[(0,j.jsx)(Se.Z,{sx:{"& .min-icon":{fill:"#848484"}},children:(0,j.jsx)(v.FU,{})}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",flexFlow:"column",marginLeft:"10px",flex:1},children:[(0,j.jsxs)(Se.Z,{sx:{fontSize:"14px",fontWeight:400,display:"flex",alignItems:"center","& .min-icon":{marginRight:"10px",height:"10px",width:"10px",fill:$e(t.state),flexShrink:0},"& .drive-endpoint":{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-all",fontSize:{md:"14px",xs:"10px"}}},children:[t.state&&(0,j.jsx)(v.J$,{}),(0,j.jsx)("div",{className:"drive-endpoint",children:t.endpoint||""})]}),(0,j.jsxs)(Se.Z,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"20px",marginTop:"10px",flexFlow:{sm:"row",xs:"column"},"& .info-label":{color:"#8399AB"},"& .info-value":{color:"#073052",fontSize:"14px",fontWeight:500}},children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,j.jsx)("label",{className:"info-label",children:"Capacity:"}),(0,j.jsx)("div",{className:"info-value",children:(0,g.ae)(t.totalSpace?t.totalSpace.toString():"0")})]}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,j.jsx)("label",{className:"info-label",children:"Used:"}),(0,j.jsx)("div",{className:"info-value",children:(0,g.ae)(t.usedSpace?t.usedSpace.toString():"0")})]}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,j.jsx)("label",{className:"info-label",children:"Available:"}),(0,j.jsx)("div",{className:"info-value",children:(0,g.ae)(t.availableSpace?t.availableSpace.toString():"0")})]})]})]})]})})),Je=function(e){var t=e.data,n=r.useState(""),i=(0,a.Z)(n,2),l=i[0],o=i[1],s=function(e){o(e)};return(0,j.jsx)(Ie.Z,{sx:{width:"100%",flex:1},component:"nav","aria-labelledby":"nested-list-subheader",subheader:(0,j.jsxs)(Be.Z,{component:"div",sx:{borderBottom:"1px solid #F8F8F8"},children:["Servers (",t.length,")"]}),children:t.map((function(e,t){var n="".concat(e.endpoint,"-").concat(t),i=l===n;return(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(Re.Z,{disableRipple:!0,onClick:function(){s(i?"":n)},className:i?"expanded":"",sx:{display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid #eaeaea","&:hover":{background:"#F8F8F8"},"&.expanded":{borderBottom:"none"}},children:[(0,j.jsx)(Ve,{server:e,index:t}),(0,j.jsx)(Se.Z,{sx:{height:"25px",width:"25px",marginLeft:"25px",background:"#FBFAFA",borderRadius:"2px","&:hover":{background:"#fafafa"},display:{md:"block",xs:"none"}},children:i?(0,j.jsx)(We.Z,{}):(0,j.jsx)(Me.Z,{})})]}),i?(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(Be.Z,{component:"div",sx:{borderBottom:"1px solid #F8F8F8"},children:["Drives (",e.drives.length,")"]},"".concat(t,"-drive-details")),(0,j.jsx)(De.Z,{in:i,timeout:"auto",unmountOnExit:!0,sx:{width:"100%",flex:1,display:"flex",padding:{md:"20px 50px",xs:"15px 15px"},"& .MuiCollapse-wrapperInner":{display:"flex",flexFlow:"column",gap:"15px"}},children:e.drives.map((function(e,t){return(0,j.jsx)(He,{drive:e},"".concat(e.endpoint,"-").concat(t))}))})]},"".concat(e.endpoint,"-").concat(t)):null]},n)}))})},Ye=n(94187),qe=function(e){var t=e.counterValue,n=e.label,i=void 0===n?"":n,a=e.icon,l=void 0===a?null:a;return(0,j.jsx)(Se.Z,{sx:{fontFamily:"Lato,sans-serif",color:"#07193E",maxWidth:"300px",minHeight:"200px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default",position:"relative",width:"100%"},children:(0,j.jsxs)(Se.Z,{sx:{flex:1,height:"200px",display:"flex",width:"100%",padding:{sm:"0 8px 0 8px",xs:"0 10px 0 10px"},position:"absolute"},children:[(0,j.jsxs)(Se.Z,{sx:{flex:1,display:"flex",flexFlow:"column",marginTop:"32px",zIndex:10,overflow:"hidden"},children:[(0,j.jsx)(Se.Z,{sx:{fontSize:"16px",fontWeight:600},children:i}),(0,j.jsx)(Ye.Z,{title:t,placement:"bottom",enterDelay:500,children:(0,j.jsx)(Se.Z,{sx:{fontSize:{xl:"55px",lg:"40px",md:"36px",sm:"22px",xs:"14px"},fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",maxWidth:{md:187,xs:200}},children:t})})]}),(0,j.jsx)(Se.Z,{sx:{width:"20px",height:"20px",marginTop:"26px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:l})]})})},Qe=function(e){var t=e.usageValue,n=e.total,i=e.unit;return(0,j.jsxs)(Se.Z,{sx:{maxHeight:"110px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"19px",padding:"10px","& .unit-value":{fontSize:"50px",color:"#07193E"},"& .unit-type":{fontSize:"18px",color:"#5E5E5E",marginTop:"20px",marginLeft:"5px"},"& .usage-label":{display:"flex",alignItems:"center",fontSize:"16px",fontWeight:600,marginRight:"20px",marginTop:"-10px","& .min-icon":{marginLeft:"10px",height:16,width:16}}},children:[(0,j.jsxs)("div",{className:"usage-label",children:[(0,j.jsx)("span",{children:"Reported Usage"})," ",(0,j.jsx)(v.rH,{})]}),(0,j.jsx)(Ye.Z,{title:"".concat(t," Bytes"),children:(0,j.jsx)("label",{className:"unit-value",style:{fontWeight:600},children:n})}),(0,j.jsx)("label",{className:"unit-type",children:i})]})},Xe=function(e){var t=e.children,n=e.background,i=void 0===n?"#ffffff":n;return(0,j.jsx)(Se.Z,{sx:{border:"1px solid #f1f1f1",background:i,maxWidth:{sm:"100%",xs:"250px"}},children:t})},et=function(e){var t=e.usage,n=t&&t.usage?t.usage.toString():"0",i=function(e){return void 0===e?{total:"0",unit:"Mi"}:(0,g.Am)(e)}(n),a=function(e){return null!==e?e.servers.sort((function(e,t){var n=e.endpoint.toLowerCase(),i=t.endpoint.toLowerCase();return ni?1:0})):[]}(t||null),l=[];a.forEach((function(e){var t=e.drives.map((function(e){return e}));l=[].concat((0,Ee.Z)(l),(0,Ee.Z)(t))}));var o=Le()(a,"state"),s=o.offline,c=void 0===s?[]:s,d=o.online,u=void 0===d?[]:d,x=Le()(l,"state"),p=x.offline,f=void 0===p?[]:p,h=x.ok,m=void 0===h?[]:h;return(0,j.jsx)(Se.Z,{sx:{maxWidth:"1536px",margin:"auto"},children:(0,j.jsxs)(Se.Z,{sx:{display:"grid",gridTemplateRows:"1fr",gridTemplateColumns:"1fr",gap:"27px",marginBottom:"40px",marginTop:"80px",marginLeft:"60px",marginRight:"60px"},children:[(0,j.jsxs)(Se.Z,{children:[(null===t||void 0===t?void 0:t.prometheusNotReady)&&(0,j.jsx)(Fe.Z,{iconComponent:(0,j.jsx)(v.a$,{}),title:"We can't retrieve advanced metrics at this time",help:(0,j.jsxs)(r.Fragment,{children:["MinIO Dashboard will display basic metrics as we couldn't connect to Prometheus successfully.",(0,j.jsx)("br",{})," ",(0,j.jsx)("br",{}),"Please try again in a few minutes. If the problem persists, you can review your configuration and confirm that Prometheus server is up and running."]})}),!(null!==t&&void 0!==t&&t.prometheusNotReady)&&(0,j.jsx)(Fe.Z,{iconComponent:(0,j.jsx)(v.a$,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,j.jsxs)(Se.Z,{children:[(0,j.jsx)(Se.Z,{sx:{fontSize:"14px"},children:"MinIO Dashboard will display basic metrics as we couldn\u2019t connect to Prometheus successfully. Please try again in a few minutes. If the problem persists, you can review your configuration and confirm that Prometheus server is up and running."}),(0,j.jsx)(Se.Z,{sx:{paddingTop:"20px",fontSize:"14px","& a":{color:function(e){return e.colors.link}}},children:(0,j.jsx)("a",{href:"https://docs.min.io/minio/baremetal/monitoring/metrics-alerts/collect-minio-metrics-using-prometheus.html?ref=con#minio-metrics-collect-using-prometheus",target:"_blank",rel:"noreferrer",children:"Read more about Prometheus on our Docs site."})})]})})]}),(0,j.jsxs)(Se.Z,{sx:{display:"grid",gridTemplateRows:"1fr .2fr auto",gridTemplateColumns:"1fr",gap:"40px"},children:[(0,j.jsxs)(Se.Z,{sx:{display:"grid",gridTemplateRows:"1fr",gridTemplateColumns:{lg:"1fr 1fr 1fr 1fr ",sm:"1fr 1fr",xs:"1fr"},gap:"40px"},children:[(0,j.jsx)(Xe,{background:"linear-gradient(-15deg, #2781b0 0%, #ffffff 30%) 0% 0% no-repeat padding-box",children:(0,j.jsx)(qe,{label:"Buckets",icon:(0,j.jsx)(v.wN,{}),counterValue:t?(0,g.nk)(t.buckets):0})}),(0,j.jsx)(Xe,{background:"linear-gradient(-15deg, #4CCB92 0%, #ffffff 30%) 0% 0% no-repeat padding-box",children:(0,j.jsx)(qe,{label:"Objects",icon:(0,j.jsx)(v.xp,{}),counterValue:t?(0,g.nk)(t.objects):0})}),(0,j.jsx)(Xe,{children:(0,j.jsx)(ke,{onlineCount:u.length,offlineCount:c.length,label:"Servers",icon:(0,j.jsx)(v.SB,{})})}),(0,j.jsx)(Xe,{children:(0,j.jsx)(ke,{offlineCount:f.length,onlineCount:m.length,label:"Drives",icon:(0,j.jsx)(v.FU,{})})})]}),(0,j.jsx)(Xe,{children:(0,j.jsx)(Qe,{usageValue:n,total:i.total,unit:i.unit})}),(0,j.jsx)(Se.Z,{sx:{display:"grid",gridTemplateRows:"auto",gridTemplateColumns:"1fr",gap:"auto"},children:(0,j.jsx)(Xe,{children:(0,j.jsx)(Je,{data:a})})})]})]})})},tt=(0,o.$j)(null,{displayErrorMessage:S.Ih}),nt=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},(0,f.Bz)(e.spacing(4))))}))(tt((function(e){var t=e.classes,n=e.displayErrorMessage,i=(0,r.useState)(!0),l=(0,a.Z)(i,2),o=l[0],s=l[1],u=(0,r.useState)(null),x=(0,a.Z)(u,2),p=x[0],f=x[1],g=(0,r.useCallback)((function(){F.Z.invoke("GET","/api/v1/admin/info").then((function(e){f(e),s(!1)})).catch((function(e){n(e),s(!1)}))}),[f,s,n]);(0,r.useEffect)((function(){o&&g()}),[o,g]);var h=c()(p,"widgets",null);return(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(Ne.Z,{label:"Metrics"}),o?(0,j.jsx)(d.ZP,{container:!0,children:(0,j.jsx)(d.ZP,{item:!0,xs:12,className:t.container,children:(0,j.jsx)(Ae.Z,{})})}):(0,j.jsx)(r.Fragment,{children:null!==h?(0,j.jsx)(d.ZP,{container:!0,className:t.container,children:(0,j.jsx)(we,{})}):(0,j.jsx)(et,{usage:p})})]})})))},4795:function(e,t,n){n.d(t,{x:function(){return s}});var i=n(18489),a=n(83738),l=n(50390),r=n(62559),o=["children","value","index"],s=function(e){var t=e.children,n=e.value,s=e.index,c=(0,a.Z)(e,o);return(0,r.jsx)("div",(0,i.Z)((0,i.Z)({role:"tabpanel",hidden:n!==s,id:"simple-tabpanel-".concat(s),"aria-labelledby":"simple-tab-".concat(s),style:{marginTop:"5px"}},c),{},{children:n===s&&(0,r.jsx)(l.Fragment,{children:t})}))}}}]); -//# sourceMappingURL=189.06df2d49.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[189],{10189:function(e,t,n){n.r(t),n.d(t,{default:function(){return nt}});var i,a=n(23430),l=n(18489),r=n(50390),o=n(34424),s=n(38342),c=n.n(s),d=n(25594),u=n(86509),x=n(4285),p=n(13512),f=n(72462);!function(e){e.singleValue="singleValue",e.linearGraph="linearGraph",e.areaGraph="areaGraph",e.barChart="barChart",e.pieChart="pieChart",e.singleRep="singleRep",e.simpleWidget="simpleWidget"}(i||(i={}));var g=n(28948),h=n(20426),m=n(73891),v=n(14549),j=n(62559),y=["#C4D4E9","#DCD1EE","#D1EEE7","#EEDED1","#AAF38F","#F9E6C5","#C83B51","#F4CECE","#D6D6D6"],b=function(e){return(0,g.v1)(e,"ns")},C=function(e){return parseInt(e).toString(10)},Z=[{id:1,title:"Uptime",data:"N/A",type:i.simpleWidget,widgetIcon:(0,j.jsx)(v.oN,{}),labelDisplayFunction:g.v1},{id:50,title:"Capacity",data:[],dataOuter:[{name:"outer",value:100}],widgetConfiguration:{outerChart:{colorList:["#9c9c9c"],innerRadius:0,outerRadius:0,startAngle:0,endAngle:0},innerChart:{colorList:y,innerRadius:20,outerRadius:50,startAngle:90,endAngle:-200}},type:i.pieChart,innerLabel:"N/A",labelDisplayFunction:g.ae},{id:68,title:"Data Usage Growth",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.areaGraph,yAxisFormatter:g.ae,xAxisFormatter:g.Ue},{id:52,title:"Object size distribution",data:[],widgetConfiguration:[{dataKey:"a",color:y[0],background:{fill:"#EEF1F4"},greatestColor:"#081C42"}],customStructure:[{originTag:"LESS_THAN_1024_B",displayTag:"Less than 1024B"},{originTag:"BETWEEN_1024_B_AND_1_MB",displayTag:"Between 1024B and 1MB"},{originTag:"BETWEEN_1_MB_AND_10_MB",displayTag:"Between 1MB and 10MB"},{originTag:"BETWEEN_10_MB_AND_64_MB",displayTag:"Between 10MB and 64MB"},{originTag:"BETWEEN_64_MB_AND_128_MB",displayTag:"Between 64MB and 128MB"},{originTag:"BETWEEN_128_MB_AND_512_MB",displayTag:"Between 128MB and 512MB"},{originTag:"GREATER_THAN_512_MB",displayTag:"Greater than 512MB"}],type:i.barChart},{id:66,title:"Buckets",data:[],innerLabel:"N/A",type:i.singleRep,color:"#0071BC",fillColor:"#ADD5E0"},{id:44,title:"Objects",data:[],innerLabel:"N/A",type:i.singleRep,color:"#0071BC",fillColor:"#ADD5E0"},{id:63,title:"API Data Received Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue,yAxisFormatter:g.ae},{id:61,title:"Total Open FDs",data:[],innerLabel:"N/A",type:i.singleRep,color:"#22B573",fillColor:"#A6E8C4"},{id:62,title:"Total Goroutines",data:[],innerLabel:"N/A",type:i.singleRep,color:"#F7655E",fillColor:"#F4CECE"},{id:77,title:"Node CPU Usage",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:C,xAxisFormatter:g.Ue},{id:60,title:"API Request Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue},{id:70,title:"API Data Sent Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue,yAxisFormatter:g.ae},{id:17,title:"Internode Data Transfer",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:g.ae,xAxisFormatter:g.Ue},{id:73,title:"Node IO",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:g.ae,xAxisFormatter:g.Ue},{id:80,title:"Time Since Last Heal Activity",data:"N/A",type:i.simpleWidget,widgetIcon:(0,j.jsx)(h.Z,{}),labelDisplayFunction:b},{id:81,title:"Time Since Last Scan Activity",data:"N/A",type:i.simpleWidget,widgetIcon:(0,j.jsx)(m.Z,{}),labelDisplayFunction:b},{id:71,title:"API Request Error Rate",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue},{id:76,title:"Node Memory Usage",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue,yAxisFormatter:g.ae},{id:74,title:"Drive Used Capacity",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,xAxisFormatter:g.Ue,yAxisFormatter:g.ae},{id:82,title:"Drives Free Inodes",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,disableYAxis:!0,xAxisFormatter:g.Ue},{id:11,title:"Node Syscalls",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:C,xAxisFormatter:g.Ue},{id:8,title:"Node File Descriptors",data:[],widgetConfiguration:[{dataKey:"",keyLabel:"",lineColor:"#000",fillColor:"#000"}],type:i.linearGraph,yAxisFormatter:C,xAxisFormatter:g.Ue},{id:500,mergedPanels:[{id:53,title:"Online",data:"N/A",type:i.singleValue},{id:69,title:"Offline",data:"N/A",type:i.singleValue}],title:"Servers"},{id:501,mergedPanels:[{id:9,title:"Online",data:"N/A",type:i.singleValue},{id:78,title:"Offline",data:"N/A",type:i.singleValue}],title:"Drives"},{id:502,mergedPanels:[{id:65,title:"Upload",data:"N/A",type:i.singleValue,labelDisplayFunction:g.ae},{id:64,title:"Download",data:"N/A",type:i.singleValue,labelDisplayFunction:g.ae}],title:"Network"}],w=function(e,t){if(0===e.length)return["","0"];if("mean"===t){var n=e.reduce((function(e,t){return e+parseFloat(t[1])}),0);return["",Math.floor(n/e.length).toString()]}var i=e.sort((function(e,t){return e[0]-t[0]}));return i[i.length-1]},N=function(e,t){if(!e)return t;var n=e.type;switch(t.type){case i.singleValue:case i.simpleWidget:if("stat"===n||"singlestat"===n){var a=c()(e,"targets[0].result[0].values",[]);null===a&&(a=[]);var r=c()(e,"options.reduceOptions.calcs[0]","lastNotNull"),o=w(a,r),s=t.labelDisplayFunction?t.labelDisplayFunction(o[1]):o[1];return(0,l.Z)((0,l.Z)({},t),{},{data:s})}break;case i.pieChart:if("gauge"===n){var d=c()(e,"targets[0].result",[]);null===d&&(d=[]);var u=c()(e,"options.reduceOptions.calcs[0]","lastNotNull"),x=d.length>0?d[0].values:[],p=w(x,u),f=d.map((function(e){var t=c()(e,"values",[]),n=Object.keys(e.metric),i=t.sort((function(e,t){return e[0]-t[0]})),a=e.metric[n[0]],l=i[i.length-1];return{name:a,value:parseInt(l)}})),h=t.labelDisplayFunction?t.labelDisplayFunction(p[1]):p[1];return(0,l.Z)((0,l.Z)({},t),{},{data:f,innerLabel:h})}break;case i.linearGraph:case i.areaGraph:if("graph"===n){var m=c()(e,"targets",[]);null===m&&(m=[]);var v=[],j=[];m.forEach((function(e,t){var n=c()(e,"result",[]),i=e.legendFormat;null===n&&(n=[]),n.forEach((function(e){var n=function(e,t){var n=Object.keys(e),i=new RegExp("{{(".concat(n.join("|"),")}}"),"g"),a=t.replace(i,(function(t){var n=t.replace(/({{|}})/g,"");return e[n]})),l=(a.match(/{{/g)||[]).length,r=(a.match(/}}/g)||[]).length,o=a.replace(/{{(.*?)}}/g,"");return l===r&&0!==l&&0!==r&&(n.forEach((function(t){a=a.replace(t,e[t])})),o=a),o}(e.metric,i),a="key_".concat(t).concat(n);v.push({dataKey:a,keyLabel:n,lineColor:"",fillColor:""});var l=c()(e,"values",[]);null===l&&(l=[]),l.forEach((function(e){var t=j.findIndex((function(t){return t.name===e[0]}));if(-1===t){var n={name:e[0]};n[a]=e[1],j.push(n)}else j[t][a]=e[1]}))}))}));var b=v.sort((function(e,t){return e.keyLabelt.keyLabel?1:0})).map((function(e,t){return(0,l.Z)((0,l.Z)({},e),{},{lineColor:y[t]||(0,g.C5)(e.keyLabel),fillColor:y[t]||(0,g.C5)(e.keyLabel)})})),C=j.sort((function(e,t){return e.name-t.name}));return(0,l.Z)((0,l.Z)({},t),{},{widgetConfiguration:b,data:C})}break;case i.barChart:if("bargauge"===n){var Z=c()(e,"targets[0].result",[]);null===Z&&(Z=[]);var N=function(e,t){return e[0]-t[0]},A=[];return A=t.customStructure?t.customStructure.map((function(e){var t=Z.find((function(t){var n=Object.keys(t.metric);return t.metric[n[0]]===e.originTag})),n=c()(t,"values",[]).sort(N),i=n[n.length-1]||["","0"];return{name:e.displayTag,a:parseInt(i[1])}})):Z.map((function(e){var t=Object.keys(e.metric),n=e.metric[t[0]],i=c()(e,"values",[]).sort(N),a=i[i.length-1]||["","0"];return{name:n,a:parseInt(a[1])}})),(0,l.Z)((0,l.Z)({},t),{},{data:A})}break;case i.singleRep:if("stat"===n){var E=c()(e,"targets[0].result[0].values",[]);null===E&&(E=[]);var S=c()(e,"options.reduceOptions.calcs[0]","lastNotNull"),F=w(E,S),k=E.sort((function(e,t){return e[0]-t[0]})),T=[];1===k.length&&T.push({value:0}),k.forEach((function(e){T.push({value:parseInt(e[1])})}));var L=t.labelDisplayFunction?t.labelDisplayFunction(F[1]):F[1];return(0,l.Z)((0,l.Z)({},t),{},{data:T,innerLabel:L})}}return t},A=function(e){var t=e.split(" "),n=function(){var t=e;return isNaN(parseFloat(e))||(t=(0,g.nk)(parseFloat(e))),(0,j.jsx)(r.Fragment,{children:t})};return 2!==t.length?n():g.Dl.includes(t[1])?(0,j.jsxs)("span",{className:"commonValue",children:[t[0],(0,j.jsx)("span",{className:"unitText",children:t[1]})]}):n()},E=n(4795),S=n(44149),F=n(30324),k=n(62449),T=n(98247),L=n(49044),B=(0,k.Z)({root:{backgroundColor:"transparent",paddingTop:0,paddingBottom:0,fontSize:22,textTransform:"uppercase",color:"#D0D0D0"},selected:{"& .MuiTab-wrapper":{color:"#07193E",fontWeight:"bold"}},indicator:{background:"transparent linear-gradient(90deg, #072B4E 0%, #081C42 100%) 0% 0% no-repeat padding-box;",height:4},scroller:{maxWidth:1185,position:"relative","&::after":{content:'" "',backgroundColor:"#EEF1F4",height:4,width:"100%",display:"block"}}}),I=function(e){var t=e.selectedTab,n=e.onChange,i=e.tabOptions,a=B();return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(T.Z,{indicatorColor:"primary",textColor:"primary","aria-label":"cluster-tabs",variant:"scrollable",scrollButtons:"auto",value:t,onChange:function(e,t){n(t)},classes:{indicator:a.indicator,scroller:a.scroller},children:i.map((function(e,t){var n={label:e.label};return e.value&&(n=(0,l.Z)((0,l.Z)({},n),{},{value:e.value})),e.disabled&&(n=(0,l.Z)((0,l.Z)({},n),{},{disabled:e.disabled})),(0,r.createElement)(L.Z,(0,l.Z)((0,l.Z)({},n),{},{classes:{root:a.root,selected:a.selected},id:"simple-tab-".concat(t),"aria-controls":"simple-tabpanel-".concat(t),key:"tab-".concat(t,"-").concat(e.label)}))}))})})},R=n(16356),D=n(86192),W=n(6369),M=(0,k.Z)({root:{backgroundColor:"#fff",padding:0},title:(0,l.Z)({},f.NP.titleContainer),content:{maxWidth:"100%"}}),P=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)((0,l.Z)({},f.NP),{},{cardRoot:(0,l.Z)((0,l.Z)({},f.NP.singleValueContainer),{},{"&.MuiPaper-root":{borderRadius:10}}),metricText:{fontSize:70,lineHeight:1.1,color:"#07193E",fontWeight:"bold"},unitText:{fontSize:10,color:"#767676",fontWeight:"normal"},subHearderContainer:{display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center"},subMessage:{fontSize:10,color:"#767676","&.bold":{fontWeight:"bold"}},headerContainer:{display:"flex",justifyContent:"space-between"},viewAll:{fontSize:10,color:"#C83B51",textTransform:"capitalize","& a, & a:hover, & a:visited, & a:active":{color:"#C83B51"}},extraMargin:{margin:"10px 20px 10px 0"}}))}))((function(e){var t=e.title,n=e.metricValue,i=e.metricUnit,a=e.subMessage,l=e.moreLink,o=e.rightComponent,s=e.extraMargin,c=void 0!==s&&s,d=e.classes,u=M(),x=function(){return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:d.subHearderContainer,children:[(0,j.jsxs)("div",{className:d.leftSide,children:[(0,j.jsx)("div",{children:(0,j.jsxs)("span",{className:d.metricText,children:[n,(0,j.jsx)("span",{className:d.unitText,children:i})]})}),a&&(0,j.jsx)("div",{className:"".concat(d.subMessage," ").concat(a.fontWeight?a.fontWeight:""),children:a.message})]}),(0,j.jsx)("div",{className:d.rightSide,children:o})]})})},p=function(){return(0,j.jsx)(r.Fragment,{children:(0,j.jsxs)("div",{className:d.headerContainer,children:[(0,j.jsx)("span",{className:d.title,children:t}),l&&(0,j.jsx)(r.Fragment,{children:(0,j.jsx)("span",{className:d.viewAll,children:(0,j.jsx)(W.rU,{to:l,children:"View All"})})})]})})};return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(R.Z,{className:"".concat(d.cardRoot," ").concat(c?d.extraMargin:""),children:""!==n&&(0,j.jsx)(D.Z,{title:(0,j.jsx)(p,{}),subheader:(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(x,{})}),classes:{root:u.root,title:u.title,content:u.content}})})})})),z=function(e){var t=e.title,n=e.leftComponent,i=e.rightComponent;return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(P,{title:t,metricValue:n,rightComponent:i})})},O=n(88970),G=n(27505),_=n(50990),U=n(62879),K=n(34107),V=n(65607),$=n(29503),H=n(58089),J=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},f.Rp))}))((function(e){var t=e.active,n=e.payload,i=e.label,a=e.barChartConfiguration,l=e.classes;return t?(0,j.jsxs)("div",{className:l.customTooltip,children:[(0,j.jsx)("div",{className:l.timeStampTitle,children:i}),n&&n.map((function(e,t){return(0,j.jsxs)("div",{className:l.labelContainer,children:[(0,j.jsx)("div",{className:l.labelColor,style:{backgroundColor:a[t].color}}),(0,j.jsx)("div",{className:l.itemValue,children:(0,j.jsx)("span",{className:l.valueContainer,children:e.value})})]},"pltiem-".concat(t,"-").concat(i))}))]}):null})),Y=n(47373),q=n(32657),Q=n(41227),X=function(e){var t=e.y,n=e.payload;return(0,j.jsx)("text",{width:50,fontSize:"63%",textAnchor:"start",fill:"#333",transform:"translate(5,".concat(t,")"),fontWeight:700,dy:3,children:n.value})},ee=(0,o.$j)(null,{displayErrorMessage:S.Ih,openZoomPage:Y.xG}),te=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)((0,l.Z)({},f.NP),{},{loadingAlign:{width:"100%",paddingTop:"15px",textAlign:"center",margin:"auto"}}))}))(ee((function(e){var t=e.classes,n=e.title,i=e.panelItem,l=e.timeStart,o=e.timeEnd,s=e.propLoading,c=e.displayErrorMessage,d=e.apiPrefix,u=e.zoomActivated,x=void 0!==u&&u,f=e.openZoomPage,g=(0,r.useState)(!0),h=(0,a.Z)(g,2),m=h[0],v=h[1],y=(0,r.useState)([]),b=(0,a.Z)(y,2),C=b[0],Z=b[1],w=(0,r.useState)(null),A=(0,a.Z)(w,2),E=A[0],S=A[1];(0,r.useEffect)((function(){s&&v(!0)}),[s]),(0,r.useEffect)((function(){if(m){var e=0;if(null!==l&&null!==o){var t=o.unix()-l.unix(),n=Math.floor(t/60);e=n<1?15:n}F.Z.invoke("GET","/api/v1/".concat(d,"/info/widgets/").concat(i.id,"/?step=").concat(e,"&").concat(null!==l?"&start=".concat(l.unix()):"").concat(null!==l&&null!==o?"&":"").concat(null!==o?"end=".concat(o.unix()):"")).then((function(e){var t=N(e,i);Z(t.data),S(t),v(!1)})).catch((function(e){c(e),v(!1)}))}}),[m,i,o,l,c,d]);var k=E?E.widgetConfiguration:[],T=0,L=0;if(1===k.length){var B=k[0];C.forEach((function(e,t){e[B.dataKey]>L&&(L=e[B.dataKey],T=t)}))}var I=(0,q.Z)(),R=(0,p.Z)(I.breakpoints.up("md"));return(0,j.jsxs)("div",{className:x?"":t.singleValueContainer,children:[!x&&(0,j.jsxs)("div",{className:t.titleContainer,children:[n," ",(0,j.jsx)("button",{onClick:function(){f(i)},className:t.zoomChartIcon,children:(0,j.jsx)(H.Z,{})})]}),m&&(0,j.jsx)("div",{className:t.loadingAlign,children:(0,j.jsx)(Q.Z,{})}),!m&&(0,j.jsx)("div",{className:x?t.zoomChartCont:t.contentContainer,children:(0,j.jsx)(O.h,{width:"99%",children:(0,j.jsxs)(G.v,{data:C,layout:"vertical",barCategoryGap:1,children:[(0,j.jsx)(_.K,{type:"number",hide:!0}),(0,j.jsx)(U.B,{dataKey:"name",type:"category",interval:0,tick:(0,j.jsx)(X,{}),tickLine:!1,axisLine:!1,width:150,hide:!R}),k.map((function(e){return(0,j.jsx)(K.$,{dataKey:e.dataKey,fill:e.color,background:e.background,barSize:x?25:12,children:1===k.length?(0,j.jsx)(r.Fragment,{children:C.map((function(t,n){return(0,j.jsx)(V.b,{fill:n===T?e.greatestColor:e.color},"chart-bar-".concat(n.toString()))}))}):null},"bar-".concat(e.dataKey))})),(0,j.jsx)($.u,{cursor:{fill:"rgba(255, 255, 255, 0.3)"},content:(0,j.jsx)(J,{barChartConfiguration:k})})]})})})]})}))),ne=n(89472),ie=n(86072),ae=n(84930),le=n(84109),re=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},f.Rp))}))((function(e){var t=e.active,n=e.payload,i=e.label,a=e.linearConfiguration,l=e.yAxisFormatter,r=e.classes;return t?(0,j.jsxs)("div",{className:r.customTooltip,children:[(0,j.jsx)("div",{className:r.timeStampTitle,children:(0,g.Ue)(i,!0)}),n&&n.map((function(e,t){return(0,j.jsxs)("div",{className:r.labelContainer,children:[(0,j.jsx)("div",{className:r.labelColor,style:{backgroundColor:a[t].lineColor}}),(0,j.jsx)("div",{className:r.itemValue,children:(0,j.jsxs)("span",{className:r.valueContainer,children:[a[t].keyLabel,":"," ",l(e.value)]})})]},"lbPl-".concat(t,"-").concat(a[t].keyLabel))}))]}):null})),oe=(0,o.$j)(null,{displayErrorMessage:S.Ih,openZoomPage:Y.xG}),se=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)((0,l.Z)({},f.NP),{},{containerElements:{display:"flex",flexDirection:"row",height:"100%",flexGrow:1},verticalAlignment:{flexDirection:"column"},chartCont:{position:"relative",height:140,width:"100%"},legendChart:{display:"flex",flexDirection:"column",flex:"0 1 auto",maxHeight:130,margin:0,overflowY:"auto",position:"relative",textAlign:"center",width:"100%",justifyContent:"flex-start",color:"#404143",fontWeight:"bold",fontSize:12},loadingAlign:{margin:"auto"}}))}))(oe((function(e){var t=e.classes,n=e.title,i=e.displayErrorMessage,l=e.timeStart,o=e.timeEnd,s=e.propLoading,c=e.panelItem,d=e.apiPrefix,u=e.hideYAxis,x=void 0!==u&&u,f=e.areaWidget,g=void 0!==f&&f,h=e.yAxisFormatter,m=void 0===h?function(e){return e}:h,v=e.xAxisFormatter,y=void 0===v?function(e){return e}:v,b=e.zoomActivated,C=void 0!==b&&b,Z=e.openZoomPage,w=(0,r.useState)(!0),A=(0,a.Z)(w,2),E=A[0],S=A[1],k=(0,r.useState)([]),T=(0,a.Z)(k,2),L=T[0],B=T[1],I=(0,r.useState)(0),R=(0,a.Z)(I,2),D=R[0],W=R[1],M=(0,r.useState)(null),P=(0,a.Z)(M,2),z=P[0],G=P[1];(0,r.useEffect)((function(){s&&S(!0)}),[s]),(0,r.useEffect)((function(){if(E){var e=0;if(null!==l&&null!==o){var t=o.unix()-l.unix(),n=Math.floor(t/60);e=n<1?15:n}F.Z.invoke("GET","/api/v1/".concat(d,"/info/widgets/").concat(c.id,"/?step=").concat(e,"&").concat(null!==l?"&start=".concat(l.unix()):"").concat(null!==l&&null!==o?"&":"").concat(null!==o?"end=".concat(o.unix()):"")).then((function(e){var t=N(e,c);B(t.data),G(t),S(!1);var n,i=0,a=(0,ne.Z)(t.data);try{for(a.s();!(n=a.n()).done;){var l=n.value;for(var r in l)if("name"!==r){var o=parseInt(l[r]);isNaN(o)&&(o=0),i5&&void 0!==arguments[5]&&arguments[5];switch(e.type){case i.singleValue:return(0,j.jsx)(ve,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,apiPrefix:l});case i.simpleWidget:return(0,j.jsx)(fe,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,apiPrefix:l,iconWidget:e.widgetIcon});case i.pieChart:return(0,j.jsx)(xe,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,apiPrefix:l});case i.linearGraph:case i.areaGraph:return(0,j.jsx)(se,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,hideYAxis:e.disableYAxis,xAxisFormatter:e.xAxisFormatter,yAxisFormatter:e.yAxisFormatter,apiPrefix:l,areaWidget:e.type===i.areaGraph,zoomActivated:r});case i.barChart:return(0,j.jsx)(te,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,apiPrefix:l,zoomActivated:r});case i.singleRep:var o=e.fillColor?e.fillColor:e.color;return(0,j.jsx)(he,{title:e.title,panelItem:e,timeStart:t,timeEnd:n,propLoading:a,color:e.color,fillColor:o,apiPrefix:l});default:return null}},ye=n(51002),be=(0,o.$j)(null,{onCloseAction:Y.jv})((function(e){var t=e.value,n=e.modalOpen,i=e.timeStart,a=e.timeEnd,l=e.apiPrefix,o=e.onCloseAction;return t?(0,j.jsx)(ye.Z,{title:t.title,onClose:function(){o()},modalOpen:n,wideLimit:!1,noContentPadding:!0,children:(0,j.jsx)(r.Fragment,{children:je(t,i,a,!0,l,!0)})}):null})),Ce=n(17778),Ze=(0,o.$j)((function(e){return{zoomOpen:e.dashboard.zoom.openZoom,zoomWidget:e.dashboard.zoom.widgetRender}}),{displayErrorMessage:S.Ih}),we=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)((0,l.Z)((0,l.Z)({},f.OR),f.bN),{},{dashboardRow:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",maxWidth:1180}}))}))(Ze((function(e){var t=e.classes,n=e.displayErrorMessage,i=e.apiPrefix,l=void 0===i?"admin":i,o=e.zoomOpen,s=e.zoomWidget,c=(0,r.useState)(null),u=(0,a.Z)(c,2),x=u[0],f=u[1],g=(0,r.useState)(null),h=(0,a.Z)(g,2),m=h[0],v=h[1],y=(0,r.useState)(!0),b=(0,a.Z)(y,2),C=b[0],w=b[1],A=(0,r.useState)(Z),S=(0,a.Z)(A,2),k=S[0],T=S[1],L=(0,r.useState)(0),B=(0,a.Z)(L,2),R=B[0],D=B[1],W=(0,q.Z)(),M=(0,p.Z)(W.breakpoints.up("md")),P=(0,r.useCallback)((function(e,n){return null===n||void 0===n?void 0:n.map((function(n,i){var a=n.length,o=Math.floor(12/a);return!M&&a>=4?o=6:!M&&a>=3&&(o=12),o<1?o=1:o>12&&(o=12),(0,j.jsx)(d.ZP,{item:!0,xs:12,className:t.dashboardRow,children:n.map((function(e,n){var i=k.find((function(t){return t.id===e}));return(0,j.jsx)(d.ZP,{className:t.widgetPanelDelimiter,item:!0,xs:12,sm:o,md:o,lg:o,children:(0,j.jsx)(d.ZP,{item:!0,xs:12,children:i?(0,j.jsx)(r.Fragment,{children:i.mergedPanels?(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(z,{title:i.title,leftComponent:je(i.mergedPanels[0],x,m,C,l),rightComponent:je(i.mergedPanels[1],x,m,C,l)})}):je(i,x,m,C,l)}):null})},"widget-".concat(e,"-").concat(n))}))},"line-".concat(e,"-").concat(i))}))}),[x,m,C,l,t.dashboardRow,t.widgetPanelDelimiter,k,M]),O=(0,r.useCallback)((function(){var e=0;if(null!==x&&null!==m){var t=m.unix()-x.unix(),i=Math.floor(t/60);e=i<1?15:i}F.Z.invoke("GET","/api/v1/".concat(l,"/info?step=").concat(e,"&").concat(null!==x?"&start=".concat(x.unix()):"").concat(null!==x&&null!==m?"&":"").concat(null!==m?"end=".concat(m.unix()):"")).then((function(e){if(e.widgets){var t=(i=e.widgets,Z.map((function(e){var t=i.find((function(t){return t.title.toLowerCase().trim()===e.title.toLowerCase().trim()}));return N(t,e)})));T(t)}else n({errorMessage:"Widget information could not be retrieved at this time. Please try again",detailedError:""});var i;w(!1)})).catch((function(e){n(e),w(!1)}))}),[x,m,n,l]);(0,r.useEffect)((function(){C&&O()}),[C,O]);var G=[[66,44,500,501],[80,81,1],[68,52],[63,70]];M?G.splice(1,0,[50,502]):(G.splice(1,0,[50]),G.splice(1,0,[502]));return(0,j.jsxs)(r.Fragment,{children:[o&&(0,j.jsx)(be,{modalOpen:o,timeStart:x,timeEnd:m,widgetRender:0,value:s,apiPrefix:l}),(0,j.jsx)(Ce.Z,{timeStart:x,setTimeStart:f,timeEnd:m,setTimeEnd:v,triggerSync:function(){w(!0)}}),(0,j.jsx)(d.ZP,{item:!0,xs:12,children:(0,j.jsx)(I,{selectedTab:R,onChange:function(e){D(e)},tabOptions:[{label:"Usage"},{label:"Traffic"},{label:"Resources"}]})}),(0,j.jsxs)(d.ZP,{item:!0,xs:12,className:t.widgetsContainer,children:[(0,j.jsx)(E.x,{index:0,value:R,children:P("Summary",G)}),(0,j.jsx)(E.x,{index:1,value:R,children:P("Traffic",[[60],[71,17],[73]])}),(0,j.jsx)(E.x,{index:2,value:R,children:P("Resources",[[76,77],[11,8],[82,74]])})]})]})}))),Ne=n(35721),Ae=n(81378),Ee=n(35531),Se=n(56805),Fe=n(8235),ke=function(e){var t=e.onlineCount,n=void 0===t?0:t,i=e.offlineCount,a=void 0===i?0:i,l=e.icon,r=void 0===l?null:l,o=e.label,s=void 0===o?"":o;return(0,j.jsx)(Se.Z,{sx:{fontFamily:"Lato,sans-serif",color:"#07193E",maxWidth:"300px",minHeight:"200px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default"},children:(0,j.jsxs)(Se.Z,{sx:{flex:1,height:"200px",display:"flex",padding:{sm:"0 8px 0 8px",xs:"0 10px 0 10px"}},children:[(0,j.jsxs)(Se.Z,{sx:{flex:1,display:"flex",flexFlow:"column",marginTop:"32px"},children:[(0,j.jsx)(Se.Z,{sx:{fontSize:"16px",fontWeight:600,marginBottom:"24px"},children:s}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:{lg:"50px",md:"45px",xs:"35px"},fontWeight:600,"& .stat-text":{color:"#696969",fontSize:"12px"},"& .stat-value":{textAlign:"center"},"& .min-icon":{marginRight:"8px",height:"10px",width:"10px"}},children:[(0,j.jsxs)(Se.Z,{children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{fill:"#4CCB92"}},children:[(0,j.jsx)(v.J$,{})," ",(0,j.jsx)("div",{className:"stat-text",children:"Online"})]}),(0,j.jsx)(Se.Z,{className:"stat-value",children:n})]}),(0,j.jsxs)(Se.Z,{children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{fill:"#C83B51"}},children:[(0,j.jsx)(v.J$,{})," ",(0,j.jsx)("div",{className:"stat-text",children:"Offline"})]}),(0,j.jsx)(Se.Z,{className:"stat-value",children:a})]})]})]}),(0,j.jsx)(Se.Z,{sx:{width:"20px",height:"20px",marginTop:"26px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:r})]})})},Te=n(31538),Le=n.n(Te),Be=n(48873),Ie=n(5211),Re=n(82618),De=n(55600),We=n(3602),Me=n(56943),Pe="#C83B51",ze="#4CCB92",Oe="#E7A219",Ge=function(e,t){return e<=t/2?Pe:2!==t&&e===t/2+1?Oe:e===t?ze:void 0},_e=function(e){switch(e){case"offline":return Pe;case"online":return ze;default:return Oe}},Ue=function(e,t){return e<=t/2?Pe:e===t/2+1?Oe:e===t?ze:void 0},Ke=function(e){var t=e.label,n=void 0===t?"":t,i=e.value,a=void 0===i?"":i,l=e.statusColor,r=void 0===l?"":l,o=e.hasStatus,s=void 0!==o&&o,c=e.icon,d=void 0===c?null:c;return(0,j.jsxs)(Se.Z,{sx:{alignItems:"center",padding:"5px",display:"flex",gap:"10px"},children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center",flexFlow:"column",maxWidth:"40px","&:first-of-type(svg)":{fill:"#848484"}},children:[d,s?(0,j.jsx)(Se.Z,{sx:{marginRight:"0px",justifyContent:"center",alignItems:"center",textAlign:"center","& svg.min-icon":{fill:r,width:"10px",height:"10px"}},children:(0,j.jsx)(v.J$,{})}):(0,j.jsx)(Se.Z,{sx:{width:"12px",height:"12px"}})]}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start",flexFlow:"column","& .stat-text":{color:"#5E5E5E",fontSize:"14px"},"& .stat-value":{color:"#07193E",display:"flex",fontWeight:500}},children:[(0,j.jsx)("div",{className:"stat-text",children:n}),(0,j.jsx)("div",{className:"stat-value",children:a})]})]})},Ve=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},f.SJ))}))((function(e){e.classes;var t=e.server,n=(e.index,Object.keys(c()(t,"network",{}))),i=n.length,a=t.drives?t.drives.length:0,l=n.reduce((function(e,n){return"online"===t.network[n]?e+1:e}),0),r=t.drives?t.drives.filter((function(e){return"ok"===e.state})).length:0;return(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"flex-start",flexFlow:"column",flex:1},children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center",marginBottom:"15px"},children:[(null===t||void 0===t?void 0:t.state)&&(0,j.jsx)(Se.Z,{sx:{marginRight:"8px","& .min-icon":{fill:_e(t.state),height:"14px",width:"14px"}},children:(0,j.jsx)(v.J$,{})}),(0,j.jsx)(Se.Z,{sx:{fontWeight:600,textTransform:"none"},children:t.endpoint||""})]}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",alignItems:"center",padding:"3px",gap:"15px",justifyContent:"space-between",width:"100%",paddingLeft:"20px",flexFlow:{sm:"row",xs:"column"}},children:[(0,j.jsx)(Ke,{statusColor:Ge(r,a),label:"Drives",icon:(0,j.jsx)(v.FU,{}),hasStatus:!0,value:"".concat(r,"/").concat(a)}),(0,j.jsx)(Ke,{statusColor:Ue(l,i),label:"Network",icon:(0,j.jsx)(v.B7,{}),hasStatus:!0,value:"".concat(l,"/").concat(i)}),(0,j.jsx)(Ke,{statusColor:"green",label:"Up time",icon:(0,j.jsx)(v.oN,{}),value:null!==t&&void 0!==t&&t.uptime?(0,g.v1)(t.uptime):"N/A"}),(0,j.jsx)(Ke,{statusColor:"green",label:"Version",icon:(0,j.jsx)(v.Db,{}),value:(0,j.jsx)(Se.Z,{sx:{background:"rgb(235, 236, 237)",color:"#000000",paddingLeft:"10px",paddingRight:"10px",borderRadius:"16px",fontSize:"12px",marginTop:"5px"},children:t.version?t.version:"N/A"})})]})]})})),$e=function(e){switch(e){case"offline":return Pe;case"ok":return ze;default:return Oe}},He=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},f.SJ))}))((function(e){e.classes;var t=e.drive;return(0,j.jsxs)(Se.Z,{sx:{display:"flex",flex:1,alignItems:"center",paddingBottom:"10px",borderBottom:{xs:"1px solid #eaeaea"}},children:[(0,j.jsx)(Se.Z,{sx:{"& .min-icon":{fill:"#848484"}},children:(0,j.jsx)(v.FU,{})}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",flexFlow:"column",marginLeft:"10px",flex:1},children:[(0,j.jsxs)(Se.Z,{sx:{fontSize:"14px",fontWeight:400,display:"flex",alignItems:"center","& .min-icon":{marginRight:"10px",height:"10px",width:"10px",fill:$e(t.state),flexShrink:0},"& .drive-endpoint":{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"normal",wordBreak:"break-all",fontSize:{md:"14px",xs:"10px"}}},children:[t.state&&(0,j.jsx)(v.J$,{}),(0,j.jsx)("div",{className:"drive-endpoint",children:t.endpoint||""})]}),(0,j.jsxs)(Se.Z,{sx:{flex:1,display:"flex",alignItems:"center",justifyContent:"space-between",paddingLeft:"20px",marginTop:"10px",flexFlow:{sm:"row",xs:"column"},"& .info-label":{color:"#8399AB"},"& .info-value":{color:"#073052",fontSize:"14px",fontWeight:500}},children:[(0,j.jsxs)(Se.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,j.jsx)("label",{className:"info-label",children:"Capacity:"}),(0,j.jsx)("div",{className:"info-value",children:(0,g.ae)(t.totalSpace?t.totalSpace.toString():"0")})]}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,j.jsx)("label",{className:"info-label",children:"Used:"}),(0,j.jsx)("div",{className:"info-value",children:(0,g.ae)(t.usedSpace?t.usedSpace.toString():"0")})]}),(0,j.jsxs)(Se.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,j.jsx)("label",{className:"info-label",children:"Available:"}),(0,j.jsx)("div",{className:"info-value",children:(0,g.ae)(t.availableSpace?t.availableSpace.toString():"0")})]})]})]})]})})),Je=function(e){var t=e.data,n=r.useState(""),i=(0,a.Z)(n,2),l=i[0],o=i[1],s=function(e){o(e)};return(0,j.jsx)(Ie.Z,{sx:{width:"100%",flex:1},component:"nav","aria-labelledby":"nested-list-subheader",subheader:(0,j.jsxs)(Be.Z,{component:"div",sx:{borderBottom:"1px solid #F8F8F8"},children:["Servers (",t.length,")"]}),children:t.map((function(e,t){var n="".concat(e.endpoint,"-").concat(t),i=l===n;return(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(Re.Z,{disableRipple:!0,onClick:function(){s(i?"":n)},className:i?"expanded":"",sx:{display:"flex",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid #eaeaea","&:hover":{background:"#F8F8F8"},"&.expanded":{borderBottom:"none"}},children:[(0,j.jsx)(Ve,{server:e,index:t}),(0,j.jsx)(Se.Z,{sx:{height:"25px",width:"25px",marginLeft:"25px",background:"#FBFAFA",borderRadius:"2px","&:hover":{background:"#fafafa"},display:{md:"block",xs:"none"}},children:i?(0,j.jsx)(We.Z,{}):(0,j.jsx)(Me.Z,{})})]}),i?(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(Be.Z,{component:"div",sx:{borderBottom:"1px solid #F8F8F8"},children:["Drives (",e.drives.length,")"]},"".concat(t,"-drive-details")),(0,j.jsx)(De.Z,{in:i,timeout:"auto",unmountOnExit:!0,sx:{width:"100%",flex:1,display:"flex",padding:{md:"20px 50px",xs:"15px 15px"},"& .MuiCollapse-wrapperInner":{display:"flex",flexFlow:"column",gap:"15px"}},children:e.drives.map((function(e,t){return(0,j.jsx)(He,{drive:e},"".concat(e.endpoint,"-").concat(t))}))})]},"".concat(e.endpoint,"-").concat(t)):null]},n)}))})},Ye=n(94187),qe=function(e){var t=e.counterValue,n=e.label,i=void 0===n?"":n,a=e.icon,l=void 0===a?null:a;return(0,j.jsx)(Se.Z,{sx:{fontFamily:"Lato,sans-serif",color:"#07193E",maxWidth:"300px",minHeight:"200px",display:"flex",marginLeft:"auto",marginRight:"auto",cursor:"default",position:"relative",width:"100%"},children:(0,j.jsxs)(Se.Z,{sx:{flex:1,height:"200px",display:"flex",width:"100%",padding:{sm:"0 8px 0 8px",xs:"0 10px 0 10px"},position:"absolute"},children:[(0,j.jsxs)(Se.Z,{sx:{flex:1,display:"flex",flexFlow:"column",marginTop:"32px",zIndex:10,overflow:"hidden"},children:[(0,j.jsx)(Se.Z,{sx:{fontSize:"16px",fontWeight:600},children:i}),(0,j.jsx)(Ye.Z,{title:t,placement:"bottom",enterDelay:500,children:(0,j.jsx)(Se.Z,{sx:{fontSize:{xl:"55px",lg:"40px",md:"36px",sm:"22px",xs:"14px"},fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",maxWidth:{md:187,xs:200}},children:t})})]}),(0,j.jsx)(Se.Z,{sx:{width:"20px",height:"20px",marginTop:"26px",maxWidth:"26px","& .min-icon":{width:"16px",height:"16px"}},children:l})]})})},Qe=function(e){var t=e.usageValue,n=e.total,i=e.unit;return(0,j.jsxs)(Se.Z,{sx:{maxHeight:"110px",display:"flex",alignItems:"center",justifyContent:"center",fontSize:"19px",padding:"10px","& .unit-value":{fontSize:"50px",color:"#07193E"},"& .unit-type":{fontSize:"18px",color:"#5E5E5E",marginTop:"20px",marginLeft:"5px"},"& .usage-label":{display:"flex",alignItems:"center",fontSize:"16px",fontWeight:600,marginRight:"20px",marginTop:"-10px","& .min-icon":{marginLeft:"10px",height:16,width:16}}},children:[(0,j.jsxs)("div",{className:"usage-label",children:[(0,j.jsx)("span",{children:"Reported Usage"})," ",(0,j.jsx)(v.rH,{})]}),(0,j.jsx)(Ye.Z,{title:"".concat(t," Bytes"),children:(0,j.jsx)("label",{className:"unit-value",style:{fontWeight:600},children:n})}),(0,j.jsx)("label",{className:"unit-type",children:i})]})},Xe=function(e){var t=e.children,n=e.background,i=void 0===n?"#ffffff":n;return(0,j.jsx)(Se.Z,{sx:{border:"1px solid #f1f1f1",background:i,maxWidth:{sm:"100%",xs:"250px"}},children:t})},et=function(e){var t=e.usage,n=t&&t.usage?t.usage.toString():"0",i=function(e){return void 0===e?{total:"0",unit:"Mi"}:(0,g.Am)(e)}(n),a=function(e){return null!==e?e.servers.sort((function(e,t){var n=e.endpoint.toLowerCase(),i=t.endpoint.toLowerCase();return ni?1:0})):[]}(t||null),l=[];a.forEach((function(e){var t=e.drives.map((function(e){return e}));l=[].concat((0,Ee.Z)(l),(0,Ee.Z)(t))}));var o=Le()(a,"state"),s=o.offline,c=void 0===s?[]:s,d=o.online,u=void 0===d?[]:d,x=Le()(l,"state"),p=x.offline,f=void 0===p?[]:p,h=x.ok,m=void 0===h?[]:h;return(0,j.jsx)(Se.Z,{sx:{maxWidth:"1536px",margin:"auto"},children:(0,j.jsxs)(Se.Z,{sx:{display:"grid",gridTemplateRows:"1fr",gridTemplateColumns:"1fr",gap:"27px",marginBottom:"40px",marginTop:"80px",marginLeft:"60px",marginRight:"60px"},children:[(0,j.jsxs)(Se.Z,{children:[(null===t||void 0===t?void 0:t.prometheusNotReady)&&(0,j.jsx)(Fe.Z,{iconComponent:(0,j.jsx)(v.a$,{}),title:"We can't retrieve advanced metrics at this time",help:(0,j.jsxs)(r.Fragment,{children:["MinIO Dashboard will display basic metrics as we couldn't connect to Prometheus successfully.",(0,j.jsx)("br",{})," ",(0,j.jsx)("br",{}),"Please try again in a few minutes. If the problem persists, you can review your configuration and confirm that Prometheus server is up and running."]})}),!(null!==t&&void 0!==t&&t.prometheusNotReady)&&(0,j.jsx)(Fe.Z,{iconComponent:(0,j.jsx)(v.a$,{}),title:"We can\u2019t retrieve advanced metrics at this time.",help:(0,j.jsxs)(Se.Z,{children:[(0,j.jsx)(Se.Z,{sx:{fontSize:"14px"},children:"MinIO Dashboard will display basic metrics as we couldn\u2019t connect to Prometheus successfully. Please try again in a few minutes. If the problem persists, you can review your configuration and confirm that Prometheus server is up and running."}),(0,j.jsx)(Se.Z,{sx:{paddingTop:"20px",fontSize:"14px","& a":{color:function(e){return e.colors.link}}},children:(0,j.jsx)("a",{href:"https://docs.min.io/minio/baremetal/monitoring/metrics-alerts/collect-minio-metrics-using-prometheus.html?ref=con#minio-metrics-collect-using-prometheus",target:"_blank",rel:"noreferrer",children:"Read more about Prometheus on our Docs site."})})]})})]}),(0,j.jsxs)(Se.Z,{sx:{display:"grid",gridTemplateRows:"1fr .2fr auto",gridTemplateColumns:"1fr",gap:"40px"},children:[(0,j.jsxs)(Se.Z,{sx:{display:"grid",gridTemplateRows:"1fr",gridTemplateColumns:{lg:"1fr 1fr 1fr 1fr ",sm:"1fr 1fr",xs:"1fr"},gap:"40px"},children:[(0,j.jsx)(Xe,{background:"linear-gradient(-15deg, #2781b0 0%, #ffffff 30%) 0% 0% no-repeat padding-box",children:(0,j.jsx)(qe,{label:"Buckets",icon:(0,j.jsx)(v.wN,{}),counterValue:t?(0,g.nk)(t.buckets):0})}),(0,j.jsx)(Xe,{background:"linear-gradient(-15deg, #4CCB92 0%, #ffffff 30%) 0% 0% no-repeat padding-box",children:(0,j.jsx)(qe,{label:"Objects",icon:(0,j.jsx)(v.xp,{}),counterValue:t?(0,g.nk)(t.objects):0})}),(0,j.jsx)(Xe,{children:(0,j.jsx)(ke,{onlineCount:u.length,offlineCount:c.length,label:"Servers",icon:(0,j.jsx)(v.SB,{})})}),(0,j.jsx)(Xe,{children:(0,j.jsx)(ke,{offlineCount:f.length,onlineCount:m.length,label:"Drives",icon:(0,j.jsx)(v.FU,{})})})]}),(0,j.jsx)(Xe,{children:(0,j.jsx)(Qe,{usageValue:n,total:i.total,unit:i.unit})}),(0,j.jsx)(Se.Z,{sx:{display:"grid",gridTemplateRows:"auto",gridTemplateColumns:"1fr",gap:"auto"},children:(0,j.jsx)(Xe,{children:(0,j.jsx)(Je,{data:a})})})]})]})})},tt=(0,o.$j)(null,{displayErrorMessage:S.Ih}),nt=(0,x.Z)((function(e){return(0,u.Z)((0,l.Z)({},(0,f.Bz)(e.spacing(4))))}))(tt((function(e){var t=e.classes,n=e.displayErrorMessage,i=(0,r.useState)(!0),l=(0,a.Z)(i,2),o=l[0],s=l[1],u=(0,r.useState)(null),x=(0,a.Z)(u,2),p=x[0],f=x[1],g=(0,r.useCallback)((function(){F.Z.invoke("GET","/api/v1/admin/info").then((function(e){f(e),s(!1)})).catch((function(e){n(e),s(!1)}))}),[f,s,n]);(0,r.useEffect)((function(){o&&g()}),[o,g]);var h=c()(p,"widgets",null);return(0,j.jsxs)(r.Fragment,{children:[(0,j.jsx)(Ne.Z,{label:"Metrics"}),o?(0,j.jsx)(d.ZP,{container:!0,children:(0,j.jsx)(d.ZP,{item:!0,xs:12,className:t.container,children:(0,j.jsx)(Ae.Z,{})})}):(0,j.jsx)(r.Fragment,{children:null!==h?(0,j.jsx)(d.ZP,{container:!0,className:t.container,children:(0,j.jsx)(we,{})}):(0,j.jsx)(et,{usage:p})})]})})))},4795:function(e,t,n){n.d(t,{x:function(){return s}});var i=n(18489),a=n(83738),l=n(50390),r=n(62559),o=["children","value","index"],s=function(e){var t=e.children,n=e.value,s=e.index,c=(0,a.Z)(e,o);return(0,r.jsx)("div",(0,i.Z)((0,i.Z)({role:"tabpanel",hidden:n!==s,id:"simple-tabpanel-".concat(s),"aria-labelledby":"simple-tab-".concat(s),style:{marginTop:"5px"}},c),{},{children:n===s&&(0,r.jsx)(l.Fragment,{children:t})}))}}}]); +//# sourceMappingURL=189.f0f79745.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/189.06df2d49.chunk.js.map b/portal-ui/build/static/js/189.f0f79745.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/189.06df2d49.chunk.js.map rename to portal-ui/build/static/js/189.f0f79745.chunk.js.map index 1bfee8a72..26e0bc94e 100644 --- a/portal-ui/build/static/js/189.06df2d49.chunk.js.map +++ b/portal-ui/build/static/js/189.f0f79745.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/189.06df2d49.chunk.js","mappings":"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","sources":["screens/Console/Dashboard/Prometheus/types.ts","screens/Console/Dashboard/Prometheus/utils.tsx","screens/Console/Common/TabSelector/TabSelector.tsx","screens/Console/Dashboard/CommonCard.tsx","screens/Console/Dashboard/Prometheus/MergedWidgets.tsx","screens/Console/Dashboard/Prometheus/Widgets/tooltips/BarChartTooltip.tsx","screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/tooltips/LineChartTooltip.tsx","screens/Console/Dashboard/Prometheus/Widgets/LinearGraphWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/SingleRepWidget.tsx","screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx","screens/Console/Dashboard/Prometheus/widgetUtils.tsx","screens/Console/Dashboard/Prometheus/ZoomWidget.tsx","screens/Console/Dashboard/Prometheus/PrDashboard.tsx","screens/Console/Dashboard/BasicDashboard/StatusCountCard.tsx","screens/Console/Dashboard/BasicDashboard/Utils.tsx","screens/Console/Dashboard/BasicDashboard/ServerInfoItem.tsx","screens/Console/Dashboard/BasicDashboard/DriveInfoItem.tsx","screens/Console/Dashboard/BasicDashboard/ServersList.tsx","screens/Console/Dashboard/BasicDashboard/CounterCard.tsx","screens/Console/Dashboard/BasicDashboard/ReportedUsage.tsx","screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx","screens/Console/Dashboard/Dashboard.tsx","screens/shared/tabs.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n IBarChartConfiguration,\n IBarChartRelation,\n IDataSRep,\n ILinearGraphConfiguration,\n IPieChartConfiguration,\n} from \"./Widgets/types\";\n\nexport enum widgetType {\n singleValue = \"singleValue\",\n linearGraph = \"linearGraph\",\n areaGraph = \"areaGraph\",\n barChart = \"barChart\",\n pieChart = \"pieChart\",\n singleRep = \"singleRep\",\n simpleWidget = \"simpleWidget\",\n}\n\nexport interface IDashboardPanel {\n id: number;\n mergedPanels?: IDashboardPanel[];\n title: string;\n data?: string | object[] | IDataSRep[];\n dataOuter?: string | object[];\n type?: widgetType;\n widgetIcon?: any;\n widgetConfiguration?:\n | ILinearGraphConfiguration[]\n | IBarChartConfiguration[]\n | IPieChartConfiguration;\n color?: string;\n fillColor?: string;\n innerLabel?: string;\n labelDisplayFunction?: (value: string) => any;\n disableYAxis?: boolean;\n xAxisFormatter?: (item: string) => string;\n yAxisFormatter?: (item: string) => string;\n customStructure?: IBarChartRelation[];\n}\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport get from \"lodash/get\";\nimport { IDashboardPanel, widgetType } from \"./types\";\nimport {\n getTimeFromTimestamp,\n niceBytes,\n niceDays,\n representationNumber,\n textToRGBColor,\n units,\n} from \"../../../../common/utils\";\nimport HealIcon from \"../../../../icons/HealIcon\";\nimport DiagnosticsIcon from \"../../../../icons/DiagnosticsIcon\";\nimport { UptimeIcon } from \"../../../../icons\";\n\nconst colorsMain = [\n \"#C4D4E9\",\n \"#DCD1EE\",\n \"#D1EEE7\",\n \"#EEDED1\",\n \"#AAF38F\",\n \"#F9E6C5\",\n \"#C83B51\",\n \"#F4CECE\",\n \"#D6D6D6\",\n];\n\nconst niceDaysFromNS = (seconds: string) => {\n return niceDays(seconds, \"ns\");\n};\n\nconst roundNumber = (value: string) => {\n return parseInt(value).toString(10);\n};\n\nexport const panelsConfiguration: IDashboardPanel[] = [\n {\n id: 1,\n title: \"Uptime\",\n data: \"N/A\",\n type: widgetType.simpleWidget,\n widgetIcon: ,\n labelDisplayFunction: niceDays,\n },\n {\n id: 50,\n title: \"Capacity\",\n data: [],\n dataOuter: [{ name: \"outer\", value: 100 }],\n widgetConfiguration: {\n outerChart: {\n colorList: [\"#9c9c9c\"],\n innerRadius: 0,\n outerRadius: 0,\n startAngle: 0,\n endAngle: 0,\n },\n innerChart: {\n colorList: colorsMain,\n innerRadius: 20,\n outerRadius: 50,\n startAngle: 90,\n endAngle: -200,\n },\n },\n type: widgetType.pieChart,\n innerLabel: \"N/A\",\n labelDisplayFunction: niceBytes,\n },\n {\n id: 68,\n title: \"Data Usage Growth\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.areaGraph,\n yAxisFormatter: niceBytes,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 52,\n title: \"Object size distribution\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"a\",\n color: colorsMain[0],\n background: {\n fill: \"#EEF1F4\",\n },\n greatestColor: \"#081C42\",\n },\n ],\n customStructure: [\n { originTag: \"LESS_THAN_1024_B\", displayTag: \"Less than 1024B\" },\n {\n originTag: \"BETWEEN_1024_B_AND_1_MB\",\n displayTag: \"Between 1024B and 1MB\",\n },\n {\n originTag: \"BETWEEN_1_MB_AND_10_MB\",\n displayTag: \"Between 1MB and 10MB\",\n },\n {\n originTag: \"BETWEEN_10_MB_AND_64_MB\",\n displayTag: \"Between 10MB and 64MB\",\n },\n {\n originTag: \"BETWEEN_64_MB_AND_128_MB\",\n displayTag: \"Between 64MB and 128MB\",\n },\n {\n originTag: \"BETWEEN_128_MB_AND_512_MB\",\n displayTag: \"Between 128MB and 512MB\",\n },\n {\n originTag: \"GREATER_THAN_512_MB\",\n displayTag: \"Greater than 512MB\",\n },\n ],\n type: widgetType.barChart,\n },\n {\n id: 66,\n title: \"Buckets\",\n data: [],\n innerLabel: \"N/A\",\n type: widgetType.singleRep,\n color: \"#0071BC\",\n fillColor: \"#ADD5E0\",\n },\n {\n id: 44,\n title: \"Objects\",\n data: [],\n innerLabel: \"N/A\",\n type: widgetType.singleRep,\n color: \"#0071BC\",\n fillColor: \"#ADD5E0\",\n },\n {\n id: 63,\n title: \"API Data Received Rate\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n yAxisFormatter: niceBytes,\n },\n {\n id: 61,\n title: \"Total Open FDs\",\n data: [],\n innerLabel: \"N/A\",\n type: widgetType.singleRep,\n color: \"#22B573\",\n fillColor: \"#A6E8C4\",\n },\n {\n id: 62,\n title: \"Total Goroutines\",\n data: [],\n innerLabel: \"N/A\",\n type: widgetType.singleRep,\n color: \"#F7655E\",\n fillColor: \"#F4CECE\",\n },\n {\n id: 77,\n title: \"Node CPU Usage\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n yAxisFormatter: roundNumber,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 60,\n title: \"API Request Rate\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 70,\n title: \"API Data Sent Rate\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n yAxisFormatter: niceBytes,\n },\n {\n id: 17,\n title: \"Internode Data Transfer\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n yAxisFormatter: niceBytes,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 73,\n title: \"Node IO\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n yAxisFormatter: niceBytes,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 80,\n title: \"Time Since Last Heal Activity\",\n data: \"N/A\",\n type: widgetType.simpleWidget,\n widgetIcon: ,\n labelDisplayFunction: niceDaysFromNS,\n },\n {\n id: 81,\n title: \"Time Since Last Scan Activity\",\n data: \"N/A\",\n type: widgetType.simpleWidget,\n widgetIcon: ,\n labelDisplayFunction: niceDaysFromNS,\n },\n {\n id: 71,\n title: \"API Request Error Rate\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 76,\n title: \"Node Memory Usage\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n yAxisFormatter: niceBytes,\n },\n {\n id: 74,\n title: \"Drive Used Capacity\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n xAxisFormatter: getTimeFromTimestamp,\n yAxisFormatter: niceBytes,\n },\n {\n id: 82,\n title: \"Drives Free Inodes\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n\n disableYAxis: true,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 11,\n title: \"Node Syscalls\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n yAxisFormatter: roundNumber,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 8,\n title: \"Node File Descriptors\",\n data: [],\n widgetConfiguration: [\n {\n dataKey: \"\",\n keyLabel: \"\",\n lineColor: \"#000\",\n fillColor: \"#000\",\n },\n ],\n type: widgetType.linearGraph,\n yAxisFormatter: roundNumber,\n xAxisFormatter: getTimeFromTimestamp,\n },\n {\n id: 500,\n mergedPanels: [\n {\n id: 53,\n title: \"Online\",\n data: \"N/A\",\n type: widgetType.singleValue,\n },\n {\n id: 69,\n title: \"Offline\",\n data: \"N/A\",\n type: widgetType.singleValue,\n },\n ],\n title: \"Servers\",\n },\n {\n id: 501,\n mergedPanels: [\n {\n id: 9,\n title: \"Online\",\n data: \"N/A\",\n type: widgetType.singleValue,\n },\n {\n id: 78,\n title: \"Offline\",\n data: \"N/A\",\n type: widgetType.singleValue,\n },\n ],\n title: \"Drives\",\n },\n {\n id: 502,\n mergedPanels: [\n {\n id: 65,\n title: \"Upload\",\n data: \"N/A\",\n type: widgetType.singleValue,\n\n labelDisplayFunction: niceBytes,\n },\n {\n id: 64,\n title: \"Download\",\n data: \"N/A\",\n type: widgetType.singleValue,\n\n labelDisplayFunction: niceBytes,\n },\n ],\n title: \"Network\",\n },\n];\n\nconst calculateMainValue = (elements: any[], metricCalc: string) => {\n if (elements.length === 0) {\n return [\"\", \"0\"];\n }\n\n switch (metricCalc) {\n case \"mean\":\n const sumValues = elements.reduce((accumulator, currValue) => {\n return accumulator + parseFloat(currValue[1]);\n }, 0);\n\n const mean = Math.floor(sumValues / elements.length);\n\n return [\"\", mean.toString()];\n default:\n const sortResult = elements.sort(\n (value1: any[], value2: any[]) => value1[0] - value2[0]\n );\n\n return sortResult[sortResult.length - 1];\n }\n};\n\nconst constructLabelNames = (metrics: any, legendFormat: string) => {\n const keysToReplace = Object.keys(metrics);\n const expToReplace = new RegExp(`{{(${keysToReplace.join(\"|\")})}}`, \"g\");\n\n let replacedLegend = legendFormat.replace(expToReplace, (matchItem) => {\n const nwMatchItem = matchItem.replace(/({{|}})/g, \"\");\n return metrics[nwMatchItem];\n });\n\n const countVarsOpen = (replacedLegend.match(/{{/g) || []).length;\n const countVarsClose = (replacedLegend.match(/}}/g) || []).length;\n\n let cleanLegend = replacedLegend.replace(/{{(.*?)}}/g, \"\");\n\n if (\n countVarsOpen === countVarsClose &&\n countVarsOpen !== 0 &&\n countVarsClose !== 0\n ) {\n keysToReplace.forEach((element) => {\n replacedLegend = replacedLegend.replace(element, metrics[element]);\n });\n\n cleanLegend = replacedLegend;\n }\n\n // In case not all the legends were replaced, we remove the placeholders.\n return cleanLegend;\n};\n\nexport const getWidgetsWithValue = (payload: any[]): IDashboardPanel[] => {\n return panelsConfiguration.map((panelItem: IDashboardPanel) => {\n const payloadData = payload.find(\n (panelT) =>\n panelT.title.toLowerCase().trim() ===\n panelItem.title.toLowerCase().trim()\n );\n return widgetDetailsToPanel(payloadData, panelItem);\n });\n};\n\nexport const widgetDetailsToPanel = (\n payloadData: any,\n panelItem: IDashboardPanel\n) => {\n if (!payloadData) {\n return panelItem;\n }\n\n const typeOfPayload = payloadData.type;\n\n switch (panelItem.type) {\n case widgetType.singleValue:\n case widgetType.simpleWidget:\n if (typeOfPayload === \"stat\" || typeOfPayload === \"singlestat\") {\n // We sort values & get the last value\n let elements = get(payloadData, \"targets[0].result[0].values\", []);\n\n if (elements === null) {\n elements = [];\n }\n\n const metricCalc = get(\n payloadData,\n \"options.reduceOptions.calcs[0]\",\n \"lastNotNull\"\n );\n\n const valueDisplay = calculateMainValue(elements, metricCalc);\n\n const data = panelItem.labelDisplayFunction\n ? panelItem.labelDisplayFunction(valueDisplay[1])\n : valueDisplay[1];\n\n return {\n ...panelItem,\n data,\n };\n }\n break;\n case widgetType.pieChart:\n if (typeOfPayload === \"gauge\") {\n let chartSeries = get(payloadData, \"targets[0].result\", []);\n\n if (chartSeries === null) {\n chartSeries = [];\n }\n\n const metricCalc = get(\n payloadData,\n \"options.reduceOptions.calcs[0]\",\n \"lastNotNull\"\n );\n\n const valuesArray = chartSeries.length > 0 ? chartSeries[0].values : [];\n\n const totalValues = calculateMainValue(valuesArray, metricCalc);\n\n const values = chartSeries.map((elementValue: any) => {\n const values = get(elementValue, \"values\", []);\n const metricKeyItem = Object.keys(elementValue.metric);\n\n const sortResult = values.sort(\n (value1: any[], value2: any[]) => value1[0] - value2[0]\n );\n\n const metricName = elementValue.metric[metricKeyItem[0]];\n const value = sortResult[sortResult.length - 1];\n return { name: metricName, value: parseInt(value) };\n });\n\n const innerLabel = panelItem.labelDisplayFunction\n ? panelItem.labelDisplayFunction(totalValues[1])\n : totalValues[1];\n\n return {\n ...panelItem,\n data: values,\n innerLabel,\n };\n }\n break;\n case widgetType.linearGraph:\n case widgetType.areaGraph:\n if (typeOfPayload === \"graph\") {\n let targets = get(payloadData, \"targets\", []);\n if (targets === null) {\n targets = [];\n }\n\n const series: any[] = [];\n const plotValues: any[] = [];\n\n targets.forEach(\n (\n targetMaster: { legendFormat: string; result: any[] },\n index: number\n ) => {\n // Add a new serie to plot variables in case it is not from multiple values\n let results = get(targetMaster, \"result\", []);\n const legendFormat = targetMaster.legendFormat;\n if (results === null) {\n results = [];\n }\n\n results.forEach((itemVals: { metric: object; values: any[] }) => {\n // Label Creation\n const labelName = constructLabelNames(\n itemVals.metric,\n legendFormat\n );\n const keyName = `key_${index}${labelName}`;\n\n // series creation with recently created label\n series.push({\n dataKey: keyName,\n keyLabel: labelName,\n lineColor: \"\",\n fillColor: \"\",\n });\n\n // we iterate over values and create elements\n let values = get(itemVals, \"values\", []);\n if (values === null) {\n values = [];\n }\n\n values.forEach((valInfo: any[]) => {\n const itemIndex = plotValues.findIndex(\n (element) => element.name === valInfo[0]\n );\n\n // Element not exists yet\n if (itemIndex === -1) {\n let itemToPush: any = { name: valInfo[0] };\n itemToPush[keyName] = valInfo[1];\n\n plotValues.push(itemToPush);\n } else {\n plotValues[itemIndex][keyName] = valInfo[1];\n }\n });\n });\n }\n );\n\n const sortedSeries = series.sort((series1: any, series2: any) => {\n if (series1.keyLabel < series2.keyLabel) {\n return -1;\n }\n if (series1.keyLabel > series2.keyLabel) {\n return 1;\n }\n return 0;\n });\n\n const seriesWithColors = sortedSeries.map(\n (serialC: any, index: number) => {\n return {\n ...serialC,\n lineColor: colorsMain[index] || textToRGBColor(serialC.keyLabel),\n fillColor: colorsMain[index] || textToRGBColor(serialC.keyLabel),\n };\n }\n );\n\n const sortedVals = plotValues.sort(\n (value1: any, value2: any) => value1.name - value2.name\n );\n\n return {\n ...panelItem,\n widgetConfiguration: seriesWithColors,\n data: sortedVals,\n };\n }\n break;\n case widgetType.barChart:\n if (typeOfPayload === \"bargauge\") {\n let chartBars = get(payloadData, \"targets[0].result\", []);\n\n if (chartBars === null) {\n chartBars = [];\n }\n\n const sortFunction = (value1: any[], value2: any[]) =>\n value1[0] - value2[0];\n\n let values = [];\n if (panelItem.customStructure) {\n values = panelItem.customStructure.map((structureItem) => {\n const metricTake = chartBars.find((element: any) => {\n const metricKeyItem = Object.keys(element.metric);\n\n const metricName = element.metric[metricKeyItem[0]];\n\n return metricName === structureItem.originTag;\n });\n\n const elements = get(metricTake, \"values\", []);\n\n const sortResult = elements.sort(sortFunction);\n const lastValue = sortResult[sortResult.length - 1] || [\"\", \"0\"];\n\n return {\n name: structureItem.displayTag,\n a: parseInt(lastValue[1]),\n };\n });\n } else {\n // If no configuration is set, we construct the series for bar chart and return the element\n values = chartBars.map((elementValue: any) => {\n const metricKeyItem = Object.keys(elementValue.metric);\n\n const metricName = elementValue.metric[metricKeyItem[0]];\n\n const elements = get(elementValue, \"values\", []);\n\n const sortResult = elements.sort(sortFunction);\n const lastValue = sortResult[sortResult.length - 1] || [\"\", \"0\"];\n return { name: metricName, a: parseInt(lastValue[1]) };\n });\n }\n\n return {\n ...panelItem,\n data: values,\n };\n }\n break;\n case widgetType.singleRep:\n if (typeOfPayload === \"stat\") {\n // We sort values & get the last value\n let elements = get(payloadData, \"targets[0].result[0].values\", []);\n if (elements === null) {\n elements = [];\n }\n const metricCalc = get(\n payloadData,\n \"options.reduceOptions.calcs[0]\",\n \"lastNotNull\"\n );\n\n const valueDisplay = calculateMainValue(elements, metricCalc);\n\n const sortResult = elements.sort(\n (value1: any[], value2: any[]) => value1[0] - value2[0]\n );\n\n let valuesForBackground = [];\n\n if (sortResult.length === 1) {\n valuesForBackground.push({ value: 0 });\n }\n\n sortResult.forEach((eachVal: any) => {\n valuesForBackground.push({ value: parseInt(eachVal[1]) });\n });\n\n const innerLabel = panelItem.labelDisplayFunction\n ? panelItem.labelDisplayFunction(valueDisplay[1])\n : valueDisplay[1];\n\n return {\n ...panelItem,\n data: valuesForBackground,\n innerLabel,\n };\n }\n break;\n }\n\n return panelItem;\n};\n\nconst verifyNumeric = (item: string) => {\n return !isNaN(parseFloat(item));\n};\n\nexport const splitSizeMetric = (val: string) => {\n const splittedText = val.split(\" \");\n // Value is not a size metric, we return as common string\n\n const singleValue = () => {\n let vl = val;\n\n if (verifyNumeric(val)) {\n vl = representationNumber(parseFloat(val));\n }\n return {vl};\n };\n\n if (splittedText.length !== 2) {\n return singleValue();\n }\n\n if (!units.includes(splittedText[1])) {\n return singleValue();\n }\n\n return (\n \n {splittedText[0]}\n {splittedText[1]}\n \n );\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport Tabs from \"@mui/material/Tabs\";\nimport Tab from \"@mui/material/Tab\";\nimport { ITabOption } from \"./types\";\n\ninterface ITabSelector {\n selectedTab: number;\n onChange: (newValue: number) => void;\n tabOptions: ITabOption[];\n}\n\nconst tabSubStyles = makeStyles({\n root: {\n backgroundColor: \"transparent\",\n paddingTop: 0,\n paddingBottom: 0,\n fontSize: 22,\n textTransform: \"uppercase\",\n color: \"#D0D0D0\",\n },\n selected: { \"& .MuiTab-wrapper\": { color: \"#07193E\", fontWeight: \"bold\" } },\n indicator: {\n background:\n \"transparent linear-gradient(90deg, #072B4E 0%, #081C42 100%) 0% 0% no-repeat padding-box;\",\n height: 4,\n },\n scroller: {\n maxWidth: 1185,\n position: \"relative\",\n \"&::after\": {\n content: '\" \"',\n backgroundColor: \"#EEF1F4\",\n height: 4,\n width: \"100%\",\n display: \"block\",\n },\n },\n});\n\nconst TabSelector = ({ selectedTab, onChange, tabOptions }: ITabSelector) => {\n const subStyles = tabSubStyles();\n\n return (\n \n , newValue: number) => {\n onChange(newValue);\n }}\n classes={{\n indicator: subStyles.indicator,\n scroller: subStyles.scroller,\n }}\n >\n {tabOptions.map((option, index) => {\n let tabOptions: ITabOption = {\n label: option.label,\n };\n\n if (option.value) {\n tabOptions = { ...tabOptions, value: option.value };\n }\n\n if (option.disabled) {\n tabOptions = { ...tabOptions, disabled: option.disabled };\n }\n\n return (\n \n );\n })}\n \n \n );\n};\n\nexport default TabSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Card, CardHeader } from \"@mui/material\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport React, { Fragment } from \"react\";\nimport { widgetCommon } from \"../Common/FormComponents/common/styleLibrary\";\n\nexport interface ISubInterface {\n message: string;\n fontWeight?: \"normal\" | \"bold\";\n}\n\ninterface ICommonCard {\n title: string;\n metricValue: any;\n metricUnit?: string;\n subMessage?: ISubInterface;\n moreLink?: string;\n rightComponent?: any;\n extraMargin?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n cardRoot: {\n ...widgetCommon.singleValueContainer,\n \"&.MuiPaper-root\": {\n borderRadius: 10,\n },\n },\n metricText: {\n fontSize: 70,\n lineHeight: 1.1,\n color: \"#07193E\",\n fontWeight: \"bold\",\n },\n unitText: {\n fontSize: 10,\n color: \"#767676\",\n fontWeight: \"normal\",\n },\n subHearderContainer: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n subMessage: {\n fontSize: 10,\n color: \"#767676\",\n \"&.bold\": {\n fontWeight: \"bold\",\n },\n },\n headerContainer: {\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n viewAll: {\n fontSize: 10,\n color: \"#C83B51\",\n textTransform: \"capitalize\",\n\n \"& a, & a:hover, & a:visited, & a:active\": {\n color: \"#C83B51\",\n },\n },\n extraMargin: {\n margin: \"10px 20px 10px 0\",\n },\n });\n\nconst cardSubStyles = makeStyles({\n root: { backgroundColor: \"#fff\", padding: 0 },\n title: {\n ...widgetCommon.titleContainer,\n },\n content: {\n maxWidth: \"100%\",\n },\n});\n\nconst CommonCard = ({\n title,\n metricValue,\n metricUnit,\n subMessage,\n moreLink,\n rightComponent,\n extraMargin = false,\n classes,\n}: ICommonCard) => {\n const subStyles = cardSubStyles();\n const SubHeader = () => {\n return (\n \n
    \n
    \n
    \n \n {metricValue}\n {metricUnit}\n \n
    \n {subMessage && (\n \n {subMessage.message}\n
    \n )}\n
    \n
    {rightComponent}
    \n \n
    \n );\n };\n\n const Header = () => {\n return (\n \n
    \n {title}\n {moreLink && (\n \n \n View All\n \n \n )}\n
    \n
    \n );\n };\n\n return (\n \n \n {metricValue !== \"\" && (\n }\n subheader={\n \n \n \n }\n classes={{\n root: subStyles.root,\n title: subStyles.title,\n content: subStyles.content,\n }}\n />\n )}\n \n \n );\n};\n\nexport default withStyles(styles)(CommonCard);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport CommonCard from \"../CommonCard\";\n\ninterface IMergedWidgets {\n title: string;\n leftComponent: any;\n rightComponent: any;\n}\n\nconst MergedWidgets = ({\n title,\n leftComponent,\n rightComponent,\n}: IMergedWidgets) => {\n return (\n \n \n \n );\n};\n\nexport default MergedWidgets;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { tooltipCommon } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tooltipCommon,\n });\n\nconst BarChartTooltip = ({\n active,\n payload,\n label,\n barChartConfiguration,\n classes,\n}: any) => {\n if (active) {\n return (\n
    \n
    {label}
    \n {payload &&\n payload.map((pl: any, index: number) => {\n return (\n \n \n
    \n {pl.value}\n
    \n
    \n );\n })}\n \n );\n }\n\n return null;\n};\n\nexport default withStyles(styles)(BarChartTooltip);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n Bar,\n BarChart,\n Cell,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ZoomOutMapIcon from \"@mui/icons-material/ZoomOutMap\";\nimport { IBarChartConfiguration } from \"./types\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport BarChartTooltip from \"./tooltips/BarChartTooltip\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { IDashboardPanel } from \"../types\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport api from \"../../../../../common/api\";\nimport { openZoomPage } from \"../../actions\";\nimport { useTheme } from \"@mui/styles\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ninterface IBarChartWidget {\n classes: any;\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n apiPrefix: string;\n zoomActivated?: boolean;\n openZoomPage: typeof openZoomPage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n loadingAlign: {\n width: \"100%\",\n paddingTop: \"15px\",\n textAlign: \"center\",\n margin: \"auto\",\n },\n });\n\nconst CustomizedAxisTick = ({ y, payload }: any) => {\n return (\n \n {payload.value}\n \n );\n};\n\nconst BarChartWidget = ({\n classes,\n title,\n panelItem,\n timeStart,\n timeEnd,\n propLoading,\n displayErrorMessage,\n apiPrefix,\n zoomActivated = false,\n openZoomPage,\n}: IBarChartWidget) => {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState([]);\n const [result, setResult] = useState(null);\n\n useEffect(() => {\n if (propLoading) {\n setLoading(true);\n }\n }, [propLoading]);\n\n useEffect(() => {\n if (loading) {\n let stepCalc = 0;\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod = timeEnd.unix() - timeStart.unix();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info/widgets/${\n panelItem.id\n }/?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.unix()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.unix()}` : \"\"\n }`\n )\n .then((res: any) => {\n const widgetsWithValue = widgetDetailsToPanel(res, panelItem);\n setData(widgetsWithValue.data);\n setResult(widgetsWithValue);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }\n }, [loading, panelItem, timeEnd, timeStart, displayErrorMessage, apiPrefix]);\n\n const barChartConfiguration = result\n ? (result.widgetConfiguration as IBarChartConfiguration[])\n : [];\n\n let greatestIndex = 0;\n let currentValue = 0;\n\n if (barChartConfiguration.length === 1) {\n const dataGraph = barChartConfiguration[0];\n data.forEach((item: any, index: number) => {\n if (item[dataGraph.dataKey] > currentValue) {\n currentValue = item[dataGraph.dataKey];\n greatestIndex = index;\n }\n });\n }\n\n const theme = useTheme();\n const biggerThanMd = useMediaQuery(theme.breakpoints.up(\"md\"));\n\n return (\n
    \n {!zoomActivated && (\n
    \n {title}{\" \"}\n {\n openZoomPage(panelItem);\n }}\n className={classes.zoomChartIcon}\n >\n \n \n
    \n )}\n {loading && (\n
    \n \n
    \n )}\n {!loading && (\n \n \n \n \n }\n tickLine={false}\n axisLine={false}\n width={150}\n hide={!biggerThanMd}\n />\n {barChartConfiguration.map((bar) => (\n \n {barChartConfiguration.length === 1 ? (\n \n {data.map((_: any, index: number) => (\n \n ))}\n \n ) : null}\n \n ))}\n \n }\n />\n \n \n
    \n )}\n \n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n openZoomPage: openZoomPage,\n});\n\nexport default withStyles(styles)(connector(BarChartWidget));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { getTimeFromTimestamp } from \"../../../../../../common/utils\";\nimport { tooltipCommon } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tooltipCommon,\n });\n\nconst LineChartTooltip = ({\n active,\n payload,\n label,\n linearConfiguration,\n yAxisFormatter,\n classes,\n}: any) => {\n if (active) {\n return (\n
    \n
    \n {getTimeFromTimestamp(label, true)}\n
    \n {payload &&\n payload.map((pl: any, index: number) => {\n return (\n \n \n
    \n \n {linearConfiguration[index].keyLabel}:{\" \"}\n {yAxisFormatter(pl.value)}\n \n
    \n
    \n );\n })}\n \n );\n }\n\n return null;\n};\n\nexport default withStyles(styles)(LineChartTooltip);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n Area,\n AreaChart,\n CartesianGrid,\n ResponsiveContainer,\n Tooltip,\n XAxis,\n YAxis,\n} from \"recharts\";\nimport { useMediaQuery } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ZoomOutMapIcon from \"@mui/icons-material/ZoomOutMap\";\nimport { ILinearGraphConfiguration } from \"./types\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { IDashboardPanel } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport api from \"../../../../../common/api\";\nimport LineChartTooltip from \"./tooltips/LineChartTooltip\";\nimport { openZoomPage } from \"../../actions\";\nimport { useTheme } from \"@mui/styles\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ninterface ILinearGraphWidget {\n classes: any;\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n apiPrefix: string;\n hideYAxis?: boolean;\n yAxisFormatter?: (item: string) => string;\n xAxisFormatter?: (item: string) => string;\n areaWidget?: boolean;\n zoomActivated?: boolean;\n openZoomPage: typeof openZoomPage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n containerElements: {\n display: \"flex\",\n flexDirection: \"row\",\n height: \"100%\",\n flexGrow: 1,\n },\n verticalAlignment: {\n flexDirection: \"column\",\n },\n chartCont: {\n position: \"relative\",\n height: 140,\n width: \"100%\",\n },\n legendChart: {\n display: \"flex\",\n flexDirection: \"column\",\n flex: \"0 1 auto\",\n maxHeight: 130,\n margin: 0,\n overflowY: \"auto\",\n position: \"relative\",\n textAlign: \"center\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n color: \"#404143\",\n fontWeight: \"bold\",\n fontSize: 12,\n },\n loadingAlign: {\n margin: \"auto\",\n },\n });\n\nconst LinearGraphWidget = ({\n classes,\n title,\n displayErrorMessage,\n timeStart,\n timeEnd,\n propLoading,\n panelItem,\n apiPrefix,\n hideYAxis = false,\n areaWidget = false,\n yAxisFormatter = (item: string) => item,\n xAxisFormatter = (item: string) => item,\n zoomActivated = false,\n openZoomPage,\n}: ILinearGraphWidget) => {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState([]);\n const [dataMax, setDataMax] = useState(0);\n const [result, setResult] = useState(null);\n\n useEffect(() => {\n if (propLoading) {\n setLoading(true);\n }\n }, [propLoading]);\n\n useEffect(() => {\n if (loading) {\n let stepCalc = 0;\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod = timeEnd.unix() - timeStart.unix();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info/widgets/${\n panelItem.id\n }/?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.unix()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.unix()}` : \"\"\n }`\n )\n .then((res: any) => {\n const widgetsWithValue = widgetDetailsToPanel(res, panelItem);\n setData(widgetsWithValue.data);\n setResult(widgetsWithValue);\n setLoading(false);\n let maxVal = 0;\n for (const dp of widgetsWithValue.data) {\n for (const key in dp) {\n if (key === \"name\") {\n continue;\n }\n let val = parseInt(dp[key]);\n\n if (isNaN(val)) {\n val = 0;\n }\n\n if (maxVal < val) {\n maxVal = val;\n }\n }\n }\n setDataMax(maxVal);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }\n }, [loading, panelItem, timeEnd, timeStart, displayErrorMessage, apiPrefix]);\n\n let intervalCount = Math.floor(data.length / 5);\n\n const linearConfiguration = result\n ? (result?.widgetConfiguration as ILinearGraphConfiguration[])\n : [];\n\n const CustomizedDot = (prop: any) => {\n const { cx, cy, index } = prop;\n\n if (index % 3 !== 0) {\n return null;\n }\n return ;\n };\n\n const theme = useTheme();\n const biggerThanMd = useMediaQuery(theme.breakpoints.up(\"md\"));\n\n return (\n
    \n {!zoomActivated && (\n
    \n {title}{\" \"}\n {\n openZoomPage(panelItem);\n }}\n className={classes.zoomChartIcon}\n >\n \n \n
    \n )}\n \n {loading && }\n {!loading && (\n \n \n \n \n {areaWidget && (\n \n \n \n \n \n \n )}\n \n xAxisFormatter(value)}\n interval={intervalCount}\n tick={{\n fontSize: \"70%\",\n fontWeight: \"bold\",\n color: \"#404143\",\n }}\n tickCount={10}\n stroke={\"#082045\"}\n />\n yAxisFormatter(value)}\n tick={{\n fontSize: \"70%\",\n fontWeight: \"bold\",\n color: \"#404143\",\n }}\n stroke={\"#082045\"}\n />\n {linearConfiguration.map((section, index) => {\n return (\n : false}\n />\n );\n })}\n \n }\n wrapperStyle={{\n zIndex: 5000,\n }}\n />\n \n \n
    \n {!areaWidget && (\n \n {zoomActivated && (\n \n Series\n
    \n
    \n
    \n )}\n {biggerThanMd && (\n
    \n {linearConfiguration.map((section, index) => {\n return (\n \n \n
    \n {section.keyLabel}\n
    \n
    \n );\n })}\n \n )}\n
    \n )}\n \n )}\n \n \n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n openZoomPage: openZoomPage,\n});\n\nexport default withStyles(styles)(connector(LinearGraphWidget));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Cell, Pie, PieChart, ResponsiveContainer } from \"recharts\";\nimport { IPieChartConfiguration } from \"./types\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { IDashboardPanel } from \"../types\";\nimport { splitSizeMetric, widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport get from \"lodash/get\";\nimport api from \"../../../../../common/api\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ninterface IPieChartWidget {\n classes: any;\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n apiPrefix: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n loadingAlign: {\n width: \"100%\",\n paddingTop: \"15px\",\n textAlign: \"center\",\n margin: \"auto\",\n },\n pieChartLabel: {\n fontSize: 60,\n color: \"#07193E\",\n fontWeight: \"bold\",\n width: \"100%\",\n \"& .unitText\": {\n color: \"#767676\",\n fontSize: 12,\n },\n },\n chartContainer: {\n width: \"100%\",\n height: 140,\n },\n });\n\nconst PieChartWidget = ({\n classes,\n title,\n panelItem,\n timeStart,\n timeEnd,\n propLoading,\n displayErrorMessage,\n apiPrefix,\n}: IPieChartWidget) => {\n const [loading, setLoading] = useState(true);\n const [dataInner, setDataInner] = useState([]);\n const [dataOuter, setDataOuter] = useState([]);\n const [result, setResult] = useState(null);\n\n useEffect(() => {\n if (propLoading) {\n setLoading(true);\n }\n }, [propLoading]);\n\n useEffect(() => {\n if (loading) {\n let stepCalc = 0;\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod = timeEnd.unix() - timeStart.unix();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info/widgets/${\n panelItem.id\n }/?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.unix()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.unix()}` : \"\"\n }`\n )\n .then((res: any) => {\n const widgetsWithValue = widgetDetailsToPanel(res, panelItem);\n setDataInner(widgetsWithValue.data);\n setDataOuter(widgetsWithValue.dataOuter as object[]);\n setResult(widgetsWithValue);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }\n }, [loading, panelItem, timeEnd, timeStart, displayErrorMessage, apiPrefix]);\n\n const pieChartConfiguration = result\n ? (result.widgetConfiguration as IPieChartConfiguration)\n : [];\n const middleLabel = result?.innerLabel;\n\n const innerColors = get(pieChartConfiguration, \"innerChart.colorList\", []);\n const outerColors = get(pieChartConfiguration, \"outerChart.colorList\", []);\n\n return (\n
    \n
    {title}
    \n {loading && (\n
    \n \n
    \n )}\n {!loading && (\n
    \n \n {middleLabel && splitSizeMetric(middleLabel)}\n \n
    \n \n \n {dataOuter && (\n \n {dataOuter.map((entry, index) => (\n \n ))}\n \n )}\n {dataInner && (\n \n {dataInner.map((entry, index) => {\n return (\n \n );\n })}\n \n )}\n \n \n
    \n
    \n )}\n
    \n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PieChartWidget));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../../common/api\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { IDashboardPanel } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ninterface ISimpleWidget {\n classes: any;\n iconWidget: any;\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n apiPrefix: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n mainWidgetContainer: {\n display: \"inline-flex\",\n color: \"#072A4D\",\n alignItems: \"center\",\n },\n icon: {\n color: \"#072A4D\",\n fill: \"#072A4D\",\n marginRight: 5,\n marginLeft: 12,\n },\n widgetLabel: {\n fontWeight: \"bold\",\n textTransform: \"uppercase\",\n marginRight: 10,\n },\n widgetValue: {\n marginRight: 25,\n },\n });\n\nconst SimpleWidget = ({\n classes,\n iconWidget,\n title,\n panelItem,\n timeStart,\n timeEnd,\n propLoading,\n displayErrorMessage,\n apiPrefix,\n}: ISimpleWidget) => {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState(\"\");\n\n useEffect(() => {\n if (propLoading) {\n setLoading(true);\n }\n }, [propLoading]);\n\n useEffect(() => {\n if (loading) {\n let stepCalc = 0;\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod = timeEnd.unix() - timeStart.unix();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info/widgets/${\n panelItem.id\n }/?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.unix()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.unix()}` : \"\"\n }`\n )\n .then((res: any) => {\n const widgetsWithValue = widgetDetailsToPanel(res, panelItem);\n setData(widgetsWithValue.data);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }\n }, [loading, panelItem, timeEnd, timeStart, displayErrorMessage, apiPrefix]);\n\n return (\n \n {loading && (\n
    \n \n
    \n )}\n {!loading && (\n \n {iconWidget ? iconWidget : null}\n {title}: \n {data}\n \n )}\n
    \n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SimpleWidget));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { Area, AreaChart, ResponsiveContainer, YAxis } from \"recharts\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { IDataSRep } from \"./types\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { IDashboardPanel } from \"../types\";\nimport { widgetDetailsToPanel } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\nimport { representationNumber } from \"../../../../../common/utils\";\nimport api from \"../../../../../common/api\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ninterface ISingleRepWidget {\n classes: any;\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n color: string;\n fillColor: string;\n apiPrefix: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n loadingAlign: {\n width: \"100%\",\n paddingTop: \"5px\",\n textAlign: \"center\",\n margin: \"auto\",\n },\n });\n\nconst SingleRepWidget = ({\n classes,\n title,\n panelItem,\n timeStart,\n timeEnd,\n propLoading,\n displayErrorMessage,\n color,\n fillColor,\n apiPrefix,\n}: ISingleRepWidget) => {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState([]);\n const [result, setResult] = useState(null);\n\n useEffect(() => {\n if (propLoading) {\n setLoading(true);\n }\n }, [propLoading]);\n\n useEffect(() => {\n if (loading) {\n let stepCalc = 0;\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod = timeEnd.unix() - timeStart.unix();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info/widgets/${\n panelItem.id\n }/?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.unix()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.unix()}` : \"\"\n }`\n )\n .then((res: any) => {\n const widgetsWithValue = widgetDetailsToPanel(res, panelItem);\n setResult(widgetsWithValue);\n setData(widgetsWithValue.data);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }\n }, [loading, panelItem, timeEnd, timeStart, displayErrorMessage, apiPrefix]);\n const gradientID = `colorGradient-${title.split(\" \").join(\"-\")}`;\n\n let repNumber = \"\";\n\n if (result) {\n const resultRep = parseInt(result.innerLabel || \"0\");\n\n if (!isNaN(resultRep)) {\n repNumber = representationNumber(resultRep);\n } else {\n repNumber = \"0\";\n }\n }\n\n return (\n
    \n
    {title}
    \n {loading && (\n
    \n \n
    \n )}\n {!loading && (\n
    \n \n \n \n \n \n \n \n \n dataMax * 2]}\n hide={true}\n />\n \n \n {result ? repNumber : \"\"}\n \n \n \n
    \n )}\n
    \n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SingleRepWidget));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../../common/api\";\nimport Loader from \"../../../Common/Loader/Loader\";\nimport { widgetCommon } from \"../../../Common/FormComponents/common/styleLibrary\";\nimport { splitSizeMetric, widgetDetailsToPanel } from \"../utils\";\nimport { IDashboardPanel } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../common/types\";\n\ninterface ISingleValueWidget {\n title: string;\n panelItem: IDashboardPanel;\n timeStart: any;\n timeEnd: any;\n propLoading: boolean;\n displayErrorMessage: any;\n classes: any;\n apiPrefix: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...widgetCommon,\n loadingAlign: {\n width: \"100%\",\n textAlign: \"center\",\n margin: \"auto\",\n },\n metric: {\n fontSize: 60,\n lineHeight: 1,\n color: \"#07193E\",\n fontWeight: 700,\n },\n titleElement: {\n fontSize: 10,\n color: \"#767676\",\n fontWeight: 700,\n },\n containerAlignment: {\n display: \"flex\",\n height: 140,\n flexDirection: \"column\",\n justifyContent: \"center\",\n \"& .unitText\": {\n color: \"#767676\",\n fontSize: 12,\n },\n },\n });\n\nconst SingleValueWidget = ({\n title,\n panelItem,\n timeStart,\n timeEnd,\n propLoading,\n displayErrorMessage,\n classes,\n apiPrefix,\n}: ISingleValueWidget) => {\n const [loading, setLoading] = useState(true);\n const [data, setData] = useState(\"\");\n\n useEffect(() => {\n if (propLoading) {\n setLoading(true);\n }\n }, [propLoading]);\n\n useEffect(() => {\n if (loading) {\n let stepCalc = 0;\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod = timeEnd.unix() - timeStart.unix();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info/widgets/${\n panelItem.id\n }/?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.unix()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.unix()}` : \"\"\n }`\n )\n .then((res: any) => {\n const widgetsWithValue = widgetDetailsToPanel(res, panelItem);\n setData(widgetsWithValue.data);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }\n }, [loading, panelItem, timeEnd, timeStart, displayErrorMessage, apiPrefix]);\n return (\n
    \n {loading && (\n
    \n \n
    \n )}\n {!loading && (\n \n
    {splitSizeMetric(data)}
    \n
    {title}
    \n
    \n )}\n
    \n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SingleValueWidget));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { IDashboardPanel, widgetType } from \"./types\";\nimport BarChartWidget from \"./Widgets/BarChartWidget\";\nimport LinearGraphWidget from \"./Widgets/LinearGraphWidget\";\nimport PieChartWidget from \"./Widgets/PieChartWidget\";\nimport SimpleWidget from \"./Widgets/SimpleWidget\";\nimport SingleRepWidget from \"./Widgets/SingleRepWidget\";\nimport SingleValueWidget from \"./Widgets/SingleValueWidget\";\n\nexport const componentToUse = (\n value: IDashboardPanel,\n timeStart: any,\n timeEnd: any,\n loading: boolean,\n apiPrefix: string,\n zoomActivated: boolean = false\n) => {\n switch (value.type) {\n case widgetType.singleValue:\n return (\n \n );\n case widgetType.simpleWidget:\n return (\n \n );\n case widgetType.pieChart:\n return (\n \n );\n case widgetType.linearGraph:\n case widgetType.areaGraph:\n return (\n \n );\n case widgetType.barChart:\n return (\n \n );\n case widgetType.singleRep:\n const fillColor = value.fillColor ? value.fillColor : value.color;\n return (\n \n );\n default:\n return null;\n }\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { IDashboardPanel } from \"./types\";\nimport { componentToUse } from \"./widgetUtils\";\nimport { closeZoomPage } from \"../actions\";\n\ninterface IZoomWidget {\n widgetRender: number;\n value: IDashboardPanel | null;\n modalOpen: boolean;\n timeStart: any;\n timeEnd: any;\n apiPrefix: string;\n onCloseAction: typeof closeZoomPage;\n}\nconst ZoomWidget = ({\n value,\n modalOpen,\n timeStart,\n timeEnd,\n apiPrefix,\n onCloseAction,\n}: IZoomWidget) => {\n if (!value) {\n return null;\n }\n\n return (\n {\n onCloseAction();\n }}\n modalOpen={modalOpen}\n wideLimit={false}\n noContentPadding\n >\n \n {componentToUse(value, timeStart, timeEnd, true, apiPrefix, true)}\n \n \n );\n};\n\nconst connector = connect(null, {\n onCloseAction: closeZoomPage,\n});\n\nexport default connector(ZoomWidget);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { GridSize, useMediaQuery } from \"@mui/material\";\nimport {\n actionsTray,\n widgetContainerCommon,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { IDashboardPanel } from \"./types\";\nimport { getWidgetsWithValue, panelsConfiguration } from \"./utils\";\nimport { TabPanel } from \"../../../shared/tabs\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport api from \"../../../../common/api\";\n\nimport TabSelector from \"../../Common/TabSelector/TabSelector\";\nimport MergedWidgets from \"./MergedWidgets\";\nimport { componentToUse } from \"./widgetUtils\";\nimport ZoomWidget from \"./ZoomWidget\";\nimport { AppState } from \"../../../../store\";\nimport DateRangeSelector from \"../../Common/FormComponents/DateRangeSelector/DateRangeSelector\";\nimport { useTheme } from \"@mui/styles\";\n\ninterface IPrDashboard {\n classes: any;\n displayErrorMessage: typeof setErrorSnackMessage;\n apiPrefix?: string;\n zoomOpen: boolean;\n zoomWidget: null | IDashboardPanel;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...widgetContainerCommon,\n dashboardRow: {\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: \"flex-start\",\n flexWrap: \"wrap\",\n maxWidth: 1180,\n },\n });\n\nconst PrDashboard = ({\n classes,\n displayErrorMessage,\n apiPrefix = \"admin\",\n zoomOpen,\n zoomWidget,\n}: IPrDashboard) => {\n const [timeStart, setTimeStart] = useState(null);\n const [timeEnd, setTimeEnd] = useState(null);\n const [loading, setLoading] = useState(true);\n const [panelInformation, setPanelInformation] =\n useState(panelsConfiguration);\n const [curTab, setCurTab] = useState(0);\n\n const theme = useTheme();\n const biggerThanMd = useMediaQuery(theme.breakpoints.up(\"md\"));\n\n const panels = useCallback(\n (tabName: string, filterPanels?: number[][] | null) => {\n return filterPanels?.map((panelLine, indexLine) => {\n const totalPanelsContained = panelLine.length;\n\n let perc = Math.floor(12 / totalPanelsContained);\n\n if (!biggerThanMd && totalPanelsContained >= 4) {\n perc = 6;\n } else if (!biggerThanMd && totalPanelsContained >= 3) {\n perc = 12;\n }\n\n if (perc < 1) {\n perc = 1;\n } else if (perc > 12) {\n perc = 12;\n }\n\n return (\n \n {panelLine.map((panelInline, indexPanel) => {\n const panelInfo = panelInformation.find(\n (panel) => panel.id === panelInline\n );\n\n return (\n \n \n {panelInfo ? (\n \n {panelInfo.mergedPanels ? (\n \n \n \n ) : (\n componentToUse(\n panelInfo,\n timeStart,\n timeEnd,\n loading,\n apiPrefix\n )\n )}\n \n ) : null}\n \n \n );\n })}\n \n );\n });\n },\n [\n timeStart,\n timeEnd,\n loading,\n apiPrefix,\n classes.dashboardRow,\n classes.widgetPanelDelimiter,\n panelInformation,\n biggerThanMd,\n ]\n );\n\n const fetchUsage = useCallback(() => {\n let stepCalc = 0;\n\n if (timeStart !== null && timeEnd !== null) {\n const secondsInPeriod = timeEnd.unix() - timeStart.unix();\n const periods = Math.floor(secondsInPeriod / 60);\n\n stepCalc = periods < 1 ? 15 : periods;\n }\n\n api\n .invoke(\n \"GET\",\n `/api/v1/${apiPrefix}/info?step=${stepCalc}&${\n timeStart !== null ? `&start=${timeStart.unix()}` : \"\"\n }${timeStart !== null && timeEnd !== null ? \"&\" : \"\"}${\n timeEnd !== null ? `end=${timeEnd.unix()}` : \"\"\n }`\n )\n .then((res: any) => {\n if (res.widgets) {\n const widgetsWithValue = getWidgetsWithValue(res.widgets);\n setPanelInformation(widgetsWithValue);\n } else {\n displayErrorMessage({\n errorMessage:\n \"Widget information could not be retrieved at this time. Please try again\",\n detailedError: \"\",\n });\n }\n\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }, [timeStart, timeEnd, displayErrorMessage, apiPrefix]);\n\n const triggerLoad = () => {\n setLoading(true);\n };\n\n useEffect(() => {\n if (loading) {\n fetchUsage();\n }\n }, [loading, fetchUsage]);\n\n const summaryPanels = [\n [66, 44, 500, 501],\n [80, 81, 1],\n [68, 52],\n [63, 70],\n ];\n\n if (biggerThanMd) {\n summaryPanels.splice(1, 0, [50, 502]);\n } else {\n summaryPanels.splice(1, 0, [50]);\n summaryPanels.splice(1, 0, [502]);\n }\n\n const resourcesPanels = [\n [76, 77],\n [11, 8],\n [82, 74],\n ];\n const requestsPanels = [[60], [71, 17], [73]];\n\n return (\n \n {zoomOpen && (\n \n )}\n \n \n {\n setCurTab(newValue);\n }}\n tabOptions={[\n { label: \"Usage\" },\n { label: \"Traffic\" },\n { label: \"Resources\" },\n ]}\n />\n \n \n \n {panels(\"Summary\", summaryPanels)}\n \n \n {panels(\"Traffic\", requestsPanels)}\n \n \n {panels(\"Resources\", resourcesPanels)}\n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n zoomOpen: state.dashboard.zoom.openZoom,\n zoomWidget: state.dashboard.zoom.widgetRender,\n});\n\nconst connector = connect(mapState, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(PrDashboard));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { CircleIcon } from \"../../../../icons\";\n\nexport const StatusCountCard = ({\n onlineCount = 0,\n offlineCount = 0,\n icon = null,\n label = \"\",\n}: {\n icon: any;\n onlineCount: number;\n offlineCount: number;\n label: string;\n}) => {\n return (\n \n \n \n \n {label}\n \n\n \n \n \n
    Online
    \n
    \n {onlineCount}\n \n\n \n \n
    Offline
    \n
    \n {offlineCount}\n \n \n \n \n {icon}\n \n \n \n );\n};\n\nexport default StatusCountCard;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const STATUS_COLORS = {\n RED: \"#C83B51\",\n GREEN: \"#4CCB92\",\n YELLOW: \"#E7A219\",\n};\n\nexport const getDriveStatusColor = (\n activeDisks: number,\n totalDrives: number\n) => {\n if (activeDisks <= totalDrives / 2) {\n return STATUS_COLORS.RED;\n }\n if (totalDrives !== 2 && activeDisks === totalDrives / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeDisks === totalDrives) {\n return STATUS_COLORS.GREEN;\n }\n};\n\nexport const serverStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"online\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\nexport const getNetworkStatusColor = (\n activeNetwork: number,\n networkTotal: number\n) => {\n if (activeNetwork <= networkTotal / 2) {\n return STATUS_COLORS.RED;\n }\n if (activeNetwork === networkTotal / 2 + 1) {\n return STATUS_COLORS.YELLOW;\n }\n if (activeNetwork === networkTotal) {\n return STATUS_COLORS.GREEN;\n }\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { ServerInfo } from \"../types\";\nimport { niceDays } from \"../../../../common/utils\";\nimport { Box } from \"@mui/material\";\nimport {\n CircleIcon,\n DrivesIcon,\n UptimeIcon,\n VersionIcon,\n WarpIcon,\n} from \"../../../../icons\";\nimport get from \"lodash/get\";\nimport { commonDashboardInfocard } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n getDriveStatusColor,\n getNetworkStatusColor,\n serverStatusColor,\n} from \"./Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...commonDashboardInfocard,\n });\n\ninterface ICardProps {\n classes?: any;\n server: ServerInfo;\n index: number;\n}\n\nconst ServerStatItem = ({\n label = \"\",\n value = \"\",\n statusColor = \"\",\n hasStatus = false,\n icon = null,\n}: {\n label?: string;\n value?: any;\n hasStatus?: boolean;\n statusColor: string | undefined;\n icon?: any;\n}) => {\n return (\n \n \n {icon}\n {hasStatus ? (\n \n \n \n ) : (\n \n )}\n \n \n
    {label}
    \n
    {value}
    \n \n \n );\n};\n\nconst ServerInfoItem = ({ classes = {}, server, index }: ICardProps) => {\n const networkKeys = Object.keys(get(server, \"network\", {}));\n const networkTotal = networkKeys.length;\n const totalDrives = server.drives ? server.drives.length : 0;\n const activeNetwork = networkKeys.reduce((acc: number, currValue: string) => {\n const item = server.network[currValue];\n if (item === \"online\") {\n return acc + 1;\n }\n return acc;\n }, 0);\n const activeDisks = server.drives\n ? server.drives.filter((element) => element.state === \"ok\").length\n : 0;\n return (\n \n \n {server?.state && (\n \n \n \n )}\n \n {server.endpoint || \"\"}\n \n \n \n }\n hasStatus={true}\n value={`${activeDisks}/${totalDrives}`}\n />\n }\n hasStatus={true}\n value={`${activeNetwork}/${networkTotal}`}\n />\n\n }\n value={server?.uptime ? niceDays(server.uptime) : \"N/A\"}\n />\n\n }\n value={\n \n {server.version ? server.version : \"N/A\"}\n \n }\n />\n \n \n );\n};\nexport default withStyles(styles)(ServerInfoItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IDriveInfo } from \"../types\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport { Box } from \"@mui/material\";\nimport { CircleIcon, DrivesIcon } from \"../../../../icons\";\nimport { commonDashboardInfocard } from \"../../Common/FormComponents/common/styleLibrary\";\nimport { STATUS_COLORS } from \"./Utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...commonDashboardInfocard,\n });\n\ninterface ICardProps {\n classes?: any;\n drive: IDriveInfo;\n}\n\nconst driveStatusColor = (health_status: string) => {\n switch (health_status) {\n case \"offline\":\n return STATUS_COLORS.RED;\n case \"ok\":\n return STATUS_COLORS.GREEN;\n default:\n return STATUS_COLORS.YELLOW;\n }\n};\n\nconst DriveInfoItem = ({ classes, drive }: ICardProps) => {\n return (\n \n \n \n \n\n \n \n {drive.state && }\n
    {drive.endpoint || \"\"}
    \n \n\n \n \n \n
    \n {niceBytes(drive.totalSpace ? drive.totalSpace.toString() : \"0\")}\n
    \n \n\n \n \n
    \n {niceBytes(drive.usedSpace ? drive.usedSpace.toString() : \"0\")}\n
    \n \n \n \n
    \n {niceBytes(\n drive.availableSpace ? drive.availableSpace.toString() : \"0\"\n )}\n
    \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(DriveInfoItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport ListSubheader from \"@mui/material/ListSubheader\";\nimport List from \"@mui/material/List\";\nimport ListItemButton from \"@mui/material/ListItemButton\";\nimport Collapse from \"@mui/material/Collapse\";\nimport ExpandLess from \"@mui/icons-material/ExpandLess\";\nimport ExpandMore from \"@mui/icons-material/ExpandMore\";\nimport { ServerInfo } from \"../types\";\nimport ServerInfoItem from \"./ServerInfoItem\";\nimport { Box } from \"@mui/material\";\nimport DriveInfoItem from \"./DriveInfoItem\";\n\nconst ServersList = ({ data }: { data: ServerInfo[] }) => {\n const [expanded, setExpanded] = React.useState(\"\");\n\n const handleClick = (key: string) => {\n setExpanded(key);\n };\n\n return (\n \n Servers ({data.length})\n \n }\n >\n {data.map((serverInfo, index) => {\n const key = `${serverInfo.endpoint}-${index}`;\n const isExpanded = expanded === key;\n return (\n \n {\n if (!isExpanded) {\n handleClick(key);\n } else {\n handleClick(\"\");\n }\n }}\n className={isExpanded ? \"expanded\" : \"\"}\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n borderBottom: \"1px solid #eaeaea\",\n \"&:hover\": {\n background: \"#F8F8F8\",\n },\n \"&.expanded\": {\n borderBottom: \"none\",\n },\n }}\n >\n \n \n {isExpanded ? : }\n \n \n {isExpanded ? (\n \n \n Drives ({serverInfo.drives.length})\n \n\n \n {serverInfo.drives.map((driveInfo, index) => {\n return (\n \n );\n })}\n \n \n ) : null}\n \n );\n })}\n \n );\n};\n\nexport default ServersList;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Box, Tooltip } from \"@mui/material\";\nimport React from \"react\";\n\nconst CounterCard = ({\n counterValue,\n label = \"\",\n icon = null,\n}: {\n counterValue: string | number;\n label?: any;\n icon?: any;\n}) => {\n return (\n \n \n \n \n {label}\n \n\n \n \n {counterValue}\n \n \n \n \n {icon}\n \n \n \n );\n};\n\nexport default CounterCard;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { ReportedUsageIcon } from \"../../../../icons\";\nimport { Box, Tooltip } from \"@mui/material\";\nimport React from \"react\";\n\nconst ReportedUsage = ({\n usageValue,\n total,\n unit,\n}: {\n usageValue: string;\n total: number | string;\n unit: string;\n}) => {\n return (\n \n
    \n Reported Usage \n
    \n\n \n \n {total}\n \n \n \n \n );\n};\n\nexport default ReportedUsage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Box } from \"@mui/material\";\nimport {\n BucketsIcon,\n DrivesIcon,\n PrometheusErrorIcon,\n ServersIcon,\n TotalObjectsIcon,\n} from \"../../../../icons\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { calculateBytes, representationNumber } from \"../../../../common/utils\";\nimport { IDriveInfo, Usage } from \"../types\";\nimport StatusCountCard from \"./StatusCountCard\";\nimport groupBy from \"lodash/groupBy\";\nimport ServersList from \"./ServersList\";\nimport CounterCard from \"./CounterCard\";\nimport ReportedUsage from \"./ReportedUsage\";\n\nconst BoxItem = ({\n children,\n background = \"#ffffff\",\n}: {\n children: any;\n background?: string;\n}) => {\n return (\n \n {children}\n \n );\n};\n\ninterface IDashboardProps {\n usage: Usage | null;\n}\n\nconst getServersList = (usage: Usage | null) => {\n if (usage !== null) {\n return usage.servers.sort(function (a, b) {\n const nameA = a.endpoint.toLowerCase();\n const nameB = b.endpoint.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n }\n\n return [];\n};\n\nconst prettyUsage = (usage: string | undefined) => {\n if (usage === undefined) {\n return { total: \"0\", unit: \"Mi\" };\n }\n\n return calculateBytes(usage);\n};\n\nconst BasicDashboard = ({ usage }: IDashboardProps) => {\n const usageValue = usage && usage.usage ? usage.usage.toString() : \"0\";\n const usageToRepresent = prettyUsage(usageValue);\n\n const serverList = getServersList(usage || null);\n\n let allDrivesArray: IDriveInfo[] = [];\n\n serverList.forEach((server) => {\n const drivesInput = server.drives.map((drive) => {\n return drive;\n });\n\n allDrivesArray = [...allDrivesArray, ...drivesInput];\n });\n\n const serversGroup = groupBy(serverList, \"state\");\n const { offline: offlineServers = [], online: onlineServers = [] } =\n serversGroup;\n const drivesGroup = groupBy(allDrivesArray, \"state\");\n const { offline: offlineDrives = [], ok: onlineDrives = [] } = drivesGroup;\n\n return (\n \n \n \n {usage?.prometheusNotReady && (\n }\n title={\"We can't retrieve advanced metrics at this time\"}\n help={\n \n MinIO Dashboard will display basic metrics as we couldn't\n connect to Prometheus successfully.\n

    \n Please try again in a few minutes. If the problem persists,\n you can review your configuration and confirm that Prometheus\n server is up and running.\n
    \n }\n />\n )}\n\n {!usage?.prometheusNotReady && (\n }\n title={\"We can’t retrieve advanced metrics at this time.\"}\n help={\n \n \n MinIO Dashboard will display basic metrics as we couldn’t\n connect to Prometheus successfully. Please try again in a\n few minutes. If the problem persists, you can review your\n configuration and confirm that Prometheus server is up and\n running.\n \n theme.colors.link,\n },\n }}\n >\n \n Read more about Prometheus on our Docs site.\n \n
    \n \n }\n />\n )}\n \n\n \n \n \n }\n counterValue={usage ? representationNumber(usage.buckets) : 0}\n />\n \n \n }\n counterValue={usage ? representationNumber(usage.objects) : 0}\n />\n \n \n }\n />\n \n \n }\n />\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default BasicDashboard;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport PrDashboard from \"./Prometheus/PrDashboard\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport Grid from \"@mui/material/Grid\";\nimport { containerForHeader } from \"../Common/FormComponents/common/styleLibrary\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport api from \"../../../common/api\";\nimport { Usage } from \"./types\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport BasicDashboard from \"./BasicDashboard/BasicDashboard\";\n\ninterface IDashboardSimple {\n classes: any;\n displayErrorMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Dashboard = ({ classes, displayErrorMessage }: IDashboardSimple) => {\n const [loading, setLoading] = useState(true);\n const [basicResult, setBasicResult] = useState(null);\n\n const fetchUsage = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/admin/info`)\n .then((res: Usage) => {\n setBasicResult(res);\n setLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n displayErrorMessage(err);\n setLoading(false);\n });\n }, [setBasicResult, setLoading, displayErrorMessage]);\n\n useEffect(() => {\n if (loading) {\n fetchUsage();\n }\n }, [loading, fetchUsage]);\n\n const widgets = get(basicResult, \"widgets\", null);\n\n return (\n \n \n {loading ? (\n \n \n \n \n \n ) : (\n \n {widgets !== null ? (\n \n \n \n ) : (\n \n )}\n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n displayErrorMessage: setErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(Dashboard));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: any;\n value: any;\n}\n\nexport const TabPanel = (props: TabPanelProps) => {\n const { children, value, index, ...other } = props;\n\n return (\n
    \n );\n};\n\nconst mapStateToProps = ({ system, objectBrowser }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n searchVersions: objectBrowser.searchVersions,\n loadingVersions: objectBrowser.loadingVersions,\n selectedVersion: objectBrowser.selectedVersion,\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n setSnackBarMessage,\n setNewObject,\n updateProgress,\n completeObject,\n setSelectedVersion,\n setLoadingVersions,\n setLoadingObjectInfo,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(VersionsNavigator));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { connect } from \"react-redux\";\nimport { useDropzone } from \"react-dropzone\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { withRouter } from \"react-router-dom\";\nimport Grid from \"@mui/material/Grid\";\nimport get from \"lodash/get\";\nimport {\n BucketObject,\n BucketObjectsList,\n RewindObject,\n RewindObjectList,\n} from \"./types\";\nimport api from \"../../../../../../common/api\";\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport {\n decodeFileName,\n encodeFileName,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\n\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n objectBrowserExtras,\n searchField,\n tableStyles,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { Badge, Typography } from \"@mui/material\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport {\n completeObject,\n openList,\n resetRewind,\n setLoadingVersions,\n setNewObject,\n setSearchObjects,\n setShowDeletedObjects,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport { Route } from \"../../../../ObjectBrowser/reducers\";\n\nimport { download, extensionPreview, sortListObjects } from \"../utils\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport { BucketInfo, BucketQuota, BucketVersioning } from \"../../../types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport { setBucketDetailsLoad, setBucketInfo } from \"../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\n\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport {\n BucketsIcon,\n DownloadIcon,\n PreviewIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\nimport RBIconButton from \"../../../BucketDetails/SummaryItems/RBIconButton\";\nimport ActionsListSection from \"./ActionsListSection\";\nimport { listModeColumns, rewindModeColumns } from \"./ListObjectsHelpers\";\nimport VersionsNavigator from \"../ObjectDetails/VersionsNavigator\";\nimport CheckboxWrapper from \"../../../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\n\nconst HistoryIcon = React.lazy(\n () => import(\"../../../../../../icons/HistoryIcon\")\n);\nconst RefreshIcon = React.lazy(\n () => import(\"../../../../../../icons/RefreshIcon\")\n);\n\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\n\nconst DeleteMultipleObjects = withSuspense(\n React.lazy(() => import(\"./DeleteMultipleObjects\"))\n);\nconst ShareFile = withSuspense(\n React.lazy(() => import(\"../ObjectDetails/ShareFile\"))\n);\nconst RewindEnable = withSuspense(React.lazy(() => import(\"./RewindEnable\")));\nconst PreviewFileModal = withSuspense(\n React.lazy(() => import(\"../Preview/PreviewFileModal\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n browsePaper: {\n height: \"calc(100vh - 210px)\",\n \"&.actionsPanelOpen\": {\n minHeight: \"100%\",\n },\n },\n \"@global\": {\n \".rowLine:hover .iconFileElm\": {\n backgroundImage: \"url(/images/ob_file_filled.svg)\",\n },\n \".rowLine:hover .iconFolderElm\": {\n backgroundImage: \"url(/images/ob_folder_filled.svg)\",\n },\n },\n\n badgeOverlap: {\n \"& .MuiBadge-badge\": {\n top: 10,\n right: 1,\n width: 5,\n height: 5,\n minWidth: 5,\n },\n },\n screenTitle: {\n borderBottom: 0,\n paddingTop: 0,\n paddingLeft: 0,\n paddingRight: 0,\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n screenTitleContainer: {\n border: \"#EAEDEE 1px solid\",\n borderBottom: 0,\n padding: \"0.8rem 15px 0\",\n },\n labelStyle: {\n color: \"#969FA8\",\n fontSize: \"12px\",\n },\n ...objectBrowserExtras,\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst baseDnDStyle = {\n borderWidth: 2,\n borderRadius: 2,\n borderColor: \"#eeeeee\",\n outline: \"none\",\n};\n\nconst activeDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#2196f3\",\n};\n\nconst acceptDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#00e676\",\n};\n\ninterface IListObjectsProps {\n classes: any;\n match: any;\n history: any;\n routesList: Route[];\n downloadingFiles: string[];\n rewindEnabled: boolean;\n rewindDate: any;\n bucketToRewind: string;\n searchObjects: string;\n showDeleted: boolean;\n setSnackBarMessage: typeof setSnackBarMessage;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n resetRewind: typeof resetRewind;\n loadingBucket: boolean;\n setBucketInfo: typeof setBucketInfo;\n bucketInfo: BucketInfo | null;\n versionsMode: boolean;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n openList: typeof openList;\n setSearchObjects: typeof setSearchObjects;\n setVersionsModeEnabled: typeof setVersionsModeEnabled;\n setShowDeletedObjects: typeof setShowDeletedObjects;\n setLoadingVersions: typeof setLoadingVersions;\n}\n\nfunction useInterval(callback: any, delay: number) {\n const savedCallback = useRef(null);\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n if (savedCallback !== undefined && savedCallback.current) {\n savedCallback.current();\n }\n }\n\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nconst defLoading = Loading...;\n\nconst ListObjects = ({\n classes,\n match,\n history,\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n setSnackBarMessage,\n setErrorSnackMessage,\n resetRewind,\n setBucketDetailsLoad,\n loadingBucket,\n setBucketInfo,\n bucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n setSearchObjects,\n searchObjects,\n versionsMode,\n openList,\n setVersionsModeEnabled,\n showDeleted,\n setShowDeletedObjects,\n setLoadingVersions,\n}: IListObjectsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [rewind, setRewind] = useState([]);\n const [loadingRewind, setLoadingRewind] = useState(false);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [loadingStartTime, setLoadingStartTime] = useState(0);\n const [loadingMessage, setLoadingMessage] =\n useState(defLoading);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\n const [selectedObjects, setSelectedObjects] = useState([]);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [selectedPreview, setSelectedPreview] = useState(\n null\n );\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n const [iniLoad, setIniLoad] = useState(false);\n const [canShareFile, setCanShareFile] = useState(false);\n const [canPreviewFile, setCanPreviewFile] = useState(false);\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [selectedInternalPaths, setSelectedInternalPaths] = useState<\n string | null\n >(null);\n const [quota, setQuota] = useState(null);\n\n const internalPaths = get(match.params, \"subpaths\", \"\");\n const bucketName = match.params[\"bucketName\"];\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n useEffect(() => {\n if (folderUpload.current !== null) {\n folderUpload.current.setAttribute(\"directory\", \"\");\n folderUpload.current.setAttribute(\"webkitdirectory\", \"\");\n }\n }, [folderUpload]);\n\n useEffect(() => {\n if (selectedObjects.length === 1) {\n const objectName = selectedObjects[0];\n\n if (extensionPreview(objectName) !== \"none\") {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (objectName.endsWith(\"/\")) {\n setCanShareFile(false);\n } else {\n setCanShareFile(true);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects]);\n\n useEffect(() => {\n if (!quota) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/quota`)\n .then((res: BucketQuota) => {\n let quotaVals = null;\n\n if (res.quota) {\n quotaVals = res;\n }\n\n setQuota(quotaVals);\n })\n .catch(() => {\n setQuota(null);\n });\n }\n }, [quota, bucketName]);\n\n useEffect(() => {\n if (selectedObjects.length > 0) {\n setDetailsOpen(true);\n return;\n }\n\n if (selectedObjects.length === 0 && selectedInternalPaths === null) {\n setDetailsOpen(false);\n }\n }, [selectedObjects, selectedInternalPaths]);\n\n const displayDeleteObject = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]);\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n ]);\n\n const updateMessage = () => {\n let timeDelta = Date.now() - loadingStartTime;\n\n if (timeDelta / 1000 >= 6) {\n setLoadingMessage(\n \n \n This operation is taking longer than expected... (\n {Math.ceil(timeDelta / 1000)}s)\n \n \n );\n } else if (timeDelta / 1000 >= 3) {\n setLoadingMessage(\n \n This operation is taking longer than expected...\n \n );\n }\n };\n\n useEffect(() => {\n if (!iniLoad) {\n setBucketDetailsLoad(true);\n setIniLoad(true);\n }\n }, [iniLoad, setBucketDetailsLoad, setIniLoad]);\n\n useInterval(() => {\n // Your custom logic here\n if (loading) {\n updateMessage();\n }\n }, 1000);\n\n useEffect(() => {\n if (loadingVersioning) {\n if (displayListObjects) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingVersioning(false);\n });\n } else {\n setLoadingVersioning(false);\n }\n }\n }, [bucketName, loadingVersioning, setErrorSnackMessage, displayListObjects]);\n\n // Rewind\n useEffect(() => {\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n resetRewind();\n return;\n }\n\n if (rewindDate) {\n setLoadingRewind(true);\n const rewindParsed = rewindDate.toISOString();\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n setLoadingRewind(false);\n if (res.objects) {\n setRewind(res.objects);\n } else {\n setRewind([]);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setErrorSnackMessage(err);\n });\n }\n }\n }, [\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n bucketName,\n match,\n setErrorSnackMessage,\n resetRewind,\n internalPaths,\n ]);\n\n useEffect(() => {\n setLoading(true);\n setDetailsOpen(false);\n setSearchObjects(\"\");\n }, [internalPaths, setSearchObjects]);\n\n useEffect(() => {\n if (loading) {\n if (displayListObjects) {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n let currentTimestamp = Date.now();\n setLoadingStartTime(currentTimestamp);\n setLoadingMessage(defLoading);\n\n let urlTake = `/api/v1/buckets/${bucketName}/objects`;\n\n if (showDeleted) {\n const currDate = new Date();\n const currDateISO = currDate.toISOString();\n\n urlTake = `/api/v1/buckets/${bucketName}/rewind/${currDateISO}`;\n }\n\n api\n .invoke(\n \"GET\",\n `${urlTake}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n const records: BucketObject[] = res.objects || [];\n const folders: BucketObject[] = [];\n const files: BucketObject[] = [];\n\n records.forEach((record) => {\n // this is a folder\n if (record.name.endsWith(\"/\")) {\n folders.push(record);\n } else {\n // this is a file\n files.push(record);\n }\n });\n const recordsInElement = [...folders, ...files];\n setRecords(recordsInElement);\n // In case no objects were retrieved, We check if item is a file\n if (!res.objects && pathPrefix !== \"\") {\n if (rewindEnabled) {\n const rewindParsed = rewindDate.toISOString();\n\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (res.objects === null) {\n //setFileModeEnabled(true);\n setLoadingRewind(false);\n setLoading(false);\n } else {\n // It is a folder, we remove loader\n setLoadingRewind(false);\n setLoading(false);\n //setFileModeEnabled(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects${\n internalPaths ? `?prefix=${internalPaths}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (!res.objects) {\n // It is a folder, we remove loader\n //setFileModeEnabled(false);\n setLoading(false);\n } else {\n // This code prevents the program from opening a file when a substring of that file is entered as a new folder.\n // Previously, if there was a file test1.txt and the folder test was created with the same prefix, the program\n // would open test1.txt instead\n let found = false;\n let pathPrefixChopped = pathPrefix.slice(\n 0,\n pathPrefix.length - 1\n );\n for (let i = 0; i < res.objects.length; i++) {\n if (res.objects[i].name === pathPrefixChopped) {\n found = true;\n }\n }\n if (\n (res.objects.length === 1 &&\n res.objects[0].name.endsWith(\"/\")) ||\n !found\n ) {\n //setFileModeEnabled(false);\n } else {\n //setFileModeEnabled(true);\n }\n\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n }\n } else {\n //setFileModeEnabled(false);\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoadingRewind(false);\n setLoading(false);\n }\n }\n }, [\n loading,\n match,\n setErrorSnackMessage,\n bucketName,\n rewindEnabled,\n rewindDate,\n internalPaths,\n bucketInfo,\n showDeleted,\n displayListObjects,\n ]);\n\n // bucket info\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n setBucketDetailsLoad(false);\n setBucketInfo(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setBucketDetailsLoad(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n bucketName,\n loadingBucket,\n setBucketDetailsLoad,\n setBucketInfo,\n setErrorSnackMessage,\n ]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n setSnackBarMessage(`Objects deleted successfully.`);\n setSelectedObjects([]);\n setLoading(true);\n }\n };\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n var newFiles: File[] = [];\n\n for (var i = 0; i < e.target.files.length; i++) {\n newFiles.push(e.target.files[i]);\n }\n uploadObject(newFiles, \"\");\n\n e.target.value = \"\";\n };\n\n const downloadObject = (object: BucketObject | RewindObject) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n encodeFileName(object.name),\n object.version_id,\n object.size,\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const openPath = (idElement: string) => {\n setSelectedObjects([]);\n if (idElement.endsWith(\"/\")) {\n const newPath = `/buckets/${bucketName}/browse${\n idElement ? `/${encodeFileName(idElement)}` : ``\n }`;\n history.push(newPath);\n return;\n }\n\n setDetailsOpen(true);\n setLoadingVersions(true);\n setSelectedInternalPaths(\n `${idElement ? `${encodeFileName(idElement)}` : ``}`\n );\n };\n\n const uploadObject = useCallback(\n (files: File[], folderPath: string): void => {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n const upload = (\n files: File[],\n bucketName: string,\n path: string,\n folderPath: string\n ) => {\n if (files.length > 0) {\n openList();\n let nextFile = files.pop();\n let uploadPromise = (file: File) => {\n return new Promise((resolve, reject) => {\n let uploadUrl = `api/v1/buckets/${bucketName}/objects/upload`;\n const fileName = file.name;\n const blobFile = new Blob([file], { type: file.type });\n\n let encodedPath = \"\";\n const relativeFolderPath =\n get(file, \"webkitRelativePath\", \"\") !== \"\"\n ? get(file, \"webkitRelativePath\", \"\")\n : folderPath;\n\n if (path !== \"\" || relativeFolderPath !== \"\") {\n const finalFolderPath = relativeFolderPath\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\");\n\n encodedPath = encodeFileName(\n `${path}${finalFolderPath}${\n !finalFolderPath.endsWith(\"/\") ? \"/\" : \"\"\n }`\n );\n }\n\n if (encodedPath !== \"\") {\n uploadUrl = `${uploadUrl}?prefix=${encodedPath}`;\n }\n\n const identity = encodeFileName(\n `${bucketName}-${encodedPath}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identity,\n percentage: 0,\n prefix: `${decodeFileName(encodedPath)}${fileName}`,\n type: \"upload\",\n waitingForFile: false,\n });\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", uploadUrl, true);\n\n const areMultipleFiles = files.length > 1;\n const errorMessage = `An error occurred while uploading the file${\n areMultipleFiles ? \"s\" : \"\"\n }.`;\n const okMessage = `Object${\n areMultipleFiles ? \"s\" : ``\n } uploaded successfully.`;\n\n xhr.withCredentials = false;\n xhr.onload = function (event) {\n if (\n xhr.status === 401 ||\n xhr.status === 403 ||\n xhr.status === 400 ||\n xhr.status === 500\n ) {\n if (xhr.response) {\n const err = JSON.parse(xhr.response);\n setSnackBarMessage(err.detailedMessage);\n } else {\n setSnackBarMessage(errorMessage);\n }\n }\n if (xhr.status === 413) {\n setSnackBarMessage(\"Error - File size too large\");\n }\n if (xhr.status === 200) {\n completeObject(identity);\n if (files.length === 0) {\n setSnackBarMessage(okMessage);\n }\n }\n resolve(xhr.status);\n if (files.length > 0) {\n let nFile = files.pop();\n if (nFile) {\n return uploadPromise(nFile);\n }\n }\n };\n\n xhr.upload.addEventListener(\"error\", (event) => {\n setSnackBarMessage(errorMessage);\n });\n\n xhr.upload.addEventListener(\"progress\", (event) => {\n const progress = Math.floor((event.loaded * 100) / event.total);\n\n updateProgress(identity, progress);\n });\n\n xhr.onerror = () => {\n setSnackBarMessage(errorMessage);\n reject(errorMessage);\n };\n xhr.onloadend = () => {\n if (files.length === 0) {\n setLoading(true);\n }\n };\n\n const formData = new FormData();\n if (file.size !== undefined) {\n formData.append(file.size.toString(), blobFile, fileName);\n\n xhr.send(formData);\n }\n });\n };\n\n if (nextFile) {\n uploadPromise(nextFile!)\n .then(() => {\n console.info(\"done uploading file\");\n })\n .catch((err) => {\n console.error(\"error uploading file,\", err);\n });\n }\n }\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [\n bucketName,\n completeObject,\n internalPaths,\n openList,\n setNewObject,\n setSnackBarMessage,\n updateProgress,\n ]\n );\n\n const onDrop = useCallback(\n (acceptedFiles) => {\n if (acceptedFiles && acceptedFiles.length > 0) {\n let newFolderPath: string = acceptedFiles[0].path;\n uploadObject(acceptedFiles, newFolderPath);\n }\n },\n [uploadObject]\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragAccept } =\n useDropzone({\n noClick: true,\n onDrop,\n });\n\n const dndStyles = useMemo(\n () => ({\n ...baseDnDStyle,\n ...(isDragActive ? activeDnDStyle : {}),\n ...(isDragAccept ? acceptDnDStyle : {}),\n }),\n [isDragActive, isDragAccept]\n );\n\n const openPreview = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setPreviewOpen(true);\n }\n }\n };\n\n const openShare = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setShareFileModalOpen(true);\n }\n }\n };\n\n const closeShareModal = () => {\n setShareFileModalOpen(false);\n setSelectedPreview(null);\n };\n\n const filteredRecords = records.filter((b: BucketObject) => {\n if (searchObjects === \"\") {\n return true;\n } else {\n const objectName = b.name.toLowerCase();\n if (objectName.indexOf(searchObjects.toLowerCase()) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const rewindCloseModal = (refresh: boolean) => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n setSelectedPreview(null);\n };\n\n const selectListObjects = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedObjects]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedObjects(elements);\n setSelectedInternalPaths(null);\n\n return elements;\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n setLoading(true);\n };\n\n const pageTitle = decodeFileName(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n const plSelect = rewindEnabled ? rewind : filteredRecords;\n\n const sortASC = plSelect.sort(sortListObjects(currentSortField));\n\n let payload: BucketObject[] | RewindObject[] = [];\n\n if (sortDirection === \"ASC\") {\n payload = sortASC;\n } else {\n payload = sortASC.reverse();\n }\n\n const selectAllItems = () => {\n setSelectedInternalPaths(null);\n\n if (selectedObjects.length === payload.length) {\n setSelectedObjects([]);\n return;\n }\n\n const elements = payload.map((item) => item.name);\n setSelectedObjects(elements);\n };\n\n const downloadSelected = () => {\n if (selectedObjects.length !== 0) {\n let itemsToDownload: BucketObject[] | RewindObject[] = [];\n\n const filterFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n if (rewindEnabled) {\n itemsToDownload = rewind.filter(filterFunction);\n } else {\n itemsToDownload = filteredRecords.filter(filterFunction);\n }\n\n itemsToDownload.forEach((filteredItem) => {\n downloadObject(filteredItem);\n });\n }\n };\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n const onClosePanel = (forceRefresh: boolean) => {\n setDetailsOpen(false);\n setSelectedInternalPaths(null);\n setSelectedObjects([]);\n setVersionsModeEnabled(false);\n\n if (forceRefresh) {\n setLoading(true);\n }\n };\n\n const setDeletedAction = () => {\n setShowDeletedObjects(!showDeleted);\n onClosePanel(true);\n };\n\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n label: \"View\",\n onClick: openPath,\n sendOnlyId: true,\n },\n ];\n\n const multiActionButtons = [\n {\n action: downloadSelected,\n label: \"Download\",\n disabled: selectedObjects.length === 0,\n icon: ,\n tooltip: \"Download Selected\",\n },\n {\n action: openShare,\n label: \"Share\",\n disabled: selectedObjects.length !== 1 || !canShareFile,\n icon: ,\n tooltip: \"Share Selected File\",\n },\n {\n action: openPreview,\n label: \"Preview\",\n disabled: selectedObjects.length !== 1 || !canPreviewFile,\n icon: ,\n tooltip: \"Preview Selected File\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled:\n !hasPermission(bucketName, [IAM_SCOPES.S3_DELETE_OBJECT]) ||\n selectedObjects.length === 0 ||\n !displayDeleteObject,\n tooltip: \"Delete Selected Files\",\n },\n ];\n\n return (\n \n {shareFileModalOpen && selectedPreview && (\n \n )}\n {deleteMultipleOpen && (\n \n )}\n {rewindSelect && (\n \n )}\n {previewOpen && (\n \n )}\n \n \n \n \n \n }\n title={{bucketName}}\n subTitle={\n \n \n \n Created:   \n {bucketInfo?.creation_date || \"\"}\n \n \n Access:   \n {bucketInfo?.access || \"\"}\n \n {bucketInfo && (\n \n \n {bucketInfo.size && (\n {niceBytesInt(bucketInfo.size)}\n )}\n {bucketInfo.size && quota && (\n / {niceBytesInt(quota.quota)}\n )}\n {bucketInfo.size && bucketInfo.objects ? \" - \" : \"\"}\n {bucketInfo.objects && (\n \n {bucketInfo.objects} Object\n {bucketInfo.objects && bucketInfo.objects !== 1\n ? \"s\"\n : \"\"}\n \n )}\n \n \n )}\n \n \n }\n actions={\n \n \n \n \n }\n color=\"primary\"\n variant={\"outlined\"}\n onClick={() => {\n setRewindSelect(true);\n }}\n disabled={\n !isVersioned ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT])\n }\n />\n }\n color=\"primary\"\n variant={\"outlined\"}\n onClick={() => {\n if (versionsMode) {\n setLoadingVersions(true);\n } else {\n setLoading(true);\n }\n }}\n disabled={\n !hasPermission(bucketName, [IAM_SCOPES.S3_LIST_BUCKET]) ||\n rewindEnabled\n }\n />\n \n \n {\n if (fileUpload && fileUpload.current) {\n fileUpload.current.click();\n }\n closeMenu();\n }}\n uploadFolderFunction={(closeMenu) => {\n if (folderUpload && folderUpload.current) {\n folderUpload.current.click();\n }\n closeMenu();\n }}\n />\n \n }\n />\n \n \n \n \n \n )\n }\n />\n \n \n \n \n {versionsMode ? (\n \n {selectedInternalPaths !== null && (\n \n )}\n \n ) : (\n \n {\n if (payload[index]?.delete_flag) {\n return \"deleted\";\n }\n\n return \"\";\n }}\n />\n \n )}\n \n {\n onClosePanel(false);\n }}\n >\n {selectedObjects.length > 0 && (\n \n )}\n {selectedInternalPaths !== null && (\n \n )}\n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n routesList: get(objectBrowser, \"routesList\", []),\n downloadingFiles: get(objectBrowser, \"downloadingFiles\", []),\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n versionsMode: get(objectBrowser, \"versionsMode\", false),\n loadingBucket: buckets.bucketDetails.loadingBucket,\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n showDeleted: objectBrowser.showDeleted,\n});\n\nconst mapDispatchToProps = {\n setSnackBarMessage,\n setErrorSnackMessage,\n resetRewind,\n setBucketDetailsLoad,\n setBucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n openList,\n setSearchObjects,\n setVersionsModeEnabled,\n setShowDeletedObjects,\n setLoadingVersions,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withRouter(connector(withStyles(styles)(ListObjects)));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Tooltip } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport { AppState } from \"../../../../store\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setSearchObjects,\n setVersionsModeEnabled,\n setSearchVersions,\n} from \"../../ObjectBrowser/actions\";\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsIcon from \"../../../../icons/SettingsIcon\";\nimport { BucketInfo } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { SecureComponent } from \"../../../../common/SecureComponent\";\nimport {\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport BackLink from \"../../../../common/BackLink\";\n\ninterface IBrowserHandlerProps {\n versionsMode: boolean;\n match: any;\n history: any;\n classes: any;\n setVersionsModeEnabled: typeof setVersionsModeEnabled;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n bucketInfo: BucketInfo | null;\n searchObjects: string;\n versionedFile: string;\n searchVersions: string;\n setSearchObjects: typeof setSearchObjects;\n setSearchVersions: typeof setSearchVersions;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n backToBuckets: {\n color: \"#000\",\n fontSize: 14,\n padding: 0,\n marginTop: -8,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst BrowserHandler = ({\n versionsMode,\n match,\n history,\n classes,\n setVersionsModeEnabled,\n searchObjects,\n setSearchObjects,\n setSearchVersions,\n versionedFile,\n searchVersions,\n}: IBrowserHandlerProps) => {\n const bucketName = match.params[\"bucketName\"];\n const internalPaths = get(match.params, \"subpaths\", \"\");\n\n useEffect(() => {\n setVersionsModeEnabled(false);\n }, [internalPaths, setVersionsModeEnabled]);\n\n const openBucketConfiguration = () => {\n history.push(`/buckets/${bucketName}/admin`);\n };\n\n return (\n \n \n }\n actions={\n \n \n \n \n \n \n \n }\n middleComponent={\n \n {!versionsMode ? (\n \n {\n setSearchObjects(value);\n }}\n value={searchObjects}\n />\n \n ) : (\n \n {\n setSearchVersions(value);\n }}\n value={searchVersions}\n />\n \n )}\n \n }\n />\n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n versionsMode: get(objectBrowser, \"versionsMode\", false),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n versionedFile: objectBrowser.versionedFile,\n searchVersions: objectBrowser.searchVersions,\n});\n\nconst mapDispatchToProps = {\n setVersionsModeEnabled,\n setErrorSnackMessage,\n setSearchObjects,\n setSearchVersions,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BrowserHandler));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport moment from \"moment/moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport InputBoxWrapper from \"../InputBoxWrapper/InputBoxWrapper\";\n\ninterface IDaysSelector {\n classes: any;\n id: string;\n initialDate: Date;\n maxDays?: number;\n label: string;\n entity: string;\n onChange: (newDate: string, isValid: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: 15,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n dateContainer: {\n height: 20,\n textAlign: \"right\",\n color: \"#848484\",\n },\n dateInputContainer: {\n margin: \"0 10px\",\n },\n durationInputs: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n\n validityIndicator: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n invalidDurationText: {\n marginTop: 15,\n display: \"flex\",\n color: \"red\",\n fontSize: 11,\n },\n validityText: {\n fontSize: 14,\n fontWeight: 600,\n marginTop: 15,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst calculateNewTime = (\n initialDate: Date,\n days: number,\n hours: number,\n minutes: number\n) => {\n return moment(initialDate)\n .add(days, \"days\")\n .add(hours, \"hours\")\n .add(minutes, \"minutes\");\n};\n\nconst DaysSelector = ({\n classes,\n id,\n initialDate,\n label,\n maxDays,\n entity,\n onChange,\n}: IDaysSelector) => {\n const [selectedDays, setSelectedDays] = useState(7);\n const [selectedHours, setSelectedHours] = useState(0);\n const [selectedMinutes, setSelectedMinutes] = useState(0);\n const [validDate, setValidDate] = useState(true);\n const [dateSelected, setDateSelected] = useState(moment());\n\n useEffect(() => {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes\n )\n );\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n onChange(dateSelected.format(\"YYYY-MM-DDTHH:mm:ss\"), true);\n } else {\n onChange(\"0000-00-00\", false);\n }\n }, [dateSelected, onChange, validDate]);\n\n // Basic validation for inputs\n useEffect(() => {\n let valid = true;\n if (\n selectedDays < 0 ||\n (maxDays && selectedDays > maxDays) ||\n isNaN(selectedDays)\n ) {\n valid = false;\n }\n\n if (selectedHours < 0 || selectedHours > 23 || isNaN(selectedHours)) {\n valid = false;\n }\n\n if (selectedMinutes < 0 || selectedMinutes > 59 || isNaN(selectedMinutes)) {\n valid = false;\n }\n\n if (\n maxDays &&\n selectedDays === maxDays &&\n (selectedHours !== 0 || selectedMinutes !== 0)\n ) {\n valid = false;\n }\n\n setValidDate(valid);\n }, [\n dateSelected,\n maxDays,\n onChange,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ]);\n\n const extraInputProps = {\n style: {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 25,\n },\n className: \"removeArrows\" as const,\n };\n\n return (\n \n \n \n \n \n {label}\n \n \n \n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n \n \n {validDate ? (\n
    \n
    \n {entity} will be available until:\n
    {\" \"}\n
    \n {dateSelected.format(\"MM/DD/YYYY HH:mm:ss\")}\n
    \n
    \n ) : (\n
    \n Please select a valid duration.\n
    \n )}\n
    \n \n
    \n );\n};\n\nexport default withStyles(styles)(DaysSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport {\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst CopyIcon = React.lazy(() => import(\"../../../../../../icons/CopyIcon\"));\n\nconst styles = (theme: Theme) =>\n createStyles({\n shareLinkInfo: {\n fontSize: 13,\n fontWeight: 400,\n },\n copyShareLink: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n },\n copyShareLinkInput: {\n \"& div:first-child\": {\n marginTop: 0,\n },\n \"@media (max-width: 900px)\": {\n minWidth: 250,\n },\n },\n copyShareLinkBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n marginTop: 10,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IShareFileProps {\n classes: any;\n open: boolean;\n bucketName: string;\n dataObject: IFileInfo;\n distributedSetup: boolean;\n closeModalAndRefresh: () => void;\n setModalSnackMessage: typeof setModalSnackMessage;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ShareFile = ({\n classes,\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n distributedSetup,\n setModalSnackMessage,\n setModalErrorSnackMessage,\n}: IShareFileProps) => {\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${encodeFileName(\n dataObject.name\n )}${distributedSetup ? \"&with_versions=true\" : \"\"}`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const latestVersion = result.find(\n (elem: IFileInfo) => elem.is_latest\n );\n\n if (latestVersion) {\n setVersionID(latestVersion.version_id);\n return;\n }\n\n // Version couldn't ve retrieved, we default\n setVersionID(\"null\");\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, setModalErrorSnackMessage]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000\n );\n\n if (diffDate > 0) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/share?prefix=${encodeFileName(\n dataObject.name\n )}&version_id=${versionID}${\n selectedDate !== \"\" ? `&expires=${diffDate}s` : \"\"\n }`\n )\n .then((res: string) => {\n setShareURL(res);\n setIsLoadingFile(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n setModalErrorSnackMessage,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n
    \n The temporary URL expires after the configured time limit.\n
    \n \n \n \n \n \n \n \n\n \n \n }\n onClick={() => {\n setModalSnackMessage(\"Share URL Copied to clipboard\");\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n >\n Copy\n \n \n \n \n
    \n )}\n \n
    \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst connector = connect(mapStateToProps, {\n setModalSnackMessage,\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ShareFile));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { BucketObject } from \"../ListObjects/types\";\nimport { extensionPreview } from \"../utils\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\n\nconst styles = () =>\n createStyles({\n iframeContainer: {\n border: \"0px\",\n flex: \"1 1 auto\",\n width: \"100%\",\n height: 250,\n backgroundColor: \"transparent\",\n borderRadius: 5,\n\n \"&.image\": {\n height: 500,\n },\n \"&.text\": {\n height: 700,\n },\n \"&.audio\": {\n height: 150,\n },\n \"&.video\": {\n height: 350,\n },\n \"&.fullHeight\": {\n height: \"calc(100vh - 185px)\",\n },\n },\n iframeBase: {\n backgroundColor: \"#fff\",\n },\n iframeHidden: {\n display: \"none\",\n },\n });\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObject | null;\n isFullscreen?: boolean;\n classes: any;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n classes,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeFileName(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n const objectType = extensionPreview(object?.name || \"\");\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {loading && (\n \n \n \n )}\n {objectType === \"video\" && (\n \n \n \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n \n \n File couldn't be loaded. Please try Download instead\n \n \n )}\n \n );\n};\nexport default withStyles(styles)(PreviewFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObject } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObject | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { BucketObject, RewindObject } from \"./ListObjects/types\";\n\nexport const download = (\n bucketName: string,\n objectPath: string,\n versionID: any,\n fileSize: number,\n progressCallback: (progress: number) => void,\n completeCallback: () => void\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let path = `/api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}`;\n if (versionID) {\n path = path.concat(`&version_id=${versionID}`);\n }\n\n var req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n req.addEventListener(\n \"progress\",\n function (evt) {\n var percentComplete = Math.round((evt.loaded / fileSize) * 100);\n\n if (progressCallback) {\n progressCallback(percentComplete);\n }\n },\n false\n );\n\n req.responseType = \"blob\";\n req.onreadystatechange = () => {\n if (req.readyState === 4 && req.status === 200) {\n const rspHeader = req.getResponseHeader(\"Content-Disposition\");\n\n let filename = \"download\";\n if (rspHeader) {\n let rspHeaderDecoded = decodeURIComponent(rspHeader);\n filename = rspHeaderDecoded.split('\"')[1];\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(req.response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n };\n req.send();\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (\n fileName: string\n): \"image\" | \"text\" | \"audio\" | \"video\" | \"none\" => {\n const imageExtensions = [\n \"jif\",\n \"jfif\",\n \"apng\",\n \"avif\",\n \"svg\",\n \"webp\",\n \"bmp\",\n \"ico\",\n \"jpg\",\n \"jpe\",\n \"jpeg\",\n \"gif\",\n \"png\",\n \"heic\",\n ];\n const textExtensions = [\"pdf\", \"txt\", \"json\"];\n const audioExtensions = [\"wav\", \"mp3\", \"alac\", \"aiff\", \"dsd\", \"pcm\"];\n const videoExtensions = [\n \"mp4\",\n \"avi\",\n \"mpg\",\n \"webm\",\n \"mov\",\n \"flv\",\n \"mkv\",\n \"wmv\",\n \"avchd\",\n \"mpeg-4\",\n ];\n\n let fileExtension = fileName.split(\".\").pop();\n\n if (!fileExtension) {\n return \"none\";\n }\n\n fileExtension = fileExtension.toLowerCase();\n\n if (imageExtensions.includes(fileExtension)) {\n return \"image\";\n }\n\n if (textExtensions.includes(fileExtension)) {\n return \"text\";\n }\n\n if (audioExtensions.includes(fileExtension)) {\n return \"audio\";\n }\n\n if (videoExtensions.includes(fileExtension)) {\n return \"video\";\n }\n\n return \"none\";\n};\n\nexport const sortListObjects = (fieldSort: string) => {\n switch (fieldSort) {\n case \"name\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n (a.size || -1) - (b.size || -1);\n }\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

    (\n WrappedComponent: ComponentType

    ,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n

    \n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n
    \n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
    \n
    \n\n \n {switchComponent}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n
    \n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
    \n {icon ?
    {icon}
    : null}\n
    \n

    {title}

    \n {subTitle}\n
    \n
    \n\n
    {actions}
    \n
    \n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, ReactElement } from \"react\";\nimport { FixedSizeList as List } from \"react-window\";\nimport InfiniteLoader from \"react-window-infinite-loader\";\nimport { AutoSizer } from \"react-virtualized\";\n\ninterface IVirtualizedList {\n rowRenderFunction: (index: number) => ReactElement | null;\n totalItems: number;\n defaultHeight?: number;\n}\n\nlet itemStatusMap: any = {};\nconst LOADING = 1;\nconst LOADED = 2;\n\nconst VirtualizedList = ({\n rowRenderFunction,\n totalItems,\n defaultHeight,\n}: IVirtualizedList) => {\n const isItemLoaded = (index: any) => !!itemStatusMap[index];\n\n const loadMoreItems = (startIndex: number, stopIndex: number) => {\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADING;\n }\n\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADED;\n }\n };\n\n const RenderItemLine = ({ index, style }: any) => {\n return
    {rowRenderFunction(index)}
    ;\n };\n\n return (\n \n \n {({ onItemsRendered, ref }) => (\n \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Box, Button } from \"@mui/material\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\nimport { useState } from \"react\";\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n setShown(!shown)}\n >\n Show/Hide\n \n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","CreateFolderModal","withSuspense","React","mapDispatchToProps","setVersionsModeEnabled","connector","connect","objectBrowser","rewindEnabled","get","versionsMode","versionedFile","objectBrowserCommon","bucketName","internalPaths","existingFiles","additionalOptions","useState","createFolderOpen","setCreateFolderOpen","paths","splitPaths","split","filter","path","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeFileName","Fragment","toString","versionsItem","listBreadcrumbs","modalOpen","folderName","onClose","Grid","item","xs","breadcrumbs","IconButton","history","sx","border","backgroundColor","borderLeft","borderRadius","height","Tooltip","title","id","disabled","hasPermission","IAM_SCOPES","disableTouchRipple","disableRipple","focusRipple","paddingLeft","breadcrumbsList","dir","listUploadIcons","fill","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","RBIconButton","tooltip","undefined","event","currentTarget","text","variant","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","detailsList","borderColor","borderWidth","borderStyle","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderTopWidth","borderBottomWidth","borderRightWidth","borderLeftWidth","closePanel","right","top","children","months","value","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","InputBase","DateSelector","forwardRef","ref","disableOptions","addSwitch","onDateChange","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","dateInput","Select","displayEmpty","option","dayNumber","fieldBasic","tooltipHelper","flex","paddingBottom","marginTop","marginBottom","setModalErrorSnackMessage","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","closeModalAndRefresh","objectName","objectInfo","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","Button","selectedObject","versionId","version_id","expireDate","api","expires","mode","then","res","catch","error","addRetention","disableRetention","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","useApi","err","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeFileName","endsWith","confirmationContent","DialogContentText","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","status","propertiesIcon","capitalizeFirst","textTransform","titleCol","titleItem","detailsPanel","linear","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","Object","keys","loadMetaData","useCallback","element","renderItem","isArray","decodeURIComponent","Box","metadataLinear","style","Table","table","TableBody","TableRow","TableCell","component","scope","align","margin","fontWeight","whiteSpace","restProps","startIcon","items","titleLabel","objectActions","actionItem","action","fileName","fileNameText","overflow","textOverflow","props","strings","length","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","extensionToIcon","extensions","displayFileIconName","returnOnlyIcon","elementString","ObjectBrowserIcon","ObjectBrowserFolderIcon","substr","lowercaseElement","etc","ext","indexOf","splitItem","system","distributedSetup","pathLabel","newTileHeader","onCloseAndUpdate","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","currentItem","pop","wrapText","cleanObject","verID","SecureComponent","scopes","resource","flexFlow","tagKey","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","size","Close","onDeleteTag","InputBoxWrapper","placeholder","trim","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","url","fetch","method","performInspect","file","encodeURIComponent","volume","urlOfInspectApi","ok","json","resErr","errorMessage","message","detailedError","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","deleteCookie","KeyRevealer","emptyFile","is_latest","last_modified","legal_hold_status","setSnackBarMessage","setNewObject","updateProgress","completeObject","setLoadingObjectInfo","rewindDate","bucketToRewind","selectedVersion","loadingObjectInfo","ObjectDetailsTitle","objectNameContainer","headerForSection","buttonsStyles","actionsTray","textStyleUtils","onClosePanel","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","objectNameArray","infoElement","find","el","result","tVersionSize","reduce","acc","currValue","tagKeys","multiActionButtons","object","identityDownload","getTime","Math","random","done","instanceID","percentage","prefix","waitingForFile","download","progress","downloadObject","is_delete_marker","extensionPreview","ShareFile","dataObject","updateInfo","closeAndReload","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","LinearProgress","textAlign","detailContainer","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","displayParsedDate","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","contentTextAlign","rewindModeColumns","state","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","mainFileVersionItem","cursor","intermediateLayer","borderBottomColor","versionContainer","buttonContainer","versionData","ctrItem","content","left","versionInfo","isSelected","onShare","onDownload","onRestore","onPreview","globalClick","disableButtons","versionItemButtons","button","spacing","buttonDisabled","stopPropagation","setSelectedVersion","setLoadingVersions","searchVersions","loadingVersions","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","bottom","sortByLabel","hrClass","tableStyles","objectBrowserExtras","containerForHeader","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","sortValue","setSortValue","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","includes","totalSpace","sort","a","b","dateA","dateB","ScreenTitle","listIcon","titleSpacer","subTitle","bucketDetails","detailsSpacer","actions","SelectWrapper","options","VirtualizedList","rowRenderFunction","elementIndex","versOrd","totalItems","defaultHeight","HistoryIcon","RefreshIcon","DeleteIcon","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","resetRewind","setBucketDetailsLoad","setBucketInfo","openList","setSearchObjects","setShowDeletedObjects","buckets","routesList","downloadingFiles","loadingBucket","bucketInfo","searchObjects","showDeleted","withRouter","browsePaper","minHeight","backgroundImage","badgeOverlap","screenTitle","paddingTop","paddingRight","searchField","labelStyle","match","records","setRecords","loading","setLoading","rewind","setRewind","loadingRewind","setLoadingRewind","deleteMultipleOpen","setDeleteMultipleOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","detailsOpen","setDetailsOpen","selectedInternalPaths","setSelectedInternalPaths","quota","setQuota","params","fileUpload","folderUpload","setAttribute","quotaVals","displayDeleteObject","displayListObjects","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","rewindParsed","pathPrefix","decodedPath","objects","currentTimestamp","urlTake","currDateISO","folders","files","forEach","record","push","recordsInElement","pathPrefixChopped","i","handleUploadButton","newFiles","uploadObject","folderPath","nextFile","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","relativeFolderPath","finalFolderPath","identity","xhr","XMLHttpRequest","areMultipleFiles","okMessage","withCredentials","onload","response","JSON","detailedMessage","nFile","upload","addEventListener","floor","loaded","total","onerror","onloadend","formData","FormData","append","send","console","info","onDrop","acceptedFiles","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","pageTitle","currentPath","sortASC","sortListObjects","payload","reverse","concat","forceRefresh","tableActions","idElement","newPath","sendOnlyId","filterFunction","filteredItem","fileObject","refresh","PageLayout","creation_date","access","Badge","badgeContent","invisible","multiple","closeMenu","click","CheckboxWrapper","overrideLabelClasses","noTopMargin","tableBlock","TableWrapper","itemActions","columns","entityName","idField","customPaperHeight","selectedItems","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","rowStyle","delete_flag","setSearchVersions","breadcrumLink","backToBuckets","PageHeader","BackLink","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","SearchBox","useStyles","makeStyles","tgtColor","main","contrastText","secondary","getButtonColor","dateContainer","dateInputContainer","durationInputs","validityIndicator","invalidDurationText","validityText","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","moment","dateSelected","setDateSelected","hours","minutes","add","calculateNewTime","format","valid","extraInputProps","min","max","noLabelMinWidth","validityLabel","validTill","CopyIcon","setModalSnackMessage","shareLinkInfo","copyShareLink","copyShareLinkInput","copyShareLinkBtn","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","newDate","PredefinedList","endIcon","iframeContainer","iframeBase","iframeHidden","isFullscreen","basename","document","baseURI","replace","window","location","origin","objectType","iframeLoaded","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","PreviewFileContent","fileSize","progressCallback","completeCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","href","URL","createObjectURL","removeChild","fileExtension","fieldSort","localeCompare","contained","background","dark","rest","WrappedComponent","fallback","ComponentWithSuspense","Suspense","StyledSwitch","switchBase","transform","common","white","boxShadow","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","switchComponent","inputProps","disableFocusRipple","sm","md","inputStyles","inputFieldStyles","InputField","InputProps","textBoxContainer","overlayAction","maxHeight","multiline","required","overlayId","overlayIcon","overlayObject","pattern","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","displayInColumn","radioOptionsLayout","row","selectorOption","control","lineHeight","onSuccess","onError","setIsLoading","data","deleteDialogStyles","onCancel","cancelText","cancelButtonProps","reason","titleText","closeContainer","closeButton","cancelButton","confirmButton","loadingPosition","modalSnackMessage","modalSnackBar","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","scroll","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","toggleList","sidebarOpen","operatorMode","managerObjects","objectManager","objectsToManage","features","session","headerContainer","rightMenu","logo","direction","headerBarIcon","headerBarSubheader","titleColumn","leftItems","rightItems","adornment","adornmentPosition","overrideClass","disableUnderline","itemStatusMap","RenderItemLine","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","itemSize","shown","setShown","readOnly","navigator","clipboard","writeText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2966.0b278e3b.chunk.js.map b/portal-ui/build/static/js/2966.0b278e3b.chunk.js.map deleted file mode 100644 index 41be11089..000000000 --- a/portal-ui/build/static/js/2966.0b278e3b.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/2966.0b278e3b.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Loader from \"../../Common/Loader/Loader\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface ISetRetentionConfigProps {\n classes: any;\n open: boolean;\n bucketName: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: ISetRetentionConfigProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [loadingForm, setLoadingForm] = useState(true);\n const [retentionMode, setRetentionMode] = useState(\"compliance\");\n const [retentionUnit, setRetentionUnit] = useState(\"days\");\n const [retentionValidity, setRetentionValidity] = useState(1);\n const [valid, setValid] = useState(false);\n\n const setRetention = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/retention`, {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (Number.isNaN(retentionValidity) || retentionValidity < 1) {\n setValid(false);\n return;\n }\n setValid(true);\n }, [retentionValidity]);\n\n useEffect(() => {\n if (loadingForm) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingForm(false);\n\n // We set default values\n setRetentionMode(res.mode);\n setRetentionValidity(res.validity);\n setRetentionUnit(res.unit);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingForm(false);\n });\n }\n }, [loadingForm, bucketName]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n >\n {loadingForm ? (\n \n ) : (\n ) => {\n setRetention(e);\n }}\n >\n \n \n \n ) => {\n setRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n ) => {\n setRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n setRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n \n Set\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SetRetentionConfig));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n
    \n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","useState","addLoading","setAddLoading","loadingForm","setLoadingForm","retentionMode","setRetentionMode","retentionUnit","setRetentionUnit","retentionValidity","setRetentionValidity","valid","setValid","useEffect","Number","isNaN","api","then","res","mode","validity","unit","catch","err","title","modalOpen","onClose","style","width","height","noValidate","autoComplete","onSubmit","e","preventDefault","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","variant","color","disabled","onClick","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","placeholder","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","disableOptions","displayInColumn","alignItems","radioOptionsLayout","row","display","textAlign","map","selectorOption","control","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","padding","content","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","length","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getSwitchBaseUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchBaseRoot","styled","ButtonBase","ownerState","_extends","borderRadius","edge","marginLeft","SwitchBaseInput","cursor","opacity","left","margin","zIndex","React","ref","checkedProp","checked","defaultChecked","disabledProp","inputRef","onBlur","onFocus","readOnly","tabIndex","other","_objectWithoutPropertiesLoose","useControlled","controlled","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","slots","capitalize","input","composeClasses","useUtilityClasses","_jsxs","component","centerRipple","focusRipple","role","undefined","_jsx","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/2966.0b278e3b.chunk.js b/portal-ui/build/static/js/2966.ced4dcf6.chunk.js similarity index 65% rename from portal-ui/build/static/js/2966.0b278e3b.chunk.js rename to portal-ui/build/static/js/2966.ced4dcf6.chunk.js index e917e5a80..b1db69647 100644 --- a/portal-ui/build/static/js/2966.0b278e3b.chunk.js +++ b/portal-ui/build/static/js/2966.ced4dcf6.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2966],{82825:function(e,n,t){t.r(n);var a=t(23430),o=t(18489),i=t(50390),l=t(34424),s=t(66946),r=t(81378),c=t(86509),d=t(4285),u=t(25594),p=t(72462),m=t(44149),h=t(30324),v=t(51002),Z=t(27207),f=t(66964),x=t(41227),b=t(62559),g=(0,l.$j)(null,{setModalErrorSnackMessage:m.zb});n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.bK),p.QV),p.DF),p.ID))}))(g((function(e){var n=e.classes,t=e.open,o=e.bucketName,l=e.closeModalAndRefresh,c=e.setModalErrorSnackMessage,d=(0,i.useState)(!1),p=(0,a.Z)(d,2),m=p[0],g=p[1],j=(0,i.useState)(!0),k=(0,a.Z)(j,2),C=k[0],y=k[1],N=(0,i.useState)("compliance"),S=(0,a.Z)(N,2),F=S[0],M=S[1],P=(0,i.useState)("days"),R=(0,a.Z)(P,2),w=R[0],I=R[1],B=(0,i.useState)(1),L=(0,a.Z)(B,2),E=L[0],O=L[1],z=(0,i.useState)(!1),W=(0,a.Z)(z,2),_=W[0],A=W[1];return(0,i.useEffect)((function(){Number.isNaN(E)||E<1?A(!1):A(!0)}),[E]),(0,i.useEffect)((function(){C&&h.Z.invoke("GET","/api/v1/buckets/".concat(o,"/retention")).then((function(e){y(!1),M(e.mode),O(e.validity),I(e.unit)})).catch((function(e){y(!1)}))}),[C,o]),(0,b.jsx)(v.Z,{title:"Set Retention Configuration",modalOpen:t,onClose:function(){l()},children:C?(0,b.jsx)(x.Z,{style:{width:16,height:16}}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),m||(g(!0),h.Z.invoke("PUT","/api/v1/buckets/".concat(o,"/retention"),{mode:F,unit:w,validity:E}).then((function(){g(!1),l()})).catch((function(e){g(!1),c(e)})))},children:(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalFormScrollable,children:[(0,b.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:F,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){M(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:w,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){I(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(f.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){O(e.target.valueAsNumber)},label:"Retention Validity",value:String(E),required:!0,min:"1"})})]}),(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,b.jsx)(s.Z,{type:"button",variant:"outlined",color:"primary",disabled:m,onClick:function(){l()},children:"Cancel"}),(0,b.jsx)(s.Z,{type:"submit",variant:"contained",color:"primary",disabled:m||!_,children:"Set"})]}),m&&(0,b.jsx)(u.ZP,{item:!0,xs:12,children:(0,b.jsx)(r.Z,{})})]})})})})))},66964:function(e,n,t){var a=t(18489),o=t(50390),i=t(12066),l=t(25594),s=t(36554),r=t(94187),c=t(95467),d=t(86509),u=t(62449),p=t(4285),m=t(72462),h=t(97538),v=t(44977),Z=t(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},m.gM))}));function x(e){var n=f();return(0,Z.jsx)(i.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,f=e.autoComplete,b=void 0===f?"off":f,g=e.disabled,j=void 0!==g&&g,k=e.multiline,C=void 0!==k&&k,y=e.tooltip,N=void 0===y?"":y,S=e.index,F=void 0===S?0:S,M=e.error,P=void 0===M?"":M,R=e.required,w=void 0!==R&&R,I=e.placeholder,B=void 0===I?"":I,L=e.min,E=e.max,O=e.overlayId,z=e.overlayIcon,W=void 0===z?null:z,_=e.overlayObject,A=void 0===_?null:_,D=e.extraInputProps,q=void 0===D?{}:D,T=e.overlayAction,H=e.noLabelMinWidth,K=void 0!==H&&H,U=e.pattern,Y=void 0===U?"":U,G=e.autoFocus,V=void 0!==G&&G,Q=e.classes,$=e.className,J=void 0===$?"":$,X=e.onKeyPress,ee=(0,a.Z)({"data-index":F},q);return"number"===m&&L&&(ee.min=L),"number"===m&&E&&(ee.max=E),""!==Y&&(ee.pattern=Y),(0,Z.jsx)(o.Fragment,{children:(0,Z.jsxs)(l.ZP,{container:!0,className:(0,v.Z)(""!==J?J:"",""!==P?Q.errorInField:Q.inputBoxContainer),children:[""!==n&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:K?Q.noMinWidthLabel:Q.inputLabel,children:[(0,Z.jsxs)("span",{children:[n,w?"*":""]}),""!==N&&(0,Z.jsx)("div",{className:Q.tooltipContainer,children:(0,Z.jsx)(r.Z,{title:N,placement:"top-start",children:(0,Z.jsx)("div",{className:Q.tooltip,children:(0,Z.jsx)(h.Z,{})})})})]}),(0,Z.jsxs)("div",{className:Q.textBoxContainer,children:[(0,Z.jsx)(x,{id:d,name:u,fullWidth:!0,value:i,autoFocus:V,disabled:j,onChange:t,type:m,multiline:C,autoComplete:b,inputProps:ee,error:""!==P,helperText:P,placeholder:B,className:Q.inputRebase,onKeyPress:X}),W&&(0,Z.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,Z.jsx)(c.Z,{onClick:T?function(){T()}:function(){return null},id:O,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:W})}),A&&(0,Z.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:A})]})]})})}))},27207:function(e,n,t){var a=t(36222),o=t(18489),i=(t(50390),t(44977)),l=t(25594),s=t(82420),r=t(66695),c=t(98893),d=t(36554),u=t(94187),p=t(86509),m=t(4285),h=t(62449),v=t(72462),Z=t(97538),f=t(62559),x=(0,h.Z)((0,o.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},v.FU)),b=function(e){var n=x();return(0,f.jsx)(c.Z,(0,o.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,f.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,f.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},v.YI),v.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,t=void 0===n?[]:n,o=e.currentSelection,c=e.label,p=e.id,m=e.name,h=e.onChange,v=e.tooltip,x=void 0===v?"":v,g=e.disableOptions,j=void 0!==g&&g,k=e.classes,C=e.displayInColumn,y=void 0!==C&&C;return(0,f.jsxs)(l.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(l.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(d.Z,{htmlFor:p,className:k.inputLabel,children:[(0,f.jsx)("span",{children:c}),""!==x&&(0,f.jsx)("div",{className:k.tooltipContainer,children:(0,f.jsx)(u.Z,{title:x,placement:"top-start",children:(0,f.jsx)("div",{children:(0,f.jsx)(Z.Z,{})})})})]})}),(0,f.jsx)(l.ZP,{item:!0,xs:!0,className:k.radioOptionsLayout,children:(0,f.jsx)(s.Z,{"aria-label":p,id:p,name:m,value:o,onChange:h,row:!y,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,f.jsx)(r.Z,{value:e.value,control:(0,f.jsx)(b,{}),label:e.label,disabled:j,className:(0,i.Z)(k.optionLabel,(0,a.Z)({},k.checkedOption,e.value===o))},"rd-".concat(m,"-").concat(e.value))}))})})]})}))},51002:function(e,n,t){var a=t(23430),o=t(18489),i=t(50390),l=t(34424),s=t(95467),r=t(97771),c=t(84402),d=t(78426),u=t(93085),p=t(86509),m=t(4285),h=t(72462),v=t(44149),Z=t(21278),f=t(45980),x=t(62559),b=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:v.MK});n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(b((function(e){var n=e.onClose,t=e.modalOpen,l=e.title,p=e.children,m=e.classes,h=e.wideLimit,v=void 0===h||h,b=e.modalSnackMessage,g=e.noContentPadding,j=e.setModalSnackMessage,k=e.titleIcon,C=void 0===k?null:k,y=(0,i.useState)(!1),N=(0,a.Z)(y,2),S=N[0],F=N[1];(0,i.useEffect)((function(){j("")}),[j]),(0,i.useEffect)((function(){if(b){if(""===b.message)return void F(!1);"error"!==b.type&&F(!0)}}),[b]);var M=v?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return b&&(P=b.detailedErrorMsg,(""===b.detailedErrorMsg||b.detailedErrorMsg.length<5)&&(P=b.message)),(0,x.jsxs)(c.Z,(0,o.Z)((0,o.Z)({open:t,classes:m},M),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:m.root,children:[(0,x.jsxs)(d.Z,{className:m.title,children:[(0,x.jsxs)("div",{className:m.titleText,children:[C," ",l]}),(0,x.jsx)("div",{className:m.closeContainer,children:(0,x.jsx)(s.Z,{"aria-label":"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,x.jsx)(Z.Z,{})})})]}),(0,x.jsx)(f.Z,{isModal:!0}),(0,x.jsx)(r.Z,{open:S,className:m.snackBarModal,onClose:function(){F(!1),j("")},message:P,ContentProps:{className:"".concat(m.snackBar," ").concat(b&&"error"===b.type?m.errorSnackBar:"")},autoHideDuration:b&&"error"===b.type?1e4:5e3}),(0,x.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))},21278:function(e,n,t){var a=t(64119);n.Z=void 0;var o=a(t(66830)),i=t(62559),l=(0,o.default)((0,i.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");n.Z=l},16756:function(e,n,t){t.d(n,{Z:function(){return g}});var a=t(23430),o=t(1048),i=t(32793),l=t(50390),s=t(44977),r=t(50076),c=t(91442),d=t(8208),u=t(55386),p=t(23060),m=t(86875),h=t(10594);function v(e){return(0,h.Z)("PrivateSwitchBase",e)}(0,t(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var Z=t(62559),f=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],x=(0,d.ZP)(m.Z)((function(e){var n=e.ownerState;return(0,i.Z)({padding:9,borderRadius:"50%"},"start"===n.edge&&{marginLeft:"small"===n.size?-3:-12},"end"===n.edge&&{marginRight:"small"===n.size?-3:-12})})),b=(0,d.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),g=l.forwardRef((function(e,n){var t=e.autoFocus,l=e.checked,d=e.checkedIcon,m=e.className,h=e.defaultChecked,g=e.disabled,j=e.disableFocusRipple,k=void 0!==j&&j,C=e.edge,y=void 0!==C&&C,N=e.icon,S=e.id,F=e.inputProps,M=e.inputRef,P=e.name,R=e.onBlur,w=e.onChange,I=e.onFocus,B=e.readOnly,L=e.required,E=e.tabIndex,O=e.type,z=e.value,W=(0,o.Z)(e,f),_=(0,u.Z)({controlled:l,default:Boolean(h),name:"SwitchBase",state:"checked"}),A=(0,a.Z)(_,2),D=A[0],q=A[1],T=(0,p.Z)(),H=g;T&&"undefined"===typeof H&&(H=T.disabled);var K="checkbox"===O||"radio"===O,U=(0,i.Z)({},e,{checked:D,disabled:H,disableFocusRipple:k,edge:y}),Y=function(e){var n=e.classes,t=e.checked,a=e.disabled,o=e.edge,i={root:["root",t&&"checked",a&&"disabled",o&&"edge".concat((0,c.Z)(o))],input:["input"]};return(0,r.Z)(i,v,n)}(U);return(0,Z.jsxs)(x,(0,i.Z)({component:"span",className:(0,s.Z)(Y.root,m),centerRipple:!0,focusRipple:!k,disabled:H,tabIndex:null,role:void 0,onFocus:function(e){I&&I(e),T&&T.onFocus&&T.onFocus(e)},onBlur:function(e){R&&R(e),T&&T.onBlur&&T.onBlur(e)},ownerState:U,ref:n},W,{children:[(0,Z.jsx)(b,(0,i.Z)({autoFocus:t,checked:l,defaultChecked:h,className:Y.input,disabled:H,id:K&&S,name:P,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var n=e.target.checked;q(n),w&&w(e,n)}},readOnly:B,ref:M,required:L,ownerState:U,tabIndex:E,type:O},"checkbox"===O&&void 0===z?{}:{value:z},F)),D?d:N]}))}))}}]); -//# sourceMappingURL=2966.0b278e3b.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[2966],{82825:function(e,n,t){t.r(n);var a=t(23430),o=t(18489),i=t(50390),l=t(34424),s=t(66946),r=t(81378),c=t(86509),d=t(4285),u=t(25594),p=t(72462),m=t(44149),h=t(30324),v=t(51002),Z=t(27207),f=t(66964),x=t(41227),b=t(62559),g=(0,l.$j)(null,{setModalErrorSnackMessage:m.zb});n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.bK),p.QV),p.DF),p.ID))}))(g((function(e){var n=e.classes,t=e.open,o=e.bucketName,l=e.closeModalAndRefresh,c=e.setModalErrorSnackMessage,d=(0,i.useState)(!1),p=(0,a.Z)(d,2),m=p[0],g=p[1],j=(0,i.useState)(!0),k=(0,a.Z)(j,2),C=k[0],y=k[1],N=(0,i.useState)("compliance"),S=(0,a.Z)(N,2),F=S[0],M=S[1],P=(0,i.useState)("days"),R=(0,a.Z)(P,2),w=R[0],I=R[1],B=(0,i.useState)(1),L=(0,a.Z)(B,2),E=L[0],O=L[1],z=(0,i.useState)(!1),W=(0,a.Z)(z,2),_=W[0],A=W[1];return(0,i.useEffect)((function(){Number.isNaN(E)||E<1?A(!1):A(!0)}),[E]),(0,i.useEffect)((function(){C&&h.Z.invoke("GET","/api/v1/buckets/".concat(o,"/retention")).then((function(e){y(!1),M(e.mode),O(e.validity),I(e.unit)})).catch((function(e){y(!1)}))}),[C,o]),(0,b.jsx)(v.Z,{title:"Set Retention Configuration",modalOpen:t,onClose:function(){l()},children:C?(0,b.jsx)(x.Z,{style:{width:16,height:16}}):(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),m||(g(!0),h.Z.invoke("PUT","/api/v1/buckets/".concat(o,"/retention"),{mode:F,unit:w,validity:E}).then((function(){g(!1),l()})).catch((function(e){g(!1),c(e)})))},children:(0,b.jsxs)(u.ZP,{container:!0,children:[(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalFormScrollable,children:[(0,b.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:F,id:"retention_mode",name:"retention_mode",label:"Retention Mode",onChange:function(e){M(e.target.value)},selectorOptions:[{value:"compliance",label:"Compliance"},{value:"governance",label:"Governance"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(Z.Z,{currentSelection:w,id:"retention_unit",name:"retention_unit",label:"Retention Unit",onChange:function(e){I(e.target.value)},selectorOptions:[{value:"days",label:"Days"},{value:"years",label:"Years"}]})}),(0,b.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,b.jsx)(f.Z,{type:"number",id:"retention_validity",name:"retention_validity",onChange:function(e){O(e.target.valueAsNumber)},label:"Retention Validity",value:String(E),required:!0,min:"1"})})]}),(0,b.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,b.jsx)(s.Z,{type:"button",variant:"outlined",color:"primary",disabled:m,onClick:function(){l()},children:"Cancel"}),(0,b.jsx)(s.Z,{type:"submit",variant:"contained",color:"primary",disabled:m||!_,children:"Set"})]}),m&&(0,b.jsx)(u.ZP,{item:!0,xs:12,children:(0,b.jsx)(r.Z,{})})]})})})})))},66964:function(e,n,t){var a=t(18489),o=t(50390),i=t(12066),l=t(25594),s=t(36554),r=t(94187),c=t(95467),d=t(86509),u=t(62449),p=t(4285),m=t(72462),h=t(97538),v=t(44977),Z=t(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,a.Z)({},m.gM))}));function x(e){var n=f();return(0,Z.jsx)(i.Z,(0,a.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,a.Z)((0,a.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,i=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,f=e.autoComplete,b=void 0===f?"off":f,g=e.disabled,j=void 0!==g&&g,k=e.multiline,C=void 0!==k&&k,y=e.tooltip,N=void 0===y?"":y,S=e.index,F=void 0===S?0:S,M=e.error,P=void 0===M?"":M,R=e.required,w=void 0!==R&&R,I=e.placeholder,B=void 0===I?"":I,L=e.min,E=e.max,O=e.overlayId,z=e.overlayIcon,W=void 0===z?null:z,_=e.overlayObject,A=void 0===_?null:_,D=e.extraInputProps,q=void 0===D?{}:D,T=e.overlayAction,H=e.noLabelMinWidth,K=void 0!==H&&H,U=e.pattern,Y=void 0===U?"":U,G=e.autoFocus,V=void 0!==G&&G,Q=e.classes,$=e.className,J=void 0===$?"":$,X=e.onKeyPress,ee=(0,a.Z)({"data-index":F},q);return"number"===m&&L&&(ee.min=L),"number"===m&&E&&(ee.max=E),""!==Y&&(ee.pattern=Y),(0,Z.jsx)(o.Fragment,{children:(0,Z.jsxs)(l.ZP,{container:!0,className:(0,v.Z)(""!==J?J:"",""!==P?Q.errorInField:Q.inputBoxContainer),children:[""!==n&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:K?Q.noMinWidthLabel:Q.inputLabel,children:[(0,Z.jsxs)("span",{children:[n,w?"*":""]}),""!==N&&(0,Z.jsx)("div",{className:Q.tooltipContainer,children:(0,Z.jsx)(r.Z,{title:N,placement:"top-start",children:(0,Z.jsx)("div",{className:Q.tooltip,children:(0,Z.jsx)(h.Z,{})})})})]}),(0,Z.jsxs)("div",{className:Q.textBoxContainer,children:[(0,Z.jsx)(x,{id:d,name:u,fullWidth:!0,value:i,autoFocus:V,disabled:j,onChange:t,type:m,multiline:C,autoComplete:b,inputProps:ee,error:""!==P,helperText:P,placeholder:B,className:Q.inputRebase,onKeyPress:X}),W&&(0,Z.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,Z.jsx)(c.Z,{onClick:T?function(){T()}:function(){return null},id:O,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:W})}),A&&(0,Z.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==n?"withLabel":""),children:A})]})]})})}))},27207:function(e,n,t){var a=t(36222),o=t(18489),i=(t(50390),t(44977)),l=t(25594),s=t(82420),r=t(66695),c=t(98893),d=t(36554),u=t(94187),p=t(86509),m=t(4285),h=t(62449),v=t(72462),Z=t(97538),f=t(62559),x=(0,h.Z)((0,o.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},v.FU)),b=function(e){var n=x();return(0,f.jsx)(c.Z,(0,o.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,f.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,f.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},v.YI),v.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,t=void 0===n?[]:n,o=e.currentSelection,c=e.label,p=e.id,m=e.name,h=e.onChange,v=e.tooltip,x=void 0===v?"":v,g=e.disableOptions,j=void 0!==g&&g,k=e.classes,C=e.displayInColumn,y=void 0!==C&&C;return(0,f.jsxs)(l.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(l.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(d.Z,{htmlFor:p,className:k.inputLabel,children:[(0,f.jsx)("span",{children:c}),""!==x&&(0,f.jsx)("div",{className:k.tooltipContainer,children:(0,f.jsx)(u.Z,{title:x,placement:"top-start",children:(0,f.jsx)("div",{children:(0,f.jsx)(Z.Z,{})})})})]})}),(0,f.jsx)(l.ZP,{item:!0,xs:!0,className:k.radioOptionsLayout,children:(0,f.jsx)(s.Z,{"aria-label":p,id:p,name:m,value:o,onChange:h,row:!y,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,f.jsx)(r.Z,{value:e.value,control:(0,f.jsx)(b,{}),label:e.label,disabled:j,className:(0,i.Z)(k.optionLabel,(0,a.Z)({},k.checkedOption,e.value===o))},"rd-".concat(m,"-").concat(e.value))}))})})]})}))},51002:function(e,n,t){var a=t(23430),o=t(18489),i=t(50390),l=t(34424),s=t(95467),r=t(97771),c=t(84402),d=t(78426),u=t(93085),p=t(86509),m=t(4285),h=t(72462),v=t(44149),Z=t(21278),f=t(45980),x=t(62559),b=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:v.MK});n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(b((function(e){var n=e.onClose,t=e.modalOpen,l=e.title,p=e.children,m=e.classes,h=e.wideLimit,v=void 0===h||h,b=e.modalSnackMessage,g=e.noContentPadding,j=e.setModalSnackMessage,k=e.titleIcon,C=void 0===k?null:k,y=(0,i.useState)(!1),N=(0,a.Z)(y,2),S=N[0],F=N[1];(0,i.useEffect)((function(){j("")}),[j]),(0,i.useEffect)((function(){if(b){if(""===b.message)return void F(!1);"error"!==b.type&&F(!0)}}),[b]);var M=v?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return b&&(P=b.detailedErrorMsg,(""===b.detailedErrorMsg||b.detailedErrorMsg.length<5)&&(P=b.message)),(0,x.jsxs)(c.Z,(0,o.Z)((0,o.Z)({open:t,classes:m},M),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:m.root,children:[(0,x.jsxs)(d.Z,{className:m.title,children:[(0,x.jsxs)("div",{className:m.titleText,children:[C," ",l]}),(0,x.jsx)("div",{className:m.closeContainer,children:(0,x.jsx)(s.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,x.jsx)(Z.Z,{})})})]}),(0,x.jsx)(f.Z,{isModal:!0}),(0,x.jsx)(r.Z,{open:S,className:m.snackBarModal,onClose:function(){F(!1),j("")},message:P,ContentProps:{className:"".concat(m.snackBar," ").concat(b&&"error"===b.type?m.errorSnackBar:"")},autoHideDuration:b&&"error"===b.type?1e4:5e3}),(0,x.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))},21278:function(e,n,t){var a=t(64119);n.Z=void 0;var o=a(t(66830)),i=t(62559),l=(0,o.default)((0,i.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");n.Z=l},16756:function(e,n,t){t.d(n,{Z:function(){return g}});var a=t(23430),o=t(1048),i=t(32793),l=t(50390),s=t(44977),r=t(50076),c=t(91442),d=t(8208),u=t(55386),p=t(23060),m=t(86875),h=t(10594);function v(e){return(0,h.Z)("PrivateSwitchBase",e)}(0,t(43349).Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var Z=t(62559),f=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],x=(0,d.ZP)(m.Z)((function(e){var n=e.ownerState;return(0,i.Z)({padding:9,borderRadius:"50%"},"start"===n.edge&&{marginLeft:"small"===n.size?-3:-12},"end"===n.edge&&{marginRight:"small"===n.size?-3:-12})})),b=(0,d.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),g=l.forwardRef((function(e,n){var t=e.autoFocus,l=e.checked,d=e.checkedIcon,m=e.className,h=e.defaultChecked,g=e.disabled,j=e.disableFocusRipple,k=void 0!==j&&j,C=e.edge,y=void 0!==C&&C,N=e.icon,S=e.id,F=e.inputProps,M=e.inputRef,P=e.name,R=e.onBlur,w=e.onChange,I=e.onFocus,B=e.readOnly,L=e.required,E=e.tabIndex,O=e.type,z=e.value,W=(0,o.Z)(e,f),_=(0,u.Z)({controlled:l,default:Boolean(h),name:"SwitchBase",state:"checked"}),A=(0,a.Z)(_,2),D=A[0],q=A[1],T=(0,p.Z)(),H=g;T&&"undefined"===typeof H&&(H=T.disabled);var K="checkbox"===O||"radio"===O,U=(0,i.Z)({},e,{checked:D,disabled:H,disableFocusRipple:k,edge:y}),Y=function(e){var n=e.classes,t=e.checked,a=e.disabled,o=e.edge,i={root:["root",t&&"checked",a&&"disabled",o&&"edge".concat((0,c.Z)(o))],input:["input"]};return(0,r.Z)(i,v,n)}(U);return(0,Z.jsxs)(x,(0,i.Z)({component:"span",className:(0,s.Z)(Y.root,m),centerRipple:!0,focusRipple:!k,disabled:H,tabIndex:null,role:void 0,onFocus:function(e){I&&I(e),T&&T.onFocus&&T.onFocus(e)},onBlur:function(e){R&&R(e),T&&T.onBlur&&T.onBlur(e)},ownerState:U,ref:n},W,{children:[(0,Z.jsx)(b,(0,i.Z)({autoFocus:t,checked:l,defaultChecked:h,className:Y.input,disabled:H,id:K&&S,name:P,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var n=e.target.checked;q(n),w&&w(e,n)}},readOnly:B,ref:M,required:L,ownerState:U,tabIndex:E,type:O},"checkbox"===O&&void 0===z?{}:{value:z},F)),D?d:N]}))}))}}]); +//# sourceMappingURL=2966.ced4dcf6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/2966.ced4dcf6.chunk.js.map b/portal-ui/build/static/js/2966.ced4dcf6.chunk.js.map new file mode 100644 index 000000000..3d97ea39c --- /dev/null +++ b/portal-ui/build/static/js/2966.ced4dcf6.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/2966.ced4dcf6.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n createTenantCommon,\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport RadioGroupSelector from \"../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Loader from \"../../Common/Loader/Loader\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...createTenantCommon,\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface ISetRetentionConfigProps {\n classes: any;\n open: boolean;\n bucketName: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetRetentionConfig = ({\n classes,\n open,\n bucketName,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: ISetRetentionConfigProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [loadingForm, setLoadingForm] = useState(true);\n const [retentionMode, setRetentionMode] = useState(\"compliance\");\n const [retentionUnit, setRetentionUnit] = useState(\"days\");\n const [retentionValidity, setRetentionValidity] = useState(1);\n const [valid, setValid] = useState(false);\n\n const setRetention = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/retention`, {\n mode: retentionMode,\n unit: retentionUnit,\n validity: retentionValidity,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n if (Number.isNaN(retentionValidity) || retentionValidity < 1) {\n setValid(false);\n return;\n }\n setValid(true);\n }, [retentionValidity]);\n\n useEffect(() => {\n if (loadingForm) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingForm(false);\n\n // We set default values\n setRetentionMode(res.mode);\n setRetentionValidity(res.validity);\n setRetentionUnit(res.unit);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingForm(false);\n });\n }\n }, [loadingForm, bucketName]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n >\n {loadingForm ? (\n \n ) : (\n ) => {\n setRetention(e);\n }}\n >\n \n \n \n ) => {\n setRetentionMode(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"compliance\", label: \"Compliance\" },\n { value: \"governance\", label: \"Governance\" },\n ]}\n />\n \n \n ) => {\n setRetentionUnit(e.target.value as string);\n }}\n selectorOptions={[\n { value: \"days\", label: \"Days\" },\n { value: \"years\", label: \"Years\" },\n ]}\n />\n \n \n ) => {\n setRetentionValidity(e.target.valueAsNumber);\n }}\n label=\"Retention Validity\"\n value={String(retentionValidity)}\n required\n min=\"1\"\n />\n \n \n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n \n Set\n \n \n {addLoading && (\n \n \n \n )}\n \n \n )}\n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SetRetentionConfig));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n
    \n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"checked\", \"checkedIcon\", \"className\", \"defaultChecked\", \"disabled\", \"disableFocusRipple\", \"edge\", \"icon\", \"id\", \"inputProps\", \"inputRef\", \"name\", \"onBlur\", \"onChange\", \"onFocus\", \"readOnly\", \"required\", \"tabIndex\", \"type\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useControlled from '../utils/useControlled';\nimport useFormControl from '../FormControl/useFormControl';\nimport ButtonBase from '../ButtonBase';\nimport { getSwitchBaseUtilityClass } from './switchBaseClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\n\nconst SwitchBaseRoot = styled(ButtonBase)(({\n ownerState\n}) => _extends({\n padding: 9,\n borderRadius: '50%'\n}, ownerState.edge === 'start' && {\n marginLeft: ownerState.size === 'small' ? -3 : -12\n}, ownerState.edge === 'end' && {\n marginRight: ownerState.size === 'small' ? -3 : -12\n}));\nconst SwitchBaseInput = styled('input')({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n/**\n * @ignore - internal component.\n */\n\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n className,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required,\n tabIndex,\n type,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n\n let disabled = disabledProp;\n\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n\n const ownerState = _extends({}, props, {\n checked,\n disabled,\n disableFocusRipple,\n edge\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SwitchBaseRoot, _extends({\n component: \"span\",\n className: clsx(classes.root, className),\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled: disabled,\n tabIndex: null,\n role: undefined,\n onFocus: handleFocus,\n onBlur: handleBlur,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: [/*#__PURE__*/_jsx(SwitchBaseInput, _extends({\n autoFocus: autoFocus,\n checked: checkedProp,\n defaultChecked: defaultChecked,\n className: classes.input,\n disabled: disabled,\n id: hasLabelFor && id,\n name: name,\n onChange: handleInputChange,\n readOnly: readOnly,\n ref: inputRef,\n required: required,\n ownerState: ownerState,\n tabIndex: tabIndex,\n type: type\n }, type === 'checkbox' && value === undefined ? {} : {\n value\n }, inputProps)), checked ? checkedIcon : icon]\n }));\n}); // NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\n\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /*\n * @ignore\n */\n name: PropTypes.string,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","spacingUtils","createTenantCommon","formFieldStyles","modalStyleUtils","classes","open","bucketName","closeModalAndRefresh","useState","addLoading","setAddLoading","loadingForm","setLoadingForm","retentionMode","setRetentionMode","retentionUnit","setRetentionUnit","retentionValidity","setRetentionValidity","valid","setValid","useEffect","Number","isNaN","api","then","res","mode","validity","unit","catch","err","title","modalOpen","onClose","style","width","height","noValidate","autoComplete","onSubmit","e","preventDefault","container","item","xs","className","modalFormScrollable","formFieldRow","currentSelection","id","name","label","onChange","target","value","selectorOptions","type","valueAsNumber","String","required","min","modalButtonBar","variant","color","disabled","onClick","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","placeholder","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","radioStyles","root","backgroundColor","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","icon","radioUnselectedIcon","optionLabel","marginRight","fontSize","checkedOption","disableOptions","displayInColumn","alignItems","radioOptionsLayout","row","display","textAlign","map","selectorOption","control","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","padding","paddingBottom","customDialogSize","snackBarCommon","children","wideLimit","noContentPadding","titleIcon","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","length","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getSwitchBaseUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchBaseRoot","styled","ButtonBase","ownerState","_extends","borderRadius","edge","marginLeft","SwitchBaseInput","cursor","opacity","left","margin","zIndex","React","ref","checkedProp","checked","defaultChecked","disabledProp","inputRef","onBlur","onFocus","readOnly","tabIndex","other","_objectWithoutPropertiesLoose","useControlled","controlled","Boolean","setCheckedState","muiFormControl","useFormControl","hasLabelFor","slots","capitalize","input","composeClasses","useUtilityClasses","_jsxs","component","centerRipple","focusRipple","role","undefined","_jsx","nativeEvent","defaultPrevented","newChecked"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3276.1afa9e35.chunk.js b/portal-ui/build/static/js/3276.1afa9e35.chunk.js deleted file mode 100644 index 7f72f46d3..000000000 --- a/portal-ui/build/static/js/3276.1afa9e35.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3276],{10660:function(e,t,n){n(50390);var i=n(25594),r=n(56805),s=n(8235),a=n(62559);t.Z=function(e){var t=e.iconComponent,n=e.entity;return(0,a.jsx)(i.ZP,{container:!0,alignItems:"center",children:(0,a.jsx)(i.ZP,{item:!0,xs:12,children:(0,a.jsx)(s.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,a.jsxs)(r.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:[(0,a.jsx)("div",{children:"This feature is not available for a single-disk setup. "}),(0,a.jsxs)("div",{children:["Please deploy a server in"," ",(0,a.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},92440:function(e,t,n){var i=n(36222),r=n(18489),s=n(50390),a=n(86509),o=n(4285),l=n(49056),c=n(36554),d=n(94187),p=n(35477),u=n(25594),x=n(72462),h=n(97538),m=n(44977),f=n(62559),j=(0,o.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);t.Z=(0,o.Z)((function(e){return(0,a.Z)((0,r.Z)((0,r.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},x.OR),x.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,a=e.onChange,o=e.value,l=e.id,x=e.name,b=e.checked,Z=void 0!==b&&b,g=e.disabled,v=void 0!==g&&g,y=e.switchOnly,k=void 0!==y&&y,C=e.tooltip,w=void 0===C?"":C,N=e.description,I=void 0===N?"":N,T=e.classes,S=e.indicatorLabels,P=e.extraInputProps,F=void 0===P?{}:P,L=(0,f.jsxs)(s.Fragment,{children:[!k&&(0,f.jsx)("span",{className:(0,m.Z)(T.indicatorLabel,(0,i.Z)({},T.indicatorLabelOn,!Z)),children:S&&S.length>1?S[1]:"OFF"}),(0,f.jsx)(j,{checked:Z,onChange:a,color:"primary",name:x,inputProps:(0,r.Z)({"aria-label":"primary checkbox"},F),disabled:v,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:o,id:l}),!k&&(0,f.jsx)("span",{className:(0,m.Z)(T.indicatorLabel,(0,i.Z)({},T.indicatorLabelOn,Z)),children:S?S[0]:"ON"})]});return k?L:(0,f.jsx)("div",{className:T.divContainer,children:(0,f.jsxs)(u.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(u.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(u.ZP,{container:!0,children:[(0,f.jsx)(u.ZP,{item:!0,xs:12,sm:""!==I?4:10,md:""!==I?3:9,children:""!==n&&(0,f.jsxs)(c.Z,{htmlFor:l,className:T.inputLabel,children:[(0,f.jsx)("span",{children:n}),""!==w&&(0,f.jsx)("div",{className:T.tooltipContainer,children:(0,f.jsx)(d.Z,{title:w,placement:"top-start",children:(0,f.jsx)("div",{className:T.tooltip,children:(0,f.jsx)(h.Z,{})})})})]})}),(0,f.jsx)(u.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==I&&(0,f.jsx)(p.Z,{component:"p",className:T.fieldDescription,children:I})})]})}),(0,f.jsx)(u.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:T.switchContainer,children:L})]})})}))},66964:function(e,t,n){var i=n(18489),r=n(50390),s=n(12066),a=n(25594),o=n(36554),l=n(94187),c=n(95467),d=n(86509),p=n(62449),u=n(4285),x=n(72462),h=n(97538),m=n(44977),f=n(62559),j=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)({},x.gM))}));function b(e){var t=j();return(0,f.jsx)(s.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},x.YI),x.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},x.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,s=e.value,d=e.id,p=e.name,u=e.type,x=void 0===u?"text":u,j=e.autoComplete,Z=void 0===j?"off":j,g=e.disabled,v=void 0!==g&&g,y=e.multiline,k=void 0!==y&&y,C=e.tooltip,w=void 0===C?"":C,N=e.index,I=void 0===N?0:N,T=e.error,S=void 0===T?"":T,P=e.required,F=void 0!==P&&P,L=e.placeholder,M=void 0===L?"":L,E=e.min,B=e.max,R=e.overlayId,D=e.overlayIcon,O=void 0===D?null:D,_=e.overlayObject,W=void 0===_?null:_,z=e.extraInputProps,A=void 0===z?{}:z,V=e.overlayAction,$=e.noLabelMinWidth,q=void 0!==$&&$,H=e.pattern,K=void 0===H?"":H,Y=e.autoFocus,G=void 0!==Y&&Y,U=e.classes,Q=e.className,X=void 0===Q?"":Q,J=e.onKeyPress,ee=(0,i.Z)({"data-index":I},A);return"number"===x&&E&&(ee.min=E),"number"===x&&B&&(ee.max=B),""!==K&&(ee.pattern=K),(0,f.jsx)(r.Fragment,{children:(0,f.jsxs)(a.ZP,{container:!0,className:(0,m.Z)(""!==X?X:"",""!==S?U.errorInField:U.inputBoxContainer),children:[""!==t&&(0,f.jsxs)(o.Z,{htmlFor:d,className:q?U.noMinWidthLabel:U.inputLabel,children:[(0,f.jsxs)("span",{children:[t,F?"*":""]}),""!==w&&(0,f.jsx)("div",{className:U.tooltipContainer,children:(0,f.jsx)(l.Z,{title:w,placement:"top-start",children:(0,f.jsx)("div",{className:U.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:U.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:p,fullWidth:!0,value:s,autoFocus:G,disabled:v,onChange:n,type:x,multiline:k,autoComplete:Z,inputProps:ee,error:""!==S,helperText:S,placeholder:M,className:U.inputRebase,onKeyPress:J}),O&&(0,f.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:V?function(){V()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:O})}),W&&(0,f.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==t?"withLabel":""),children:W})]})]})})}))},51002:function(e,t,n){var i=n(23430),r=n(18489),s=n(50390),a=n(34424),o=n(95467),l=n(97771),c=n(84402),d=n(78426),p=n(93085),u=n(86509),x=n(4285),h=n(72462),m=n(44149),f=n(21278),j=n(45980),b=n(62559),Z=(0,a.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:m.MK});t.Z=(0,x.Z)((function(e){return(0,u.Z)((0,r.Z)((0,r.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(Z((function(e){var t=e.onClose,n=e.modalOpen,a=e.title,u=e.children,x=e.classes,h=e.wideLimit,m=void 0===h||h,Z=e.modalSnackMessage,g=e.noContentPadding,v=e.setModalSnackMessage,y=e.titleIcon,k=void 0===y?null:y,C=(0,s.useState)(!1),w=(0,i.Z)(C,2),N=w[0],I=w[1];(0,s.useEffect)((function(){v("")}),[v]),(0,s.useEffect)((function(){if(Z){if(""===Z.message)return void I(!1);"error"!==Z.type&&I(!0)}}),[Z]);var T=m?{classes:{paper:x.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},S="";return Z&&(S=Z.detailedErrorMsg,(""===Z.detailedErrorMsg||Z.detailedErrorMsg.length<5)&&(S=Z.message)),(0,b.jsxs)(c.Z,(0,r.Z)((0,r.Z)({open:n,classes:x},T),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:x.root,children:[(0,b.jsxs)(d.Z,{className:x.title,children:[(0,b.jsxs)("div",{className:x.titleText,children:[k," ",a]}),(0,b.jsx)("div",{className:x.closeContainer,children:(0,b.jsx)(o.Z,{"aria-label":"close",className:x.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,b.jsx)(f.Z,{})})})]}),(0,b.jsx)(j.Z,{isModal:!0}),(0,b.jsx)(l.Z,{open:N,className:x.snackBarModal,onClose:function(){I(!1),v("")},message:S,ContentProps:{className:"".concat(x.snackBar," ").concat(Z&&"error"===Z.type?x.errorSnackBar:"")},autoHideDuration:Z&&"error"===Z.type?1e4:5e3}),(0,b.jsx)(p.Z,{className:g?"":x.content,children:u})]}))})))},93276:function(e,t,n){n.r(t);var i=n(33032),r=n(23430),s=n(18489),a=n(84322),o=n.n(a),l=n(50390),c=n(56805),d=n(66946),p=n(23473),u=n(35721),x=n(25534),h=n(66964),m=n(92440),f=n(86362),j=n(51002),b=n(86509),Z=n(72462),g=n(4285),v=n(44149),y=n(34424),k=n(8235),C=n(28948),w=n(10660),N=n(50364),I=n(94863),T=n(62559),S={setErrorSnackMessage:v.Ih},P=(0,y.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),S);t.default=(0,g.Z)((function(e){return(0,b.Z)((0,s.Z)((0,s.Z)({switchLabel:{fontWeight:"normal"}},Z.Qw),Z.ID))}))(P((function(e){var t=e.classes,n=e.setErrorSnackMessage,s=e.distributedSetup,a=(0,l.useState)(""),b=(0,r.Z)(a,2),Z=b[0],g=b[1],v=(0,l.useState)(""),y=(0,r.Z)(v,2),S=y[0],P=y[1],F=(0,l.useState)(!0),L=(0,r.Z)(F,2),M=L[0],E=L[1],B=(0,l.useState)(""),R=(0,r.Z)(B,2),D=R[0],O=R[1],_=(0,l.useState)(""),W=(0,r.Z)(_,2),z=W[0],A=W[1],V=(0,l.useState)(!1),$=(0,r.Z)(V,2),q=$[0],H=$[1],K=(0,l.useState)(""),Y=(0,r.Z)(K,2),G=Y[0],U=Y[1],Q=(0,l.useState)(""),X=(0,r.Z)(Q,2),J=X[0],ee=X[1];(0,l.useEffect)((function(){var e,t;(e=Z.trim().length>0)?"/"===Z.slice(0,1)&&(e=!1,U("Volume/Bucket name cannot start with /")):U("This field is required"),t=S.trim().length>0,S?"/"===S.slice(0,1)&&(t=!1,ee("Path cannot start with /")):ee("This field is required");var n=e&&t;e&&U(""),t&&ee(""),H(n)}),[Z,S]);var te=function(){var e=(0,i.Z)(o().mark((function e(t){return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(t,{method:"GET"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ne=function(){var e=(0,i.Z)(o().mark((function e(){var t,r,s;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=encodeURIComponent(S),r=encodeURIComponent(Z),s="/api/v1/admin/inspect?volume=".concat(r,"&file=").concat(t,"&encrypt=").concat(M),te(s).then(function(){var e=(0,i.Z)(o().mark((function e(t){var i,r,s,a;return o().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,t.json();case 3:i=e.sent,n({errorMessage:i.message,detailedError:i.code});case 5:return e.next=7,t.blob();case 7:r=e.sent,s=t.headers.get("content-disposition").split('"')[1],a=(0,C.Do)(s)||"",(0,C.zZ)(r,s),A(s),O(a);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){n(e)}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ie=function(){g(""),P(""),E(!0)};return(0,T.jsxs)(l.Fragment,{children:[(0,T.jsx)(u.Z,{label:"Inspect"}),(0,T.jsxs)(x.Z,{children:[s?(0,T.jsxs)(l.Fragment,{children:[(0,T.jsx)(c.Z,{sx:{border:"1px solid #eaeaea",padding:"25px"},children:(0,T.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),ne()},children:[(0,T.jsx)(c.Z,{children:(0,T.jsx)(h.Z,{id:"inspect_volume",name:"inspect_volume",extraInputProps:{"data-test-id":"inspect_volume"},onChange:function(e){g(e.target.value)},label:"Volume or Bucket Name",value:Z,error:G,required:!0,placeholder:"test-bucket"})}),(0,T.jsx)(c.Z,{sx:{marginTop:"15px"},children:(0,T.jsx)(h.Z,{id:"inspect_path",name:"inspect_path",extraInputProps:{"data-test-id":"inspect_path"},error:J,onChange:function(e){P(e.target.value)},label:"File or Path to inspect",value:S,required:!0,placeholder:"test*/xl.meta"})}),(0,T.jsx)(c.Z,{sx:{marginTop:"25px"},children:(0,T.jsx)(m.Z,{classes:{inputLabel:t.switchLabel},extraInputProps:{"data-test-id":"inspect_encrypt"},label:"Encrypt",indicatorLabels:["True","False"],checked:M,value:"true",id:"inspect_encrypt",name:"inspect_encrypt",onChange:function(e){E(!M)}})}),(0,T.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"55px"},children:[(0,T.jsx)(d.Z,{sx:{marginRight:"15px"},type:"button",color:"primary",variant:"outlined","data-test-id":"inspect-clear-button",onClick:ie,children:"Clear"}),(0,T.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary","data-test-id":"inspect-submit-button",disabled:!q,children:"Inspect"})]})]})}),(0,T.jsx)(c.Z,{sx:{marginTop:"55px"},children:(0,T.jsx)(k.Z,{title:"Inspect",iconComponent:(0,T.jsx)(f.rt,{}),help:(0,T.jsxs)(l.Fragment,{children:[(0,T.jsx)(c.Z,{sx:{marginTop:"15px"},children:"Inspect files on MinIO server"}),(0,T.jsx)(c.Z,{sx:{marginTop:"15px",fontWeight:500},children:"Examples"}),(0,T.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",flex:"2",marginTop:"15px","& .step-number":{color:"#ffffff",height:"25px",width:"25px",background:"#081C42",marginRight:"10px",textAlign:"center",fontWeight:600,borderRadius:"50%"},"& .step-row":{fontSize:"16px",display:"flex",marginTop:"15px",marginBottom:"15px"},"& code":{paddingLeft:"10px",paddingRight:"10px",paddingTop:"4px",paddingBottom:"3px",borderRadius:"2px",backgroundColor:"#eaeaea",color:"#082146"},"& .spacer":{marginBottom:"5px"}},children:[(0,T.jsxs)(c.Z,{children:[(0,T.jsx)(c.Z,{className:"step-row",children:(0,T.jsx)("div",{className:"step-text",children:"To Download 'xl.meta' for a specific object from all the drives in a zip file:"})}),(0,T.jsx)(c.Z,{sx:{flex:"1",marginTop:"15px",marginLeft:"35px","& input":{color:"#737373"}},children:(0,T.jsxs)(c.Z,{children:[(0,T.jsx)("label",{children:"Volume/bucket Name :"})," ",(0,T.jsx)("code",{children:"test-bucket"}),(0,T.jsx)("div",{className:"spacer"}),(0,T.jsx)("label",{children:"Path : "}),(0,T.jsx)("code",{children:"test*/xl.meta"})]})})]}),(0,T.jsxs)(c.Z,{children:[(0,T.jsx)(c.Z,{className:"step-row",children:(0,T.jsx)("div",{className:"step-text",children:"To Download all constituent parts for a specific object, and optionally encrypt the downloaded zip:"})}),(0,T.jsx)(c.Z,{sx:{flex:"1",marginTop:"15px",marginLeft:"35px","& input":{color:"#737373"}},children:(0,T.jsxs)(c.Z,{children:[(0,T.jsx)("label",{children:"Volume/bucket Name : "}),(0,T.jsx)("code",{children:"test-bucket"}),(0,T.jsx)("div",{className:"spacer"}),(0,T.jsx)("label",{children:"Path :"})," ",(0,T.jsx)("code",{children:"test*/*/part.*"})]})})]}),(0,T.jsxs)(c.Z,{children:[(0,T.jsx)(c.Z,{className:"step-row",children:(0,T.jsxs)("div",{className:"step-text",children:["To Download recursively all objects at a prefix.",(0,T.jsx)("br",{}),"NOTE: This can be an expensive operation use it with caution."]})}),(0,T.jsx)(c.Z,{sx:{flex:"1",marginTop:"15px",marginLeft:"35px","& input":{color:"#737373"}},children:(0,T.jsxs)(c.Z,{children:[(0,T.jsx)("label",{children:"Volume/bucket Name : "}),(0,T.jsx)("code",{children:"test-bucket"}),(0,T.jsx)("div",{className:"spacer"}),(0,T.jsx)("label",{children:"Path :"})," ",(0,T.jsx)("code",{children:"test/**"})]})})]})]}),(0,T.jsxs)(c.Z,{sx:{marginTop:"30px"},children:["You can learn more at our"," ",(0,T.jsx)("a",{href:"https://github.com/minio/minio/tree/master/docs/debugging?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})]})})})]}):(0,T.jsx)(w.Z,{iconComponent:(0,T.jsx)(N.Gp,{}),entity:"Inspect"}),D?(0,T.jsx)(j.Z,{modalOpen:!0,title:"Inspect Decryption Key",onClose:function(){(0,C.kT)(z),O(""),ie()},titleIcon:(0,T.jsx)(f.tv,{}),children:(0,T.jsxs)(p.Z,{children:[(0,T.jsxs)(c.Z,{children:["This will be displayed only once. It cannot be recovered.",(0,T.jsx)("br",{}),"Use secure medium to share this key."]}),(0,T.jsx)(c.Z,{children:(0,T.jsx)(I.Z,{value:D})})]})}):null]})]})})))},94863:function(e,t,n){var i=n(23430),r=n(56805),s=n(66946),a=n(66964),o=n(86362),l=n(50390),c=n(62559);t.Z=function(e){var t=e.value,n=(0,l.useState)(!1),d=(0,i.Z)(n,2),p=d[0],u=d[1];return(0,c.jsxs)(r.Z,{sx:{display:"flex",alignItems:"center",flexFlow:{sm:"row",xs:"column"}},children:[(0,c.jsx)(a.Z,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:p?"text":"password",onChange:function(){},value:t,overlayIcon:(0,c.jsx)(o.TI,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(t)}}),(0,c.jsx)(s.Z,{sx:{marginLeft:"10px"},variant:"contained",onClick:function(){return u(!p)},children:"Show/Hide"})]})}}}]); -//# sourceMappingURL=3276.1afa9e35.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3276.1afa9e35.chunk.js.map b/portal-ui/build/static/js/3276.1afa9e35.chunk.js.map deleted file mode 100644 index 3b8fd2985..000000000 --- a/portal-ui/build/static/js/3276.1afa9e35.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3276.1afa9e35.chunk.js","mappings":"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","sources":["screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tools/Inspect.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
    This feature is not available for a single-disk setup.
    \n\n
    \n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
    \n \n }\n />\n
    \n
    \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
    \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n
    \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
    \n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n
    \n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
    \n
    \n\n \n {switchComponent}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Box, Button, DialogContentText } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { FileBookIcon, PasswordKeyIcon } from \"../../../icons\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n deleteDialogStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { connect } from \"react-redux\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport {\n deleteCookie,\n getCookieValue,\n performDownload,\n} from \"../../../common/utils\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport { AppState } from \"../../../store\";\nimport { InspectMenuIcon } from \"../../../icons/SidebarMenus\";\nimport KeyRevealer from \"./KeyRevealer\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n switchLabel: {\n fontWeight: \"normal\",\n },\n ...deleteDialogStyles,\n ...modalStyleUtils,\n });\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\nconst connector = connect(mapState, mapDispatchToProps);\n\nconst Inspect = ({\n classes,\n setErrorSnackMessage,\n distributedSetup,\n}: {\n classes: any;\n setErrorSnackMessage: any;\n distributedSetup: boolean;\n}) => {\n const [volumeName, setVolumeName] = useState(\"\");\n const [inspectPath, setInspectPath] = useState(\"\");\n const [isEncrypt, setIsEncrypt] = useState(true);\n\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n\n const [insFileName, setInsFileName] = useState(\"\");\n\n const [isFormValid, setIsFormValid] = useState(false);\n const [volumeError, setVolumeError] = useState(\"\");\n const [pathError, setPathError] = useState(\"\");\n\n /**\n * Validation Effect\n */\n useEffect(() => {\n let isVolValid;\n let isPathValid;\n\n isVolValid = volumeName.trim().length > 0;\n if (!isVolValid) {\n setVolumeError(\"This field is required\");\n } else if (volumeName.slice(0, 1) === \"/\") {\n isVolValid = false;\n setVolumeError(\"Volume/Bucket name cannot start with /\");\n }\n isPathValid = inspectPath.trim().length > 0;\n if (!inspectPath) {\n setPathError(\"This field is required\");\n } else if (inspectPath.slice(0, 1) === \"/\") {\n isPathValid = false;\n setPathError(\"Path cannot start with /\");\n }\n const isValid = isVolValid && isPathValid;\n\n if (isVolValid) {\n setVolumeError(\"\");\n }\n if (isPathValid) {\n setPathError(\"\");\n }\n\n setIsFormValid(isValid);\n }, [volumeName, inspectPath]);\n\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n const file = encodeURIComponent(inspectPath);\n const volume = encodeURIComponent(volumeName);\n\n const urlOfInspectApi = `/api/v1/admin/inspect?volume=${volume}&file=${file}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n });\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n setErrorSnackMessage(err);\n });\n };\n\n const resetForm = () => {\n setVolumeName(\"\");\n setInspectPath(\"\");\n setIsEncrypt(true);\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n setDecryptionKey(\"\");\n resetForm();\n };\n\n return (\n \n \n \n {!distributedSetup ? (\n }\n entity={\"Inspect\"}\n />\n ) : (\n \n \n ) => {\n e.preventDefault();\n performInspect();\n }}\n >\n \n ) => {\n setVolumeName(e.target.value);\n }}\n label=\"Volume or Bucket Name\"\n value={volumeName}\n error={volumeError}\n required\n placeholder={\"test-bucket\"}\n />\n \n \n ) => {\n setInspectPath(e.target.value);\n }}\n label=\"File or Path to inspect\"\n value={inspectPath}\n required\n placeholder={\"test*/xl.meta\"}\n />\n \n \n {\n setIsEncrypt(!isEncrypt);\n }}\n />\n \n \n \n Clear\n \n \n Inspect\n \n \n \n \n \n }\n help={\n \n \n Inspect files on MinIO server\n \n\n \n Examples\n \n\n \n \n \n
    \n To Download 'xl.meta' for a specific object from all\n the drives in a zip file:\n
    \n
    \n\n \n \n {\" \"}\n test-bucket\n
    \n \n test*/xl.meta\n \n \n \n\n \n \n
    \n To Download all constituent parts for a specific\n object, and optionally encrypt the downloaded zip:\n
    \n
    \n\n \n \n \n test-bucket\n
    \n test*/*/part.*\n \n \n \n \n \n
    \n To Download recursively all objects at a prefix.\n
    \n NOTE: This can be an expensive operation use it with\n caution.\n
    \n
    \n\n \n \n \n test-bucket\n
    \n test/**\n \n \n \n \n\n \n You can learn more at our{\" \"}\n \n documentation\n \n .\n \n \n }\n />\n \n \n )}\n {decryptionKey ? (\n }\n >\n \n \n This will be displayed only once. It cannot be recovered.\n
    \n Use secure medium to share this key.\n
    \n \n \n \n
    \n \n ) : null}\n \n \n );\n};\n\nexport default withStyles(styles)(connector(Inspect));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Box, Button } from \"@mui/material\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\nimport { useState } from \"react\";\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n setShown(!shown)}\n >\n Show/Hide\n \n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["iconComponent","entity","container","alignItems","item","xs","title","help","sx","fontSize","display","border","flexFlow","md","color","theme","colors","link","textDecoration","href","target","rel","StyledSwitch","withStyles","root","width","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","label","onChange","value","id","name","disabled","switchOnly","description","classes","indicatorLabels","extraInputProps","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","noLabelMinWidth","pattern","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","onClick","size","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","useState","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","open","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","mapDispatchToProps","setErrorSnackMessage","distributedSetup","switchLabel","modalStyleUtils","volumeName","setVolumeName","inspectPath","setInspectPath","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","isFormValid","setIsFormValid","volumeError","setVolumeError","pathError","setPathError","isVolValid","isPathValid","trim","slice","isValid","makeRequest","url","fetch","method","performInspect","file","encodeURIComponent","volume","urlOfInspectApi","then","res","ok","json","resErr","errorMessage","detailedError","code","blob","filename","headers","get","split","decryptKey","getCookieValue","performDownload","catch","err","resetForm","Fragment","noValidate","onSubmit","e","preventDefault","marginRight","variant","flex","background","paddingLeft","paddingRight","paddingTop","deleteCookie","shown","setShown","readOnly","navigator","clipboard","writeText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3276.ef1e5b52.chunk.js b/portal-ui/build/static/js/3276.ef1e5b52.chunk.js new file mode 100644 index 000000000..72b44e65a --- /dev/null +++ b/portal-ui/build/static/js/3276.ef1e5b52.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3276],{10660:function(e,t,n){n(50390);var i=n(25594),a=n(56805),s=n(8235),o=n(62559);t.Z=function(e){var t=e.iconComponent,n=e.entity;return(0,o.jsx)(i.ZP,{container:!0,alignItems:"center",children:(0,o.jsx)(i.ZP,{item:!0,xs:12,children:(0,o.jsx)(s.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,o.jsxs)(a.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:[(0,o.jsx)("div",{children:"This feature is not available for a single-disk setup. "}),(0,o.jsxs)("div",{children:["Please deploy a server in"," ",(0,o.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},92440:function(e,t,n){var i=n(36222),a=n(18489),s=n(50390),o=n(86509),r=n(4285),l=n(49056),c=n(36554),d=n(94187),p=n(35477),x=n(25594),u=n(72462),h=n(97538),m=n(44977),f=n(62559),g=(0,r.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(l.Z);t.Z=(0,r.Z)((function(e){return(0,o.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},u.OR),u.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,o=e.onChange,r=e.value,l=e.id,u=e.name,b=e.checked,j=void 0!==b&&b,Z=e.disabled,v=void 0!==Z&&Z,y=e.switchOnly,w=void 0!==y&&y,k=e.tooltip,C=void 0===k?"":k,S=e.description,N=void 0===S?"":S,I=e.classes,F=e.indicatorLabels,T=e.extraInputProps,L=void 0===T?{}:T,P=(0,f.jsxs)(s.Fragment,{children:[!w&&(0,f.jsx)("span",{className:(0,m.Z)(I.indicatorLabel,(0,i.Z)({},I.indicatorLabelOn,!j)),children:F&&F.length>1?F[1]:"OFF"}),(0,f.jsx)(g,{checked:j,onChange:o,color:"primary",name:u,inputProps:(0,a.Z)({"aria-label":"primary checkbox"},L),disabled:v,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r,id:l}),!w&&(0,f.jsx)("span",{className:(0,m.Z)(I.indicatorLabel,(0,i.Z)({},I.indicatorLabelOn,j)),children:F?F[0]:"ON"})]});return w?P:(0,f.jsx)("div",{className:I.divContainer,children:(0,f.jsxs)(x.ZP,{container:!0,alignItems:"center",children:[(0,f.jsx)(x.ZP,{item:!0,xs:!0,children:(0,f.jsxs)(x.ZP,{container:!0,children:[(0,f.jsx)(x.ZP,{item:!0,xs:12,sm:""!==N?4:10,md:""!==N?3:9,children:""!==n&&(0,f.jsxs)(c.Z,{htmlFor:l,className:I.inputLabel,children:[(0,f.jsx)("span",{children:n}),""!==C&&(0,f.jsx)("div",{className:I.tooltipContainer,children:(0,f.jsx)(d.Z,{title:C,placement:"top-start",children:(0,f.jsx)("div",{className:I.tooltip,children:(0,f.jsx)(h.Z,{})})})})]})}),(0,f.jsx)(x.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==N&&(0,f.jsx)(p.Z,{component:"p",className:I.fieldDescription,children:N})})]})}),(0,f.jsx)(x.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:I.switchContainer,children:P})]})})}))},66964:function(e,t,n){var i=n(18489),a=n(50390),s=n(12066),o=n(25594),r=n(36554),l=n(94187),c=n(95467),d=n(86509),p=n(62449),x=n(4285),u=n(72462),h=n(97538),m=n(44977),f=n(62559),g=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)({},u.gM))}));function b(e){var t=g();return(0,f.jsx)(s.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,x.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},u.YI),u.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},u.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,s=e.value,d=e.id,p=e.name,x=e.type,u=void 0===x?"text":x,g=e.autoComplete,j=void 0===g?"off":g,Z=e.disabled,v=void 0!==Z&&Z,y=e.multiline,w=void 0!==y&&y,k=e.tooltip,C=void 0===k?"":k,S=e.index,N=void 0===S?0:S,I=e.error,F=void 0===I?"":I,T=e.required,L=void 0!==T&&T,P=e.placeholder,B=void 0===P?"":P,E=e.min,R=e.max,M=e.overlayId,W=e.overlayIcon,z=void 0===W?null:W,V=e.overlayObject,D=void 0===V?null:V,_=e.extraInputProps,O=void 0===_?{}:_,A=e.overlayAction,$=e.noLabelMinWidth,q=void 0!==$&&$,G=e.pattern,H=void 0===G?"":G,K=e.autoFocus,Y=void 0!==K&&K,U=e.classes,Q=e.className,X=void 0===Q?"":Q,J=e.onKeyPress,ee=(0,i.Z)({"data-index":N},O);return"number"===u&&E&&(ee.min=E),"number"===u&&R&&(ee.max=R),""!==H&&(ee.pattern=H),(0,f.jsx)(a.Fragment,{children:(0,f.jsxs)(o.ZP,{container:!0,className:(0,m.Z)(""!==X?X:"",""!==F?U.errorInField:U.inputBoxContainer),children:[""!==t&&(0,f.jsxs)(r.Z,{htmlFor:d,className:q?U.noMinWidthLabel:U.inputLabel,children:[(0,f.jsxs)("span",{children:[t,L?"*":""]}),""!==C&&(0,f.jsx)("div",{className:U.tooltipContainer,children:(0,f.jsx)(l.Z,{title:C,placement:"top-start",children:(0,f.jsx)("div",{className:U.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:U.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:p,fullWidth:!0,value:s,autoFocus:Y,disabled:v,onChange:n,type:u,multiline:w,autoComplete:j,inputProps:ee,error:""!==F,helperText:F,placeholder:B,className:U.inputRebase,onKeyPress:J}),z&&(0,f.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:A?function(){A()}:function(){return null},id:M,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),D&&(0,f.jsx)("div",{className:"".concat(U.overlayAction," ").concat(""!==t?"withLabel":""),children:D})]})]})})}))},51002:function(e,t,n){var i=n(23430),a=n(18489),s=n(50390),o=n(34424),r=n(95467),l=n(97771),c=n(84402),d=n(78426),p=n(93085),x=n(86509),u=n(4285),h=n(72462),m=n(44149),f=n(21278),g=n(45980),b=n(62559),j=(0,o.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:m.MK});t.Z=(0,u.Z)((function(e){return(0,x.Z)((0,a.Z)((0,a.Z)({},h.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(j((function(e){var t=e.onClose,n=e.modalOpen,o=e.title,x=e.children,u=e.classes,h=e.wideLimit,m=void 0===h||h,j=e.modalSnackMessage,Z=e.noContentPadding,v=e.setModalSnackMessage,y=e.titleIcon,w=void 0===y?null:y,k=(0,s.useState)(!1),C=(0,i.Z)(k,2),S=C[0],N=C[1];(0,s.useEffect)((function(){v("")}),[v]),(0,s.useEffect)((function(){if(j){if(""===j.message)return void N(!1);"error"!==j.type&&N(!0)}}),[j]);var I=m?{classes:{paper:u.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},F="";return j&&(F=j.detailedErrorMsg,(""===j.detailedErrorMsg||j.detailedErrorMsg.length<5)&&(F=j.message)),(0,b.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:n,classes:u},I),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:u.root,children:[(0,b.jsxs)(d.Z,{className:u.title,children:[(0,b.jsxs)("div",{className:u.titleText,children:[w," ",o]}),(0,b.jsx)("div",{className:u.closeContainer,children:(0,b.jsx)(r.Z,{"aria-label":"close",id:"close",className:u.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,b.jsx)(f.Z,{})})})]}),(0,b.jsx)(g.Z,{isModal:!0}),(0,b.jsx)(l.Z,{open:S,className:u.snackBarModal,onClose:function(){N(!1),v("")},message:F,ContentProps:{className:"".concat(u.snackBar," ").concat(j&&"error"===j.type?u.errorSnackBar:"")},autoHideDuration:j&&"error"===j.type?1e4:5e3}),(0,b.jsx)(p.Z,{className:Z?"":u.content,children:x})]}))})))},93276:function(e,t,n){n.r(t);var i=n(33032),a=n(23430),s=n(18489),o=n(84322),r=n.n(o),l=n(50390),c=n(56805),d=n(66946),p=n(23473),x=n(35721),u=n(25534),h=n(66964),m=n(92440),f=n(14549),g=n(51002),b=n(86509),j=n(72462),Z=n(4285),v=n(44149),y=n(34424),w=n(8235),k=n(28948),C=n(10660),S=n(50364),N=n(94863),I=n(62559),F={setErrorSnackMessage:v.Ih},T=(0,y.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),F),L=function(e){var t=e.volumeVal,n=e.pathVal;return(0,I.jsx)(c.Z,{className:"code-block-container",children:(0,I.jsxs)(c.Z,{className:"example-code-block",children:[(0,I.jsxs)(c.Z,{sx:{display:"flex",marginBottom:"5px",flexFlow:{sm:"row",xs:"column"}},children:[(0,I.jsx)("label",{children:"Volume/bucket Name :"})," ",(0,I.jsx)("code",{children:t})]}),(0,I.jsxs)(c.Z,{sx:{display:"flex",flexFlow:{sm:"row",xs:"column"}},children:[(0,I.jsx)("label",{children:"Path : "}),(0,I.jsx)("code",{children:n})]})]})})};t.default=(0,Z.Z)((function(e){return(0,b.Z)((0,s.Z)((0,s.Z)({switchLabel:{fontWeight:"normal"}},j.Qw),j.ID))}))(T((function(e){var t=e.classes,n=e.setErrorSnackMessage,s=e.distributedSetup,o=(0,l.useState)(""),b=(0,a.Z)(o,2),j=b[0],Z=b[1],v=(0,l.useState)(""),y=(0,a.Z)(v,2),F=y[0],T=y[1],P=(0,l.useState)(!0),B=(0,a.Z)(P,2),E=B[0],R=B[1],M=(0,l.useState)(""),W=(0,a.Z)(M,2),z=W[0],V=W[1],D=(0,l.useState)(""),_=(0,a.Z)(D,2),O=_[0],A=_[1],$=(0,l.useState)(!1),q=(0,a.Z)($,2),G=q[0],H=q[1],K=(0,l.useState)(""),Y=(0,a.Z)(K,2),U=Y[0],Q=Y[1],X=(0,l.useState)(""),J=(0,a.Z)(X,2),ee=J[0],te=J[1];(0,l.useEffect)((function(){var e,t;(e=j.trim().length>0)?"/"===j.slice(0,1)&&(e=!1,Q("Volume/Bucket name cannot start with /")):Q("This field is required"),t=F.trim().length>0,F?"/"===F.slice(0,1)&&(t=!1,te("Path cannot start with /")):te("This field is required");var n=e&&t;e&&Q(""),t&&te(""),H(n)}),[j,F]);var ne=function(){var e=(0,i.Z)(r().mark((function e(t){return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(t,{method:"GET"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),ie=function(){var e=(0,i.Z)(r().mark((function e(){var t,a,s;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:t=encodeURIComponent(F),a=encodeURIComponent(j),s="/api/v1/admin/inspect?volume=".concat(a,"&file=").concat(t,"&encrypt=").concat(E),ne(s).then(function(){var e=(0,i.Z)(r().mark((function e(t){var i,a,s,o;return r().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.ok){e.next=5;break}return e.next=3,t.json();case 3:i=e.sent,n({errorMessage:i.message,detailedError:i.code});case 5:return e.next=7,t.blob();case 7:a=e.sent,s=t.headers.get("content-disposition").split('"')[1],o=(0,k.Do)(s)||"",(0,k.zZ)(a,s),A(s),V(o);case 13:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()).catch((function(e){n(e)}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),ae=function(){Z(""),T(""),R(!0)};return(0,I.jsxs)(l.Fragment,{children:[(0,I.jsx)(x.Z,{label:"Inspect"}),(0,I.jsxs)(u.Z,{children:[s?(0,I.jsxs)(c.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"flex-start",border:"1px solid #eaeaea",padding:{lg:"40px",xs:"15px"},flexWrap:"wrap",gap:{lg:"55px",xs:"20px"},height:{md:"calc(100vh - 120px)",xs:"100%"},flexFlow:{lg:"row",xs:"column"}},children:[(0,I.jsx)(c.Z,{sx:{flex:{md:2,xs:1},width:{lg:"auto",xs:"100%"},padding:"25px"},children:(0,I.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),ie()},children:[(0,I.jsx)(c.Z,{children:(0,I.jsx)(h.Z,{id:"inspect_volume",name:"inspect_volume",extraInputProps:{"data-test-id":"inspect_volume"},onChange:function(e){Z(e.target.value)},label:"Volume or Bucket Name",value:j,error:U,required:!0,placeholder:"test-bucket"})}),(0,I.jsx)(c.Z,{sx:{marginTop:"15px"},children:(0,I.jsx)(h.Z,{id:"inspect_path",name:"inspect_path",extraInputProps:{"data-test-id":"inspect_path"},error:ee,onChange:function(e){T(e.target.value)},label:"File or Path to inspect",value:F,required:!0,placeholder:"test*/xl.meta"})}),(0,I.jsx)(c.Z,{sx:{marginTop:"25px"},children:(0,I.jsx)(m.Z,{classes:{inputLabel:t.switchLabel},extraInputProps:{"data-test-id":"inspect_encrypt"},label:"Encrypt",indicatorLabels:["True","False"],checked:E,value:"true",id:"inspect_encrypt",name:"inspect_encrypt",onChange:function(e){R(!E)}})}),(0,I.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"flex-end",marginTop:"55px"},children:[(0,I.jsx)(d.Z,{sx:{marginRight:"15px"},type:"button",color:"primary",variant:"outlined","data-test-id":"inspect-clear-button",onClick:ae,children:"Clear"}),(0,I.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary","data-test-id":"inspect-submit-button",disabled:!G,children:"Inspect"})]})]})}),(0,I.jsx)(c.Z,{sx:{flex:1,minWidth:{md:"365px",xs:"100%"},width:"100%"},children:(0,I.jsx)(w.Z,{title:"",iconComponent:null,help:(0,I.jsxs)(l.Fragment,{children:[(0,I.jsxs)(c.Z,{sx:{marginTop:"-25px",fontSize:"16px",fontWeight:600,display:"flex",alignItems:"center",justifyContent:"flex-start",padding:"2px"},children:[(0,I.jsx)(c.Z,{sx:{backgroundColor:"#07193E",height:"15px",width:"15px",display:"flex",alignItems:"center",justifyContent:"center",borderRadius:"50%",marginRight:"18px",padding:"3px","& .min-icon":{height:"11px",width:"11px",fill:"#ffffff"}},children:(0,I.jsx)(S.Gp,{})}),"Learn more about the Inspect feature"]}),(0,I.jsx)(c.Z,{sx:{marginTop:"16px",fontWeight:600,fontStyle:"italic",fontSize:"14px"},children:"Examples:"}),(0,I.jsxs)(c.Z,{sx:{display:"flex",flexFlow:"column",fontSize:"14px",flex:"2","& .step-number":{color:"#ffffff",height:"25px",width:"25px",background:"#081C42",marginRight:"10px",textAlign:"center",fontWeight:600,borderRadius:"50%"},"& .step-row":{fontSize:"14px",display:"flex",marginTop:"15px",marginBottom:"15px","&.step-text":{fontWeight:400},"&:before":{content:"' '",height:"7px",width:"7px",backgroundColor:"#2781B0",marginRight:"10px",marginTop:"12px",flexShrink:0}},"& .code-block-container":{flex:"1",marginTop:"15px",marginLeft:"35px","& input":{color:"#737373"}},"& .example-code-block label":{display:"inline-block",width:{sm:"160px",xs:"100%"},fontWeight:600,fontSize:"14px"},"& code":{width:{sm:"100px",xs:"100%"},paddingLeft:"10px",fontFamily:"monospace",paddingRight:"10px",paddingTop:"3px",paddingBottom:"3px",borderRadius:"2px",border:"1px solid #eaeaea",fontSize:"10px",color:"#082146",fontWeight:500},"& .spacer":{marginBottom:"5px"}},children:[(0,I.jsxs)(c.Z,{children:[(0,I.jsx)(c.Z,{className:"step-row",children:(0,I.jsx)("div",{className:"step-text",children:"To Download 'xl.meta' for a specific object from all the drives in a zip file:"})}),(0,I.jsx)(L,{pathVal:"test*/xl.meta",volumeVal:"test-bucket"})]}),(0,I.jsxs)(c.Z,{children:[(0,I.jsx)(c.Z,{className:"step-row",children:(0,I.jsx)("div",{className:"step-text",children:"To Download all constituent parts for a specific object, and optionally encrypt the downloaded zip:"})}),(0,I.jsx)(L,{pathVal:"test*/xl.meta",volumeVal:"test*/*/part.*"})]}),(0,I.jsxs)(c.Z,{children:[(0,I.jsx)(c.Z,{className:"step-row",children:(0,I.jsxs)("div",{className:"step-text",children:["To Download recursively all objects at a prefix.",(0,I.jsx)("br",{}),"NOTE: This can be an expensive operation use it with caution."]})}),(0,I.jsx)(L,{pathVal:"test*/xl.meta",volumeVal:"test/**"})]})]}),(0,I.jsxs)(c.Z,{sx:{marginTop:"30px",marginLeft:"15px",fontSize:"14px"},children:["You can learn more at our"," ",(0,I.jsx)("a",{href:"https://github.com/minio/minio/tree/master/docs/debugging?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})]})})})]}):(0,I.jsx)(C.Z,{iconComponent:(0,I.jsx)(S.Gp,{}),entity:"Inspect"}),z?(0,I.jsx)(g.Z,{modalOpen:!0,title:"Inspect Decryption Key",onClose:function(){(0,k.kT)(O),V(""),ae()},titleIcon:(0,I.jsx)(f.tv,{}),children:(0,I.jsxs)(p.Z,{component:"div",children:[(0,I.jsxs)(c.Z,{children:["This will be displayed only once. It cannot be recovered.",(0,I.jsx)("br",{}),"Use secure medium to share this key."]}),(0,I.jsx)("form",{noValidate:!0,onSubmit:function(){return!1},children:(0,I.jsx)(N.Z,{value:z})})]})}):null]})]})})))},94863:function(e,t,n){var i=n(23430),a=n(56805),s=n(66946),o=n(66964),r=n(14549),l=n(50390),c=n(62559);t.Z=function(e){var t=e.value,n=(0,l.useState)(!1),d=(0,i.Z)(n,2),p=d[0],x=d[1];return(0,c.jsxs)(a.Z,{sx:{display:"flex",alignItems:"center",flexFlow:{sm:"row",xs:"column"}},children:[(0,c.jsx)(o.Z,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:p?"text":"password",onChange:function(){},value:t,overlayIcon:(0,c.jsx)(r.TI,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(t)}}),(0,c.jsx)(s.Z,{sx:{marginLeft:"10px"},variant:"contained",onClick:function(){return x(!p)},children:"Show/Hide"})]})}}}]); +//# sourceMappingURL=3276.ef1e5b52.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3276.ef1e5b52.chunk.js.map b/portal-ui/build/static/js/3276.ef1e5b52.chunk.js.map new file mode 100644 index 000000000..de5fd1689 --- /dev/null +++ b/portal-ui/build/static/js/3276.ef1e5b52.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3276.ef1e5b52.chunk.js","mappings":"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","sources":["screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tools/Inspect.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
    This feature is not available for a single-disk setup.
    \n\n
    \n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
    \n \n }\n />\n
    \n
    \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
    \n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n
    \n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
    \n
    \n\n \n {switchComponent}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n
    \n )}\n
    \n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { Box, Button, DialogContentText } from \"@mui/material\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport { PasswordKeyIcon } from \"../../../icons\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n deleteDialogStyles,\n modalStyleUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { connect } from \"react-redux\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport {\n deleteCookie,\n getCookieValue,\n performDownload,\n} from \"../../../common/utils\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport { AppState } from \"../../../store\";\nimport { InspectMenuIcon } from \"../../../icons/SidebarMenus\";\nimport KeyRevealer from \"./KeyRevealer\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n switchLabel: {\n fontWeight: \"normal\",\n },\n ...deleteDialogStyles,\n ...modalStyleUtils,\n });\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\nconst connector = connect(mapState, mapDispatchToProps);\n\nconst ExampleBlock = ({\n volumeVal,\n pathVal,\n}: {\n volumeVal: string;\n pathVal: string;\n}) => {\n return (\n \n \n \n {volumeVal}\n \n \n \n {pathVal}\n \n
    \n
    \n );\n};\n\nconst Inspect = ({\n classes,\n setErrorSnackMessage,\n distributedSetup,\n}: {\n classes: any;\n setErrorSnackMessage: any;\n distributedSetup: boolean;\n}) => {\n const [volumeName, setVolumeName] = useState(\"\");\n const [inspectPath, setInspectPath] = useState(\"\");\n const [isEncrypt, setIsEncrypt] = useState(true);\n\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n\n const [insFileName, setInsFileName] = useState(\"\");\n\n const [isFormValid, setIsFormValid] = useState(false);\n const [volumeError, setVolumeError] = useState(\"\");\n const [pathError, setPathError] = useState(\"\");\n\n /**\n * Validation Effect\n */\n useEffect(() => {\n let isVolValid;\n let isPathValid;\n\n isVolValid = volumeName.trim().length > 0;\n if (!isVolValid) {\n setVolumeError(\"This field is required\");\n } else if (volumeName.slice(0, 1) === \"/\") {\n isVolValid = false;\n setVolumeError(\"Volume/Bucket name cannot start with /\");\n }\n isPathValid = inspectPath.trim().length > 0;\n if (!inspectPath) {\n setPathError(\"This field is required\");\n } else if (inspectPath.slice(0, 1) === \"/\") {\n isPathValid = false;\n setPathError(\"Path cannot start with /\");\n }\n const isValid = isVolValid && isPathValid;\n\n if (isVolValid) {\n setVolumeError(\"\");\n }\n if (isPathValid) {\n setPathError(\"\");\n }\n\n setIsFormValid(isValid);\n }, [volumeName, inspectPath]);\n\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n const file = encodeURIComponent(inspectPath);\n const volume = encodeURIComponent(volumeName);\n\n const urlOfInspectApi = `/api/v1/admin/inspect?volume=${volume}&file=${file}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n });\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n setErrorSnackMessage(err);\n });\n };\n\n const resetForm = () => {\n setVolumeName(\"\");\n setInspectPath(\"\");\n setIsEncrypt(true);\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n setDecryptionKey(\"\");\n resetForm();\n };\n\n return (\n \n \n \n {!distributedSetup ? (\n }\n entity={\"Inspect\"}\n />\n ) : (\n \n \n ) => {\n e.preventDefault();\n performInspect();\n }}\n >\n \n ) => {\n setVolumeName(e.target.value);\n }}\n label=\"Volume or Bucket Name\"\n value={volumeName}\n error={volumeError}\n required\n placeholder={\"test-bucket\"}\n />\n \n \n ) => {\n setInspectPath(e.target.value);\n }}\n label=\"File or Path to inspect\"\n value={inspectPath}\n required\n placeholder={\"test*/xl.meta\"}\n />\n \n \n {\n setIsEncrypt(!isEncrypt);\n }}\n />\n \n \n \n Clear\n \n \n Inspect\n \n \n \n \n \n \n \n \n \n \n Learn more about the Inspect feature\n \n\n \n Examples:\n \n\n \n \n \n
    \n To Download 'xl.meta' for a specific object from all\n the drives in a zip file:\n
    \n
    \n\n \n
    \n\n \n \n
    \n To Download all constituent parts for a specific\n object, and optionally encrypt the downloaded zip:\n
    \n
    \n\n \n
    \n \n \n
    \n To Download recursively all objects at a prefix.\n
    \n NOTE: This can be an expensive operation use it with\n caution.\n
    \n
    \n \n
    \n \n\n \n You can learn more at our{\" \"}\n \n documentation\n \n .\n \n
    \n }\n />\n \n \n )}\n {decryptionKey ? (\n }\n >\n \n \n This will be displayed only once. It cannot be recovered.\n
    \n Use secure medium to share this key.\n
    \n {\n return false;\n }}\n >\n \n \n
    \n \n ) : null}\n \n \n );\n};\n\nexport default withStyles(styles)(connector(Inspect));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Box, Button } from \"@mui/material\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\nimport { useState } from \"react\";\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n setShown(!shown)}\n >\n Show/Hide\n \n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["iconComponent","entity","container","alignItems","item","xs","title","help","sx","fontSize","display","border","flexFlow","md","color","theme","colors","link","textDecoration","href","target","rel","StyledSwitch","withStyles","root","width","height","padding","margin","switchBase","transform","palette","common","white","backgroundColor","boxShadow","opacity","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","label","onChange","value","id","name","disabled","switchOnly","description","classes","indicatorLabels","extraInputProps","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","sm","htmlFor","inputLabel","tooltipContainer","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","noLabelMinWidth","pattern","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","onClick","size","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","useState","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","open","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","mapDispatchToProps","setErrorSnackMessage","distributedSetup","ExampleBlock","volumeVal","pathVal","switchLabel","modalStyleUtils","volumeName","setVolumeName","inspectPath","setInspectPath","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","isFormValid","setIsFormValid","volumeError","setVolumeError","pathError","setPathError","isVolValid","isPathValid","trim","slice","isValid","makeRequest","url","fetch","method","performInspect","file","encodeURIComponent","volume","urlOfInspectApi","then","res","ok","json","resErr","errorMessage","detailedError","code","blob","filename","headers","get","split","decryptKey","getCookieValue","performDownload","catch","err","resetForm","Fragment","lg","flexWrap","gap","flex","noValidate","onSubmit","e","preventDefault","marginRight","variant","minWidth","fill","fontStyle","background","flexShrink","paddingLeft","fontFamily","paddingRight","paddingTop","deleteCookie","shown","setShown","readOnly","navigator","clipboard","writeText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3320.8bb47140.chunk.js b/portal-ui/build/static/js/3320.8bb47140.chunk.js new file mode 100644 index 000000000..877845c02 --- /dev/null +++ b/portal-ui/build/static/js/3320.8bb47140.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3320],{55572:function(e,t,n){var a=n(35531),l=n(18489),s=n(50390),i=n(86509),r=n(4285),o=n(72462),c=n(66964),d=n(94187),u=n(95467),m=n(96152),g=n(43615),h=n(84201),x=n(10369),v=n(62559);t.Z=(0,r.Z)((function(e){return(0,i.Z)((0,l.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20,paddingRight:20}},o.oO))}))((function(e){var t=e.classes,n=e.paramName,l=e.newValues,i=e.setNewValues,r=e.error,o=e.setError,b=function(e){o((0,x.h)(r,e))};(0,s.useEffect)((function(){for(var e=[],t=0;t1){var e=(0,a.Z)(l);e.splice(o,1),i(e)}},children:(0,v.jsx)(g.Z,{})})})]})},"keyvalue-".concat(o.toString()))}));return(0,v.jsx)(s.Fragment,{children:j})}))},88370:function(e,t,n){var a=n(18489),l=n(50390),s=n(34424),i=n(38342),r=n.n(i),o=n(86509),c=n(4285),d=n(72462),u=n(8174),m=n(62559),g=(0,s.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo,logEnabled:r()(e.tenants.tenantDetails.tenantInfo,"logEnabled",!1),monitoringEnabled:r()(e.tenants.tenantDetails.tenantInfo,"monitoringEnabled",!1),encryptionEnabled:r()(e.tenants.tenantDetails.tenantInfo,"encryptionEnabled",!1),minioTLS:r()(e.tenants.tenantDetails.tenantInfo,"minioTLS",!1),consoleTLS:r()(e.tenants.tenantDetails.tenantInfo,"consoleTLS",!1),consoleEnabled:r()(e.tenants.tenantDetails.tenantInfo,"consoleEnabled",!1),adEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpAdEnabled",!1),oidcEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpOidcEnabled",!1)}}),null);t.Z=(0,c.Z)((function(e){return(0,o.Z)((0,a.Z)((0,a.Z)({},d.oZ),{},{centerAlign:{textAlign:"center"},listHeight:{height:"50"}},(0,d.Bz)(e.spacing(4))))}))(g((function(e){var t=e.classes,n=e.records,a=e.recordName;return(0,m.jsx)(l.Fragment,{children:(0,m.jsx)(u.Z,{columns:[{label:"Key",elementKey:"key"},{label:"Value",elementKey:"value"}],isLoading:!1,records:n,itemActions:[],entityName:a,idField:"name",customPaperHeight:t.listHeight})})})))},23320:function(e,t,n){n.r(t),n.d(t,{default:function(){return I}});var a=n(23430),l=n(18489),s=n(50390),i=n(34424),r=n(86509),o=n(4285),c=n(72462),d=n(25594),u=n(23473),m=n(46981),g=n(30324),h=n(14549),x=n(44149),v=n(35531),b=n(51002),j=n(66946),f=n(55572),p=n(66964),Z=n(84201),N=n(10369),S=n(1365),C=n(62559),y=(0,o.Z)((function(e){return(0,r.Z)((0,l.Z)((0,l.Z)((0,l.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20}},c.oO),c.ID),c.DF))}))((function(e){var t=e.tenant,n=e.classes,l=e.open,i=e.onClose,r=e.image,o=e.labels,c=e.annotations,u=e.nodeSelector,m=e.diskCapacityGB,h=e.serviceAccountName,y=e.dbLabels,A=e.dbAnnotations,R=e.dbNodeSelector,q=e.dbImage,P=e.dbServiceAccountName,k=e.cpuRequest,D=e.memRequest,L=e.dbCPURequest,I=e.dbMemRequest,w=(0,s.useState)({}),E=(0,a.Z)(w,2),M=E[0],z=E[1],F=(0,s.useState)(o.length>0?(0,v.Z)(o):[{key:"",value:""}]),G=(0,a.Z)(F,2),B=G[0],T=G[1],U=(0,s.useState)(c.length>0?(0,v.Z)(c):[{key:"",value:""}]),O=(0,a.Z)(U,2),V=O[0],K=O[1],$=(0,s.useState)(u.length>0?(0,v.Z)(u):[{key:"",value:""}]),_=(0,a.Z)($,2),W=_[0],H=_[1],Y=(0,s.useState)(r),J=(0,a.Z)(Y,2),Q=J[0],X=J[1],ee=(0,s.useState)(m),te=(0,a.Z)(ee,2),ne=te[0],ae=te[1],le=(0,s.useState)(null!=h?h:""),se=(0,a.Z)(le,2),ie=se[0],re=se[1],oe=(0,s.useState)(y.length>0?(0,v.Z)(y):[{key:"",value:""}]),ce=(0,a.Z)(oe,2),de=ce[0],ue=ce[1],me=(0,s.useState)(A.length>0?(0,v.Z)(A):[{key:"",value:""}]),ge=(0,a.Z)(me,2),he=ge[0],xe=ge[1],ve=(0,s.useState)(R.length>0?(0,v.Z)(R):[{key:"",value:""}]),be=(0,a.Z)(ve,2),je=be[0],fe=be[1],pe=(0,s.useState)(q),Ze=(0,a.Z)(pe,2),Ne=Ze[0],Se=Ze[1],Ce=(0,s.useState)(null!=P?P:""),ye=(0,a.Z)(Ce,2),Ae=ye[0],Re=ye[1],qe=(0,s.useState)({}),Pe=(0,a.Z)(qe,2),ke=Pe[0],De=Pe[1],Le=(0,s.useState)({}),Ie=(0,a.Z)(Le,2),we=Ie[0],Ee=Ie[1],Me=(0,s.useState)({}),ze=(0,a.Z)(Me,2),Fe=ze[0],Ge=ze[1],Be=(0,s.useState)({}),Te=(0,a.Z)(Be,2),Ue=Te[0],Oe=Te[1],Ve=(0,s.useState)({}),Ke=(0,a.Z)(Ve,2),$e=Ke[0],_e=Ke[1],We=(0,s.useState)({}),He=(0,a.Z)(We,2),Ye=He[0],Je=He[1],Qe=(0,s.useState)(k),Xe=(0,a.Z)(Qe,2),et=Xe[0],tt=Xe[1],nt=(0,s.useState)(D?Math.floor(parseInt(D,10)/1e9).toString():"0"),at=(0,a.Z)(nt,2),lt=at[0],st=at[1],it=(0,s.useState)(L),rt=(0,a.Z)(it,2),ot=rt[0],ct=rt[1],dt=(0,s.useState)(I?Math.floor(parseInt(I,10)/1e9).toString():"0"),ut=(0,a.Z)(dt,2),mt=ut[0],gt=ut[1],ht=function(e){for(var t=[],n=0;n0&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Labels"})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)(A.Z,{records:null!=N&&N.labels.length>0?N.labels:[],recordName:"Labels"})})})]}),null!=(null===N||void 0===N?void 0:N.annotations)&&N.annotations.length>0&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Annotations"})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)(A.Z,{records:null!=N&&N.annotations.length>0?N.annotations:[],recordName:"Annotations"})})})]}),null!=(null===N||void 0===N?void 0:N.nodeSelector)&&N.nodeSelector.length>0&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Node Selector"})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)(A.Z,{records:null!=N&&N.nodeSelector.length>0?N.nodeSelector:[],recordName:"Node Selector"})})})]})]})})}),(0,C.jsx)("h2",{children:"Database Details"}),(0,C.jsx)("hr",{className:i.hrClass}),(0,C.jsx)("table",{width:"100%",children:(0,C.jsx)("tbody",{children:c?(0,C.jsx)("tr",{children:(0,C.jsx)("td",{className:i.centerAlign,colSpan:4,children:(0,C.jsx)(D.Z,{})})}):(0,C.jsxs)(s.Fragment,{children:[null!=(null===N||void 0===N?void 0:N.logDBCPURequest)&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("td",{className:i.titleCol,children:"DB CPU Request:"}),(0,C.jsx)("td",{children:null===N||void 0===N?void 0:N.logDBCPURequest})]}),null!=(null===N||void 0===N?void 0:N.logDBMemRequest)&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("td",{className:i.titleCol,children:"DB Memory Request:"}),(0,C.jsx)("td",{children:(0,k.ae)(null===N||void 0===N?void 0:N.logDBMemRequest,!0)})]}),null!=(null===N||void 0===N?void 0:N.dbImage)&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("td",{className:i.titleCol,children:"Postgres Image:"}),(0,C.jsx)("td",{children:null===N||void 0===N?void 0:N.dbImage})]}),null!=(null===N||void 0===N?void 0:N.dbServiceAccountName)&&(0,C.jsxs)("tr",{children:[(0,C.jsx)("td",{className:i.titleCol,children:"Service Account:"}),(0,C.jsx)("td",{children:null===N||void 0===N?void 0:N.dbServiceAccountName})]}),null!=(null===N||void 0===N?void 0:N.dbLabels)&&N.dbLabels.length>0&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Labels"})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)(A.Z,{records:null!=N&&(null===(t=N.dbLabels)||void 0===t?void 0:t.length)>0?N.dbLabels:[],recordName:"labels"})})})]}),null!=(null===N||void 0===N?void 0:N.annotations)&&N.dbAnnotations.length>0&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Annotations"})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)(A.Z,{records:null!=N&&(null===(n=N.dbAnnotations)||void 0===n?void 0:n.length)>0?N.dbAnnotations:[],recordName:"annotations"})})})]}),null!=(null===N||void 0===N?void 0:N.nodeSelector)&&N.dbNodeSelector.length>0&&(0,C.jsxs)(s.Fragment,{children:[(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)("h4",{children:"Node Selector "})})}),(0,C.jsx)("tr",{children:(0,C.jsx)("td",{children:(0,C.jsx)(A.Z,{records:null!=N&&(null===(l=N.dbNodeSelector)||void 0===l?void 0:l.length)>0?N.dbNodeSelector:[],recordName:"node selectors"})})})]})]})})})]})})})]})})))}}]); +//# sourceMappingURL=3320.8bb47140.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3320.8bb47140.chunk.js.map b/portal-ui/build/static/js/3320.8bb47140.chunk.js.map new file mode 100644 index 000000000..e87eb343a --- /dev/null +++ b/portal-ui/build/static/js/3320.8bb47140.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3320.8bb47140.chunk.js","mappings":"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","sources":["screens/Console/Tenants/TenantDetails/KeyPairEdit.tsx","screens/Console/Tenants/TenantDetails/KeyPairView.tsx","screens/Console/Tenants/TenantDetails/EditTenantLogsModal.tsx","screens/Console/Tenants/TenantDetails/TenantLogging.tsx"],"sourcesContent":["import React, { Fragment, useEffect } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\n\ninterface IKeyPairEditProps {\n classes: any;\n paramName: string;\n error: any;\n setError: (e: any) => void;\n newValues: IKeyValue[];\n setNewValues: (vals: IKeyValue[]) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n paddingRight: 20,\n },\n ...modalBasic,\n });\n\nconst KeyPairEdit = ({\n classes,\n paramName,\n newValues,\n setNewValues,\n error,\n setError,\n}: IKeyPairEditProps) => {\n const cleanValidation = (fieldName: string) => {\n setError(clearValidationError(error, fieldName));\n };\n\n useEffect(() => {\n let keyPairValidation: IValidation[] = [];\n\n for (var i = 0; i < newValues.length; i++) {\n keyPairValidation.push({\n fieldKey: `key-${i.toString()}`,\n required: false,\n value: newValues[i].key,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid key\",\n });\n keyPairValidation.push({\n fieldKey: `val-${i.toString()}`,\n required: false,\n value: newValues[i].value,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid value\",\n });\n }\n\n const commonVal = commonFormValidation(keyPairValidation);\n setError(commonVal);\n }, [newValues, setError]);\n\n let keyValueInputs = newValues.map((_, index) => {\n return (\n \n
    \n {\n let tempLabels = [...newValues];\n tempLabels[index].key = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`key-${index.toString()}`);\n }}\n index={index}\n key={`csv-key-${index.toString()}`}\n error={error[`key-${index.toString()}`] || \"\"}\n />\n {\n let tempLabels = [...newValues];\n tempLabels[index].value = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`val-${index.toString()}`);\n }}\n index={index}\n key={`csv-val-${index.toString()}`}\n error={error[`val-${index.toString()}`] || \"\"}\n />\n \n {\n let tempLabels = [...newValues];\n tempLabels.push({ key: \"\", value: \"\" });\n setNewValues(tempLabels);\n }}\n >\n \n \n \n \n {\n if (newValues.length === 1) {\n setNewValues([{ key: \"\", value: \"\" }]);\n }\n if (newValues.length > 1) {\n let tempLabels = [...newValues];\n tempLabels.splice(index, 1);\n setNewValues(tempLabels);\n }\n }}\n >\n \n \n \n
    \n
    \n );\n });\n\n return {keyValueInputs};\n};\n\nexport default withStyles(styles)(KeyPairEdit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n containerForHeader,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { IKeyValue } from \"../ListTenants/types\";\n\ninterface IKeyPairView {\n classes: any;\n records: IKeyValue[];\n recordName: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n centerAlign: {\n textAlign: \"center\",\n },\n listHeight: {\n height: \"50\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst KeyPairView = ({ classes, records, recordName }: IKeyPairView) => {\n return (\n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n logEnabled: get(state.tenants.tenantDetails.tenantInfo, \"logEnabled\", false),\n monitoringEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"monitoringEnabled\",\n false\n ),\n encryptionEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"encryptionEnabled\",\n false\n ),\n minioTLS: get(state.tenants.tenantDetails.tenantInfo, \"minioTLS\", false),\n consoleTLS: get(state.tenants.tenantDetails.tenantInfo, \"consoleTLS\", false),\n consoleEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"consoleEnabled\",\n false\n ),\n adEnabled: get(state.tenants.tenantDetails.tenantInfo, \"idpAdEnabled\", false),\n oidcEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"idpOidcEnabled\",\n false\n ),\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(KeyPairView));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { Button, Grid } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport KeyPairEdit from \"./KeyPairEdit\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\ninterface IEditTenantLogsProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClose: (shouldReload: boolean) => void;\n image: string;\n labels: IKeyValue[];\n annotations: IKeyValue[];\n nodeSelector: IKeyValue[];\n diskCapacityGB: number;\n serviceAccountName: string;\n dbImage: string;\n dbLabels: IKeyValue[];\n dbAnnotations: IKeyValue[];\n dbNodeSelector: IKeyValue[];\n dbServiceAccountName: string;\n cpuRequest: string;\n memRequest: string;\n dbCPURequest: string;\n dbMemRequest: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n },\n ...modalBasic,\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst EditTenantLogsModal = ({\n tenant,\n classes,\n open,\n onClose,\n image,\n labels,\n annotations,\n nodeSelector,\n diskCapacityGB,\n serviceAccountName,\n dbLabels,\n dbAnnotations,\n dbNodeSelector,\n dbImage,\n dbServiceAccountName,\n cpuRequest,\n memRequest,\n dbCPURequest,\n dbMemRequest,\n}: IEditTenantLogsProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [newLabels, setNewLabels] = useState(\n labels.length > 0 ? [...labels] : [{ key: \"\", value: \"\" }]\n );\n const [newAnnotations, setNewAnnotations] = useState(\n annotations.length > 0 ? [...annotations] : [{ key: \"\", value: \"\" }]\n );\n const [newNodeSelector, setNewNodeSelector] = useState(\n nodeSelector.length > 0 ? [...nodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newImage, setNewImage] = useState(image);\n const [newDiskCapacityGB, setNewDiskCapacityGB] =\n useState(diskCapacityGB);\n const [newServiceAccountName, setNewServiceAccountName] = useState(\n serviceAccountName != null ? serviceAccountName : \"\"\n );\n const [newDbLabels, setNewDbLabels] = useState(\n dbLabels.length > 0 ? [...dbLabels] : [{ key: \"\", value: \"\" }]\n );\n const [newDbAnnotations, setNewDbAnnotations] = useState(\n dbAnnotations.length > 0 ? [...dbAnnotations] : [{ key: \"\", value: \"\" }]\n );\n const [newDbNodeSelector, setNewDbNodeSelector] = useState(\n dbNodeSelector.length > 0 ? [...dbNodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newDbImage, setNewDbImage] = useState(dbImage);\n const [newDbServiceAccountName, setNewDbServiceAccountName] =\n useState(dbServiceAccountName != null ? dbServiceAccountName : \"\");\n const [labelsError, setLabelsError] = useState({});\n const [annotationsError, setAnnotationsError] = useState({});\n const [nodeSelectorError, setNodeSelectorError] = useState({});\n const [dbLabelsError, setDbLabelsError] = useState({});\n const [dbAnnotationsError, setDbAnnotationsError] = useState({});\n const [dbNodeSelectorError, setDbNodeSelectorError] = useState({});\n const [newCPURequest, setNewCPURequest] = useState(cpuRequest);\n const [newMemRequest, setNewMemRequest] = useState(\n memRequest\n ? Math.floor(parseInt(memRequest, 10) / 1000000000).toString()\n : \"0\"\n );\n const [newDBCPURequest, setNewDBCPURequest] = useState(dbCPURequest);\n const [newDBMemRequest, setNewDBMemRequest] = useState(\n dbMemRequest\n ? Math.floor(parseInt(dbMemRequest, 10) / 1000000000).toString()\n : \"0\"\n );\n\n const trim = (x: IKeyValue[]): IKeyValue[] => {\n let retval: IKeyValue[] = [];\n for (let i = 0; i < x.length; i++) {\n if (x[i].key !== \"\") {\n retval.push(x[i]);\n }\n }\n return retval;\n };\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n useEffect(() => {\n let tenantLogValidation: IValidation[] = [];\n\n tenantLogValidation.push({\n fieldKey: `image`,\n required: false,\n value: newImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantLogValidation.push({\n fieldKey: `dbImage`,\n required: false,\n value: newDbImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantLogValidation.push({\n fieldKey: `diskCapacityGB`,\n required: true,\n value: newDiskCapacityGB as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantLogValidation.push({\n fieldKey: `serviceAccountName`,\n required: false,\n value: newServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantLogValidation.push({\n fieldKey: `dbServiceAccountName`,\n required: false,\n value: newDbServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantLogValidation.push({\n fieldKey: `cpuRequest`,\n required: true,\n value: newCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value for number of CPUs requested\",\n });\n tenantLogValidation.push({\n fieldKey: `memRequest`,\n required: true,\n value: newMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value (Gi) for memory requested\",\n });\n tenantLogValidation.push({\n fieldKey: `dbCPURequest`,\n required: true,\n value: newDBCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value for number of DB CPUs requested\",\n });\n tenantLogValidation.push({\n fieldKey: `dbMemRequest`,\n required: true,\n value: newDBMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value (Gi) for DB memory requested\",\n });\n\n const commonVal = commonFormValidation(tenantLogValidation);\n setValidationErrors(commonVal);\n }, [\n newImage,\n newDbImage,\n newDiskCapacityGB,\n newServiceAccountName,\n newDbServiceAccountName,\n newCPURequest,\n newMemRequest,\n newDBCPURequest,\n newDBMemRequest,\n setValidationErrors,\n ]);\n\n const checkValid = (): boolean => {\n if (\n Object.keys(validationErrors).length !== 0 ||\n Object.keys(labelsError).length !== 0 ||\n Object.keys(annotationsError).length !== 0 ||\n Object.keys(nodeSelectorError).length !== 0 ||\n Object.keys(dbLabelsError).length !== 0 ||\n Object.keys(dbAnnotationsError).length !== 0 ||\n Object.keys(dbNodeSelectorError).length !== 0\n ) {\n return false;\n } else {\n return true;\n }\n };\n\n return (\n onClose(true)}\n modalOpen={open}\n title=\"Edit Logging\"\n >\n ) => {\n e.preventDefault();\n if (!checkValid()) {\n setModalErrorSnackMessage({\n errorMessage: \"Some fields have invalid values\",\n detailedError: \"\",\n });\n } else {\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${tenant.namespace}/tenants/${tenant.name}/log`,\n {\n labels: trim(newLabels),\n annotations: trim(newAnnotations),\n nodeSelector: trim(newNodeSelector),\n image: newImage,\n diskCapacityGB: newDiskCapacityGB,\n serviceAccountName: newServiceAccountName,\n dbLabels: trim(newDbLabels),\n dbAnnotations: trim(newDbAnnotations),\n dbNodeSelector: trim(newDbNodeSelector),\n dbImage: newDbImage,\n dbServiceAccountName: newDbServiceAccountName,\n logCPURequest: newCPURequest,\n logMemRequest: newMemRequest + \"Gi\",\n logDBCPURequest: newDBCPURequest,\n logDBMemRequest: newDBMemRequest + \"Gi\",\n }\n )\n .then(() => {\n onClose(true);\n })\n .catch((err: ErrorResponseHandler) => {});\n }\n }}\n >\n \n \n \n

    Logging API

    \n
    \n \n {\n setNewImage(e.target.value);\n cleanValidation(`image`);\n }}\n key={`image`}\n error={validationErrors[`image`] || \"\"}\n />\n \n \n {\n setNewDiskCapacityGB(e.target.value as any as number);\n cleanValidation(`diskCapacityGB`);\n }}\n key={`diskCapacityGB`}\n error={validationErrors[`diskCapacityGB`] || \"\"}\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n />\n \n \n {\n setNewServiceAccountName(e.target.value);\n cleanValidation(`serviceAccountName`);\n }}\n key={`serviceAccountName`}\n error={validationErrors[`serviceAccountName`] || \"\"}\n />\n \n\n \n {\n setNewCPURequest(e.target.value as any as string);\n cleanValidation(`cpuRequest`);\n }}\n key={`cpuRequest`}\n error={validationErrors[`cpuRequest`] || \"\"}\n />\n \n \n {\n setNewMemRequest(e.target.value as any as string);\n cleanValidation(`memRequest`);\n }}\n key={`memRequest`}\n error={validationErrors[`memRequest`] || \"\"}\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n />\n \n\n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n \n

    Database Configuration

    \n
    \n \n {\n setNewDbImage(e.target.value);\n cleanValidation(`dbImage`);\n }}\n key={`dbImage`}\n error={validationErrors[`dbImage`] || \"\"}\n />\n \n \n {\n setNewDbServiceAccountName(e.target.value);\n cleanValidation(`dbServiceAccountName`);\n }}\n key={`dbServiceAccountName`}\n error={validationErrors[`dbServiceAccountName`] || \"\"}\n />\n \n \n {\n setNewDBCPURequest(e.target.value as any as string);\n cleanValidation(`dbCpuRequest`);\n }}\n key={`dbCpuRequest`}\n error={validationErrors[`dbCpuRequest`] || \"\"}\n />\n \n \n {\n setNewDBMemRequest(e.target.value as any as string);\n cleanValidation(`dbMemRequest`);\n }}\n key={`dbMemRequest`}\n error={validationErrors[`dbMemRequest`] || \"\"}\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n />\n \n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n
    \n \n \n Save\n \n \n
    \n \n \n );\n};\n\nexport default withStyles(styles)(EditTenantLogsModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { DialogContentText } from \"@mui/material\";\nimport Paper from \"@mui/material/Paper\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { EditIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport EditTenantLogsModal from \"./EditTenantLogsModal\";\nimport KeyPairView from \"./KeyPairView\";\nimport { ITenantLogsStruct } from \"../ListTenants/types\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport Loader from \"../../Common/Loader/Loader\";\n\ninterface ITenantLogs {\n classes: any;\n match: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n headerLabel: {\n fontSize: 22,\n fontWeight: 600,\n color: \"#000\",\n marginTop: 4,\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n tableWrapper: {\n height: \"calc(100vh - 267px)\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst TenantLogging = ({\n classes,\n match,\n tenant,\n loadingTenant,\n}: ITenantLogs) => {\n const [loadingTenantLogs, setLoadingTenantLogs] = useState(true);\n const [logInfo, setLogInfo] = useState();\n const [edit, setEdit] = useState(false);\n const [disabled, setDisabled] = useState(false);\n const [preDisabled, setPreDisabled] = useState(false);\n const [disableDialogOpen, setDisableDialogOpen] = useState(false);\n const [enableDialogOpen, setEnableDialogOpen] = useState(false);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n useEffect(() => {\n if (loadingTenantLogs) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/log`\n )\n .then((result: ITenantLogsStruct) => {\n setLogInfo(result);\n setPreDisabled(result.disabled);\n setDisabled(result.disabled);\n setLoadingTenantLogs(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error getting tenant logs\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [tenantName, tenantNamespace, loadingTenantLogs, setDisabled, disabled]);\n\n const onCloseEditAndRefresh = () => {\n setDisableDialogOpen(false);\n setEdit(false);\n setLoadingTenantLogs(true);\n };\n\n const onCloseEnableAndRefresh = () => {\n setEnableDialogOpen(false);\n setDisabled(false);\n setLoadingTenantLogs(true);\n };\n\n return (\n \n {\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/disable-logging`\n )\n .then(() => {\n setPreDisabled(true);\n setDisabled(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error disabling logging\",\n detailedError: err.detailedError,\n });\n });\n onCloseEditAndRefresh();\n }}\n onClose={() => setDisableDialogOpen(false)}\n confirmationContent={\n \n Disabling logging will erase any custom values you have used to\n configure logging\n \n }\n />\n {\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/enable-logging`\n )\n .then(() => {\n setPreDisabled(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error enabling logging\",\n detailedError: err.detailedError,\n });\n });\n onCloseEnableAndRefresh();\n }}\n onClose={() => setEnableDialogOpen(false)}\n confirmationContent={\n \n Logging will be enabled with default values\n \n }\n />\n {edit && tenant !== null && logInfo != null && !disabled && (\n \n )}\n

    Logging

    \n
    \n {\n const targetD = e.target;\n const checked = targetD.checked;\n if (checked) {\n setEnableDialogOpen(true);\n } else {\n setDisableDialogOpen(true);\n }\n }}\n label={\"Logging\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n {!disabled && !loadingTenantLogs && (\n {\n setEdit(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n )}\n
    \n {!disabled && !loadingTenantLogs && (\n \n \n \n

    Logging API Service Details

    \n
    \n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {logInfo?.logCPURequest != null && (\n \n \n \n \n )}\n {logInfo?.logMemRequest != null && (\n \n \n \n \n )}\n {logInfo?.image != null && (\n \n \n \n \n )}\n {logInfo?.diskCapacityGB != null && (\n \n \n \n \n )}\n {logInfo?.serviceAccountName != null && (\n \n \n \n \n )}\n {logInfo?.labels != null && logInfo.labels.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.annotations != null &&\n logInfo.annotations.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.nodeSelector != null &&\n logInfo.nodeSelector.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n \n )}\n \n
    \n \n
    CPU Request:{logInfo?.logCPURequest}
    Memory Request:{niceBytes(logInfo?.logMemRequest, true)}
    Image:{logInfo?.image}
    \n Disk Capacity (GB):\n {logInfo?.diskCapacityGB}
    Service Account:{logInfo?.serviceAccountName}
    \n

    Labels

    \n
    \n 0\n ? logInfo.labels\n : []\n }\n recordName=\"Labels\"\n />\n
    \n

    Annotations

    \n
    \n 0\n ? logInfo.annotations\n : []\n }\n recordName=\"Annotations\"\n />\n
    \n

    Node Selector

    \n
    \n 0\n ? logInfo.nodeSelector\n : []\n }\n recordName=\"Node Selector\"\n />\n
    \n\n

    Database Details

    \n
    \n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {logInfo?.logDBCPURequest != null && (\n \n \n \n \n )}\n {logInfo?.logDBMemRequest != null && (\n \n \n \n \n )}\n {logInfo?.dbImage != null && (\n \n \n \n \n )}\n {logInfo?.dbServiceAccountName != null && (\n \n \n \n \n )}\n {logInfo?.dbLabels != null &&\n logInfo.dbLabels.length > 0 && (\n \n \n \n \n\n \n \n \n \n )}\n {logInfo?.annotations != null &&\n logInfo.dbAnnotations.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.nodeSelector != null &&\n logInfo.dbNodeSelector.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n \n )}\n \n
    \n \n
    DB CPU Request:{logInfo?.logDBCPURequest}
    \n DB Memory Request:\n {niceBytes(logInfo?.logDBMemRequest, true)}
    Postgres Image:{logInfo?.dbImage}
    Service Account:{logInfo?.dbServiceAccountName}
    \n

    Labels

    \n
    \n 0\n ? logInfo.dbLabels\n : []\n }\n recordName=\"labels\"\n />\n
    \n

    Annotations

    \n
    \n 0\n ? logInfo.dbAnnotations\n : []\n }\n recordName=\"annotations\"\n />\n
    \n

    Node Selector

    \n
    \n 0\n ? logInfo.dbNodeSelector\n : []\n }\n recordName=\"node selectors\"\n />\n
    \n
    \n
    \n
    \n )}\n
    \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(TenantLogging));\n"],"names":["withStyles","theme","createStyles","buttonContainer","textAlign","multiContainer","display","alignItems","justifyContent","sizeFactorContainer","marginLeft","bottomContainer","flexGrow","width","factorElements","sizeNumber","fontSize","fontWeight","sizeDescription","color","shortened","gridTemplateColumns","gridGap","paddingRight","modalBasic","classes","paramName","newValues","setNewValues","error","setError","cleanValidation","fieldName","clearValidationError","useEffect","keyPairValidation","i","length","push","fieldKey","toString","required","value","key","pattern","customPatternMessage","commonVal","commonFormValidation","keyValueInputs","map","_","index","Fragment","className","id","label","placeholder","name","onChange","e","tempLabels","target","title","size","onClick","style","splice","connector","connect","state","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenant","tenantInfo","logEnabled","get","monitoringEnabled","encryptionEnabled","minioTLS","consoleTLS","consoleEnabled","adEnabled","oidcEnabled","tenantDetailsStyles","centerAlign","listHeight","height","containerForHeader","spacing","records","recordName","columns","elementKey","isLoading","itemActions","entityName","idField","customPaperHeight","modalStyleUtils","formFieldStyles","open","onClose","image","labels","annotations","nodeSelector","diskCapacityGB","serviceAccountName","dbLabels","dbAnnotations","dbNodeSelector","dbImage","dbServiceAccountName","cpuRequest","memRequest","dbCPURequest","dbMemRequest","useState","validationErrors","setValidationErrors","newLabels","setNewLabels","newAnnotations","setNewAnnotations","newNodeSelector","setNewNodeSelector","newImage","setNewImage","newDiskCapacityGB","setNewDiskCapacityGB","newServiceAccountName","setNewServiceAccountName","newDbLabels","setNewDbLabels","newDbAnnotations","setNewDbAnnotations","newDbNodeSelector","setNewDbNodeSelector","newDbImage","setNewDbImage","newDbServiceAccountName","setNewDbServiceAccountName","labelsError","setLabelsError","annotationsError","setAnnotationsError","nodeSelectorError","setNodeSelectorError","dbLabelsError","setDbLabelsError","dbAnnotationsError","setDbAnnotationsError","dbNodeSelectorError","setDbNodeSelectorError","newCPURequest","setNewCPURequest","Math","floor","parseInt","newMemRequest","setNewMemRequest","newDBCPURequest","setNewDBCPURequest","newDBMemRequest","setNewDBMemRequest","trim","x","retval","tenantLogValidation","checkValid","Object","keys","ModalWrapper","modalOpen","noValidate","autoComplete","onSubmit","preventDefault","api","namespace","logCPURequest","logMemRequest","logDBCPURequest","logDBMemRequest","then","catch","err","setModalErrorSnackMessage","errorMessage","detailedError","Grid","container","xs","modalFormScrollable","item","formFieldRow","InputBoxWrapper","overlayObject","InputUnitMenu","onUnitChange","unitSelected","unitsList","disabled","inputLabel","KeyPairEdit","Button","type","variant","headerLabel","marginTop","breadcrumLink","textDecoration","tableWrapper","paperContainer","padding","actionsTray","searchField","match","loadingTenantLogs","setLoadingTenantLogs","logInfo","setLogInfo","edit","setEdit","setDisabled","preDisabled","setPreDisabled","disableDialogOpen","setDisableDialogOpen","enableDialogOpen","setEnableDialogOpen","tenantName","params","tenantNamespace","result","setErrorSnackMessage","onCloseEditAndRefresh","ConfirmDialog","confirmText","isOpen","onConfirm","confirmationContent","DialogContentText","sectionTitle","FormSwitchWrapper","checked","indicatorLabels","RBIconButton","tooltip","text","icon","Paper","hrClass","colSpan","Loader","titleCol","niceBytes","KeyPairView"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3320.cf0913be.chunk.js b/portal-ui/build/static/js/3320.cf0913be.chunk.js deleted file mode 100644 index 595df4125..000000000 --- a/portal-ui/build/static/js/3320.cf0913be.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3320],{53224:function(e,t,n){var a=n(18489),l=n(83738),i=(n(50390),n(70758)),s=n(62449),r=n(62559),o=["onClick","text","disabled","tooltip","icon"],c=(0,s.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,a=t.color,l=e.palette.primary.main;return"primary"===a&&"contained"===n?l=e.palette.primary.contrastText:"primary"===a&&"outlined"===n?l=e.palette.primary.main:"secondary"===a&&(l=e.palette.secondary.main),l}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,s=e.text,d=void 0===s?"":s,u=e.disabled,m=void 0!==u&&u,g=e.tooltip,h=e.icon,x=void 0===h?null:h,v=(0,l.Z)(e,o);return(0,r.jsxs)(i.Z,(0,a.Z)((0,a.Z)({classes:t,tooltip:g||d,variant:"outlined",onClick:n,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},v),{},{children:[(0,r.jsx)("span",{children:d})," ",x]}))}},55572:function(e,t,n){var a=n(35531),l=n(18489),i=n(50390),s=n(86509),r=n(4285),o=n(72462),c=n(66964),d=n(94187),u=n(95467),m=n(96152),g=n(43615),h=n(84201),x=n(10369),v=n(62559);t.Z=(0,r.Z)((function(e){return(0,s.Z)((0,l.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20,paddingRight:20}},o.oO))}))((function(e){var t=e.classes,n=e.paramName,l=e.newValues,s=e.setNewValues,r=e.error,o=e.setError,b=function(e){o((0,x.h)(r,e))};(0,i.useEffect)((function(){for(var e=[],t=0;t1){var e=(0,a.Z)(l);e.splice(o,1),s(e)}},children:(0,v.jsx)(g.Z,{})})})]})},"keyvalue-".concat(o.toString()))}));return(0,v.jsx)(i.Fragment,{children:p})}))},88370:function(e,t,n){var a=n(18489),l=n(50390),i=n(34424),s=n(38342),r=n.n(s),o=n(86509),c=n(4285),d=n(72462),u=n(8174),m=n(62559),g=(0,i.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo,logEnabled:r()(e.tenants.tenantDetails.tenantInfo,"logEnabled",!1),monitoringEnabled:r()(e.tenants.tenantDetails.tenantInfo,"monitoringEnabled",!1),encryptionEnabled:r()(e.tenants.tenantDetails.tenantInfo,"encryptionEnabled",!1),minioTLS:r()(e.tenants.tenantDetails.tenantInfo,"minioTLS",!1),consoleTLS:r()(e.tenants.tenantDetails.tenantInfo,"consoleTLS",!1),consoleEnabled:r()(e.tenants.tenantDetails.tenantInfo,"consoleEnabled",!1),adEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpAdEnabled",!1),oidcEnabled:r()(e.tenants.tenantDetails.tenantInfo,"idpOidcEnabled",!1)}}),null);t.Z=(0,c.Z)((function(e){return(0,o.Z)((0,a.Z)((0,a.Z)({},d.oZ),{},{centerAlign:{textAlign:"center"},listHeight:{height:"50"}},(0,d.Bz)(e.spacing(4))))}))(g((function(e){var t=e.classes,n=e.records,a=e.recordName;return(0,m.jsx)(l.Fragment,{children:(0,m.jsx)(u.Z,{columns:[{label:"Key",elementKey:"key"},{label:"Value",elementKey:"value"}],isLoading:!1,records:n,itemActions:[],entityName:a,idField:"name",customPaperHeight:t.listHeight})})})))},23320:function(e,t,n){n.r(t),n.d(t,{default:function(){return w}});var a=n(23430),l=n(18489),i=n(50390),s=n(34424),r=n(86509),o=n(4285),c=n(72462),d=n(25594),u=n(23473),m=n(46981),g=n(30324),h=n(86362),x=n(44149),v=n(35531),b=n(51002),p=n(66946),j=n(55572),f=n(66964),Z=n(84201),N=n(10369),S=n(1365),y=n(62559),C=(0,o.Z)((function(e){return(0,r.Z)((0,l.Z)((0,l.Z)((0,l.Z)({buttonContainer:{textAlign:"right"},multiContainer:{display:"flex",alignItems:"center",justifyContent:"flex-start"},sizeFactorContainer:{marginLeft:8},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center","& div":{flexGrow:1,width:"100%"}},factorElements:{display:"flex",justifyContent:"flex-start"},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"},shortened:{gridTemplateColumns:"auto auto 20px 20px",display:"grid",gridGap:20}},c.oO),c.ID),c.DF))}))((function(e){var t=e.tenant,n=e.classes,l=e.open,s=e.onClose,r=e.image,o=e.labels,c=e.annotations,u=e.nodeSelector,m=e.diskCapacityGB,h=e.serviceAccountName,C=e.dbLabels,A=e.dbAnnotations,R=e.dbNodeSelector,q=e.dbImage,P=e.dbServiceAccountName,k=e.cpuRequest,D=e.memRequest,L=e.dbCPURequest,w=e.dbMemRequest,I=(0,i.useState)({}),z=(0,a.Z)(I,2),E=z[0],M=z[1],F=(0,i.useState)(o.length>0?(0,v.Z)(o):[{key:"",value:""}]),G=(0,a.Z)(F,2),B=G[0],T=G[1],U=(0,i.useState)(c.length>0?(0,v.Z)(c):[{key:"",value:""}]),O=(0,a.Z)(U,2),V=O[0],K=O[1],$=(0,i.useState)(u.length>0?(0,v.Z)(u):[{key:"",value:""}]),_=(0,a.Z)($,2),W=_[0],H=_[1],Y=(0,i.useState)(r),J=(0,a.Z)(Y,2),Q=J[0],X=J[1],ee=(0,i.useState)(m),te=(0,a.Z)(ee,2),ne=te[0],ae=te[1],le=(0,i.useState)(null!=h?h:""),ie=(0,a.Z)(le,2),se=ie[0],re=ie[1],oe=(0,i.useState)(C.length>0?(0,v.Z)(C):[{key:"",value:""}]),ce=(0,a.Z)(oe,2),de=ce[0],ue=ce[1],me=(0,i.useState)(A.length>0?(0,v.Z)(A):[{key:"",value:""}]),ge=(0,a.Z)(me,2),he=ge[0],xe=ge[1],ve=(0,i.useState)(R.length>0?(0,v.Z)(R):[{key:"",value:""}]),be=(0,a.Z)(ve,2),pe=be[0],je=be[1],fe=(0,i.useState)(q),Ze=(0,a.Z)(fe,2),Ne=Ze[0],Se=Ze[1],ye=(0,i.useState)(null!=P?P:""),Ce=(0,a.Z)(ye,2),Ae=Ce[0],Re=Ce[1],qe=(0,i.useState)({}),Pe=(0,a.Z)(qe,2),ke=Pe[0],De=Pe[1],Le=(0,i.useState)({}),we=(0,a.Z)(Le,2),Ie=we[0],ze=we[1],Ee=(0,i.useState)({}),Me=(0,a.Z)(Ee,2),Fe=Me[0],Ge=Me[1],Be=(0,i.useState)({}),Te=(0,a.Z)(Be,2),Ue=Te[0],Oe=Te[1],Ve=(0,i.useState)({}),Ke=(0,a.Z)(Ve,2),$e=Ke[0],_e=Ke[1],We=(0,i.useState)({}),He=(0,a.Z)(We,2),Ye=He[0],Je=He[1],Qe=(0,i.useState)(k),Xe=(0,a.Z)(Qe,2),et=Xe[0],tt=Xe[1],nt=(0,i.useState)(D?Math.floor(parseInt(D,10)/1e9).toString():"0"),at=(0,a.Z)(nt,2),lt=at[0],it=at[1],st=(0,i.useState)(L),rt=(0,a.Z)(st,2),ot=rt[0],ct=rt[1],dt=(0,i.useState)(w?Math.floor(parseInt(w,10)/1e9).toString():"0"),ut=(0,a.Z)(dt,2),mt=ut[0],gt=ut[1],ht=function(e){for(var t=[],n=0;n0&&(0,y.jsxs)(i.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Labels"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=N&&N.labels.length>0?N.labels:[],recordName:"Labels"})})})]}),null!=(null===N||void 0===N?void 0:N.annotations)&&N.annotations.length>0&&(0,y.jsxs)(i.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Annotations"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=N&&N.annotations.length>0?N.annotations:[],recordName:"Annotations"})})})]}),null!=(null===N||void 0===N?void 0:N.nodeSelector)&&N.nodeSelector.length>0&&(0,y.jsxs)(i.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Node Selector"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=N&&N.nodeSelector.length>0?N.nodeSelector:[],recordName:"Node Selector"})})})]})]})})}),(0,y.jsx)("h2",{children:"Database Details"}),(0,y.jsx)("hr",{className:s.hrClass}),(0,y.jsx)("table",{width:"100%",children:(0,y.jsx)("tbody",{children:c?(0,y.jsx)("tr",{children:(0,y.jsx)("td",{className:s.centerAlign,colSpan:4,children:(0,y.jsx)(D.Z,{})})}):(0,y.jsxs)(i.Fragment,{children:[null!=(null===N||void 0===N?void 0:N.logDBCPURequest)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:s.titleCol,children:"DB CPU Request:"}),(0,y.jsx)("td",{children:null===N||void 0===N?void 0:N.logDBCPURequest})]}),null!=(null===N||void 0===N?void 0:N.logDBMemRequest)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:s.titleCol,children:"DB Memory Request:"}),(0,y.jsx)("td",{children:(0,k.ae)(null===N||void 0===N?void 0:N.logDBMemRequest,!0)})]}),null!=(null===N||void 0===N?void 0:N.dbImage)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:s.titleCol,children:"Postgres Image:"}),(0,y.jsx)("td",{children:null===N||void 0===N?void 0:N.dbImage})]}),null!=(null===N||void 0===N?void 0:N.dbServiceAccountName)&&(0,y.jsxs)("tr",{children:[(0,y.jsx)("td",{className:s.titleCol,children:"Service Account:"}),(0,y.jsx)("td",{children:null===N||void 0===N?void 0:N.dbServiceAccountName})]}),null!=(null===N||void 0===N?void 0:N.dbLabels)&&N.dbLabels.length>0&&(0,y.jsxs)(i.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Labels"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=N&&(null===(t=N.dbLabels)||void 0===t?void 0:t.length)>0?N.dbLabels:[],recordName:"labels"})})})]}),null!=(null===N||void 0===N?void 0:N.annotations)&&N.dbAnnotations.length>0&&(0,y.jsxs)(i.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Annotations"})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=N&&(null===(n=N.dbAnnotations)||void 0===n?void 0:n.length)>0?N.dbAnnotations:[],recordName:"annotations"})})})]}),null!=(null===N||void 0===N?void 0:N.nodeSelector)&&N.dbNodeSelector.length>0&&(0,y.jsxs)(i.Fragment,{children:[(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)("h4",{children:"Node Selector "})})}),(0,y.jsx)("tr",{children:(0,y.jsx)("td",{children:(0,y.jsx)(A.Z,{records:null!=N&&(null===(l=N.dbNodeSelector)||void 0===l?void 0:l.length)>0?N.dbNodeSelector:[],recordName:"node selectors"})})})]})]})})})]})})})]})})))}}]); -//# sourceMappingURL=3320.cf0913be.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3320.cf0913be.chunk.js.map b/portal-ui/build/static/js/3320.cf0913be.chunk.js.map deleted file mode 100644 index a3cf3c07a..000000000 --- a/portal-ui/build/static/js/3320.cf0913be.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3320.cf0913be.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Tenants/TenantDetails/KeyPairEdit.tsx","screens/Console/Tenants/TenantDetails/KeyPairView.tsx","screens/Console/Tenants/TenantDetails/EditTenantLogsModal.tsx","screens/Console/Tenants/TenantDetails/TenantLogging.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","import React, { Fragment, useEffect } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport { modalBasic } from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport DeleteIcon from \"@mui/icons-material/Delete\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\n\ninterface IKeyPairEditProps {\n classes: any;\n paramName: string;\n error: any;\n setError: (e: any) => void;\n newValues: IKeyValue[];\n setNewValues: (vals: IKeyValue[]) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n paddingRight: 20,\n },\n ...modalBasic,\n });\n\nconst KeyPairEdit = ({\n classes,\n paramName,\n newValues,\n setNewValues,\n error,\n setError,\n}: IKeyPairEditProps) => {\n const cleanValidation = (fieldName: string) => {\n setError(clearValidationError(error, fieldName));\n };\n\n useEffect(() => {\n let keyPairValidation: IValidation[] = [];\n\n for (var i = 0; i < newValues.length; i++) {\n keyPairValidation.push({\n fieldKey: `key-${i.toString()}`,\n required: false,\n value: newValues[i].key,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid key\",\n });\n keyPairValidation.push({\n fieldKey: `val-${i.toString()}`,\n required: false,\n value: newValues[i].value,\n pattern: /^[a-zA-Z0-9-_.]{1,63}$/,\n customPatternMessage: \"Invalid value\",\n });\n }\n\n const commonVal = commonFormValidation(keyPairValidation);\n setError(commonVal);\n }, [newValues, setError]);\n\n let keyValueInputs = newValues.map((_, index) => {\n return (\n \n
    \n {\n let tempLabels = [...newValues];\n tempLabels[index].key = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`key-${index.toString()}`);\n }}\n index={index}\n key={`csv-key-${index.toString()}`}\n error={error[`key-${index.toString()}`] || \"\"}\n />\n {\n let tempLabels = [...newValues];\n tempLabels[index].value = e.target.value;\n setNewValues(tempLabels);\n cleanValidation(`val-${index.toString()}`);\n }}\n index={index}\n key={`csv-val-${index.toString()}`}\n error={error[`val-${index.toString()}`] || \"\"}\n />\n \n {\n let tempLabels = [...newValues];\n tempLabels.push({ key: \"\", value: \"\" });\n setNewValues(tempLabels);\n }}\n >\n \n \n \n \n {\n if (newValues.length === 1) {\n setNewValues([{ key: \"\", value: \"\" }]);\n }\n if (newValues.length > 1) {\n let tempLabels = [...newValues];\n tempLabels.splice(index, 1);\n setNewValues(tempLabels);\n }\n }}\n >\n \n \n \n
    \n
    \n );\n });\n\n return {keyValueInputs};\n};\n\nexport default withStyles(styles)(KeyPairEdit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n containerForHeader,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport { IKeyValue } from \"../ListTenants/types\";\n\ninterface IKeyPairView {\n classes: any;\n records: IKeyValue[];\n recordName: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n centerAlign: {\n textAlign: \"center\",\n },\n listHeight: {\n height: \"50\",\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst KeyPairView = ({ classes, records, recordName }: IKeyPairView) => {\n return (\n \n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n logEnabled: get(state.tenants.tenantDetails.tenantInfo, \"logEnabled\", false),\n monitoringEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"monitoringEnabled\",\n false\n ),\n encryptionEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"encryptionEnabled\",\n false\n ),\n minioTLS: get(state.tenants.tenantDetails.tenantInfo, \"minioTLS\", false),\n consoleTLS: get(state.tenants.tenantDetails.tenantInfo, \"consoleTLS\", false),\n consoleEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"consoleEnabled\",\n false\n ),\n adEnabled: get(state.tenants.tenantDetails.tenantInfo, \"idpAdEnabled\", false),\n oidcEnabled: get(\n state.tenants.tenantDetails.tenantInfo,\n \"idpOidcEnabled\",\n false\n ),\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(KeyPairView));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n formFieldStyles,\n modalBasic,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { Button, Grid } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { IKeyValue } from \"../ListTenants/types\";\nimport KeyPairEdit from \"./KeyPairEdit\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport {\n commonFormValidation,\n IValidation,\n} from \"../../../../utils/validationFunctions\";\nimport { clearValidationError } from \"../utils\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport InputUnitMenu from \"../../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\n\ninterface IEditTenantLogsProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClose: (shouldReload: boolean) => void;\n image: string;\n labels: IKeyValue[];\n annotations: IKeyValue[];\n nodeSelector: IKeyValue[];\n diskCapacityGB: number;\n serviceAccountName: string;\n dbImage: string;\n dbLabels: IKeyValue[];\n dbAnnotations: IKeyValue[];\n dbNodeSelector: IKeyValue[];\n dbServiceAccountName: string;\n cpuRequest: string;\n memRequest: string;\n dbCPURequest: string;\n dbMemRequest: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n multiContainer: {\n display: \"flex\",\n alignItems: \"center\" as const,\n justifyContent: \"flex-start\" as const,\n },\n sizeFactorContainer: {\n marginLeft: 8,\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n \"& div\": {\n flexGrow: 1,\n width: \"100%\",\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n shortened: {\n gridTemplateColumns: \"auto auto 20px 20px\",\n display: \"grid\",\n gridGap: 20,\n },\n ...modalBasic,\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\nconst EditTenantLogsModal = ({\n tenant,\n classes,\n open,\n onClose,\n image,\n labels,\n annotations,\n nodeSelector,\n diskCapacityGB,\n serviceAccountName,\n dbLabels,\n dbAnnotations,\n dbNodeSelector,\n dbImage,\n dbServiceAccountName,\n cpuRequest,\n memRequest,\n dbCPURequest,\n dbMemRequest,\n}: IEditTenantLogsProps) => {\n const [validationErrors, setValidationErrors] = useState({});\n const [newLabels, setNewLabels] = useState(\n labels.length > 0 ? [...labels] : [{ key: \"\", value: \"\" }]\n );\n const [newAnnotations, setNewAnnotations] = useState(\n annotations.length > 0 ? [...annotations] : [{ key: \"\", value: \"\" }]\n );\n const [newNodeSelector, setNewNodeSelector] = useState(\n nodeSelector.length > 0 ? [...nodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newImage, setNewImage] = useState(image);\n const [newDiskCapacityGB, setNewDiskCapacityGB] =\n useState(diskCapacityGB);\n const [newServiceAccountName, setNewServiceAccountName] = useState(\n serviceAccountName != null ? serviceAccountName : \"\"\n );\n const [newDbLabels, setNewDbLabels] = useState(\n dbLabels.length > 0 ? [...dbLabels] : [{ key: \"\", value: \"\" }]\n );\n const [newDbAnnotations, setNewDbAnnotations] = useState(\n dbAnnotations.length > 0 ? [...dbAnnotations] : [{ key: \"\", value: \"\" }]\n );\n const [newDbNodeSelector, setNewDbNodeSelector] = useState(\n dbNodeSelector.length > 0 ? [...dbNodeSelector] : [{ key: \"\", value: \"\" }]\n );\n const [newDbImage, setNewDbImage] = useState(dbImage);\n const [newDbServiceAccountName, setNewDbServiceAccountName] =\n useState(dbServiceAccountName != null ? dbServiceAccountName : \"\");\n const [labelsError, setLabelsError] = useState({});\n const [annotationsError, setAnnotationsError] = useState({});\n const [nodeSelectorError, setNodeSelectorError] = useState({});\n const [dbLabelsError, setDbLabelsError] = useState({});\n const [dbAnnotationsError, setDbAnnotationsError] = useState({});\n const [dbNodeSelectorError, setDbNodeSelectorError] = useState({});\n const [newCPURequest, setNewCPURequest] = useState(cpuRequest);\n const [newMemRequest, setNewMemRequest] = useState(\n memRequest\n ? Math.floor(parseInt(memRequest, 10) / 1000000000).toString()\n : \"0\"\n );\n const [newDBCPURequest, setNewDBCPURequest] = useState(dbCPURequest);\n const [newDBMemRequest, setNewDBMemRequest] = useState(\n dbMemRequest\n ? Math.floor(parseInt(dbMemRequest, 10) / 1000000000).toString()\n : \"0\"\n );\n\n const trim = (x: IKeyValue[]): IKeyValue[] => {\n let retval: IKeyValue[] = [];\n for (let i = 0; i < x.length; i++) {\n if (x[i].key !== \"\") {\n retval.push(x[i]);\n }\n }\n return retval;\n };\n\n const cleanValidation = (fieldName: string) => {\n setValidationErrors(clearValidationError(validationErrors, fieldName));\n };\n\n useEffect(() => {\n let tenantLogValidation: IValidation[] = [];\n\n tenantLogValidation.push({\n fieldKey: `image`,\n required: false,\n value: newImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantLogValidation.push({\n fieldKey: `dbImage`,\n required: false,\n value: newDbImage,\n pattern:\n /^([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9]?)+(\\/(([a-zA-Z0-9])([a-zA-Z0-9-._])*([a-zA-Z0-9])?)+)*:([a-zA-Z0-9])[a-zA-Z0-9-.]{0,127}$/,\n customPatternMessage: \"Invalid image\",\n });\n tenantLogValidation.push({\n fieldKey: `diskCapacityGB`,\n required: true,\n value: newDiskCapacityGB as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage: \"Must be an integer between 0 and 10\",\n });\n tenantLogValidation.push({\n fieldKey: `serviceAccountName`,\n required: false,\n value: newServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantLogValidation.push({\n fieldKey: `dbServiceAccountName`,\n required: false,\n value: newDbServiceAccountName,\n pattern: /^[a-zA-Z0-9-.]{1,253}$/,\n customPatternMessage: \"Invalid service account name\",\n });\n tenantLogValidation.push({\n fieldKey: `cpuRequest`,\n required: true,\n value: newCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value for number of CPUs requested\",\n });\n tenantLogValidation.push({\n fieldKey: `memRequest`,\n required: true,\n value: newMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value (Gi) for memory requested\",\n });\n tenantLogValidation.push({\n fieldKey: `dbCPURequest`,\n required: true,\n value: newDBCPURequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value for number of DB CPUs requested\",\n });\n tenantLogValidation.push({\n fieldKey: `dbMemRequest`,\n required: true,\n value: newDBMemRequest as any as string,\n pattern: /^[0-9]*$/,\n customPatternMessage:\n \"Please enter an integer value (Gi) for DB memory requested\",\n });\n\n const commonVal = commonFormValidation(tenantLogValidation);\n setValidationErrors(commonVal);\n }, [\n newImage,\n newDbImage,\n newDiskCapacityGB,\n newServiceAccountName,\n newDbServiceAccountName,\n newCPURequest,\n newMemRequest,\n newDBCPURequest,\n newDBMemRequest,\n setValidationErrors,\n ]);\n\n const checkValid = (): boolean => {\n if (\n Object.keys(validationErrors).length !== 0 ||\n Object.keys(labelsError).length !== 0 ||\n Object.keys(annotationsError).length !== 0 ||\n Object.keys(nodeSelectorError).length !== 0 ||\n Object.keys(dbLabelsError).length !== 0 ||\n Object.keys(dbAnnotationsError).length !== 0 ||\n Object.keys(dbNodeSelectorError).length !== 0\n ) {\n return false;\n } else {\n return true;\n }\n };\n\n return (\n onClose(true)}\n modalOpen={open}\n title=\"Edit Logging\"\n >\n ) => {\n e.preventDefault();\n if (!checkValid()) {\n setModalErrorSnackMessage({\n errorMessage: \"Some fields have invalid values\",\n detailedError: \"\",\n });\n } else {\n api\n .invoke(\n \"PUT\",\n `/api/v1/namespaces/${tenant.namespace}/tenants/${tenant.name}/log`,\n {\n labels: trim(newLabels),\n annotations: trim(newAnnotations),\n nodeSelector: trim(newNodeSelector),\n image: newImage,\n diskCapacityGB: newDiskCapacityGB,\n serviceAccountName: newServiceAccountName,\n dbLabels: trim(newDbLabels),\n dbAnnotations: trim(newDbAnnotations),\n dbNodeSelector: trim(newDbNodeSelector),\n dbImage: newDbImage,\n dbServiceAccountName: newDbServiceAccountName,\n logCPURequest: newCPURequest,\n logMemRequest: newMemRequest + \"Gi\",\n logDBCPURequest: newDBCPURequest,\n logDBMemRequest: newDBMemRequest + \"Gi\",\n }\n )\n .then(() => {\n onClose(true);\n })\n .catch((err: ErrorResponseHandler) => {});\n }\n }}\n >\n \n \n \n

    Logging API

    \n
    \n \n {\n setNewImage(e.target.value);\n cleanValidation(`image`);\n }}\n key={`image`}\n error={validationErrors[`image`] || \"\"}\n />\n \n \n {\n setNewDiskCapacityGB(e.target.value as any as number);\n cleanValidation(`diskCapacityGB`);\n }}\n key={`diskCapacityGB`}\n error={validationErrors[`diskCapacityGB`] || \"\"}\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n />\n \n \n {\n setNewServiceAccountName(e.target.value);\n cleanValidation(`serviceAccountName`);\n }}\n key={`serviceAccountName`}\n error={validationErrors[`serviceAccountName`] || \"\"}\n />\n \n\n \n {\n setNewCPURequest(e.target.value as any as string);\n cleanValidation(`cpuRequest`);\n }}\n key={`cpuRequest`}\n error={validationErrors[`cpuRequest`] || \"\"}\n />\n \n \n {\n setNewMemRequest(e.target.value as any as string);\n cleanValidation(`memRequest`);\n }}\n key={`memRequest`}\n error={validationErrors[`memRequest`] || \"\"}\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n />\n \n\n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n \n

    Database Configuration

    \n
    \n \n {\n setNewDbImage(e.target.value);\n cleanValidation(`dbImage`);\n }}\n key={`dbImage`}\n error={validationErrors[`dbImage`] || \"\"}\n />\n \n \n {\n setNewDbServiceAccountName(e.target.value);\n cleanValidation(`dbServiceAccountName`);\n }}\n key={`dbServiceAccountName`}\n error={validationErrors[`dbServiceAccountName`] || \"\"}\n />\n \n \n {\n setNewDBCPURequest(e.target.value as any as string);\n cleanValidation(`dbCpuRequest`);\n }}\n key={`dbCpuRequest`}\n error={validationErrors[`dbCpuRequest`] || \"\"}\n />\n \n \n {\n setNewDBMemRequest(e.target.value as any as string);\n cleanValidation(`dbMemRequest`);\n }}\n key={`dbMemRequest`}\n error={validationErrors[`dbMemRequest`] || \"\"}\n overlayObject={\n {}}\n unitSelected={\"Gi\"}\n unitsList={[{ label: \"Gi\", value: \"Gi\" }]}\n disabled={true}\n />\n }\n />\n \n \n Labels\n \n \n \n Annotations\n \n \n \n Node Selector\n \n \n
    \n \n \n Save\n \n \n
    \n \n \n );\n};\n\nexport default withStyles(styles)(EditTenantLogsModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport Grid from \"@mui/material/Grid\";\nimport { DialogContentText } from \"@mui/material\";\nimport Paper from \"@mui/material/Paper\";\nimport api from \"../../../../common/api\";\nimport { ITenant } from \"../ListTenants/types\";\nimport { AppState } from \"../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport { EditIcon } from \"../../../../icons\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport EditTenantLogsModal from \"./EditTenantLogsModal\";\nimport KeyPairView from \"./KeyPairView\";\nimport { ITenantLogsStruct } from \"../ListTenants/types\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport FormSwitchWrapper from \"../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { niceBytes } from \"../../../../common/utils\";\nimport Loader from \"../../Common/Loader/Loader\";\n\ninterface ITenantLogs {\n classes: any;\n match: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n headerLabel: {\n fontSize: 22,\n fontWeight: 600,\n color: \"#000\",\n marginTop: 4,\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n tableWrapper: {\n height: \"calc(100vh - 267px)\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n },\n ...actionsTray,\n ...searchField,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst TenantLogging = ({\n classes,\n match,\n tenant,\n loadingTenant,\n}: ITenantLogs) => {\n const [loadingTenantLogs, setLoadingTenantLogs] = useState(true);\n const [logInfo, setLogInfo] = useState();\n const [edit, setEdit] = useState(false);\n const [disabled, setDisabled] = useState(false);\n const [preDisabled, setPreDisabled] = useState(false);\n const [disableDialogOpen, setDisableDialogOpen] = useState(false);\n const [enableDialogOpen, setEnableDialogOpen] = useState(false);\n\n const tenantName = match.params[\"tenantName\"];\n const tenantNamespace = match.params[\"tenantNamespace\"];\n\n useEffect(() => {\n if (loadingTenantLogs) {\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/log`\n )\n .then((result: ITenantLogsStruct) => {\n setLogInfo(result);\n setPreDisabled(result.disabled);\n setDisabled(result.disabled);\n setLoadingTenantLogs(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error getting tenant logs\",\n detailedError: err.detailedError,\n });\n });\n }\n }, [tenantName, tenantNamespace, loadingTenantLogs, setDisabled, disabled]);\n\n const onCloseEditAndRefresh = () => {\n setDisableDialogOpen(false);\n setEdit(false);\n setLoadingTenantLogs(true);\n };\n\n const onCloseEnableAndRefresh = () => {\n setEnableDialogOpen(false);\n setDisabled(false);\n setLoadingTenantLogs(true);\n };\n\n return (\n \n {\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/disable-logging`\n )\n .then(() => {\n setPreDisabled(true);\n setDisabled(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error disabling logging\",\n detailedError: err.detailedError,\n });\n });\n onCloseEditAndRefresh();\n }}\n onClose={() => setDisableDialogOpen(false)}\n confirmationContent={\n \n Disabling logging will erase any custom values you have used to\n configure logging\n \n }\n />\n {\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenantNamespace}/tenants/${tenantName}/enable-logging`\n )\n .then(() => {\n setPreDisabled(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage({\n errorMessage: \"Error enabling logging\",\n detailedError: err.detailedError,\n });\n });\n onCloseEnableAndRefresh();\n }}\n onClose={() => setEnableDialogOpen(false)}\n confirmationContent={\n \n Logging will be enabled with default values\n \n }\n />\n {edit && tenant !== null && logInfo != null && !disabled && (\n \n )}\n

    Logging

    \n
    \n {\n const targetD = e.target;\n const checked = targetD.checked;\n if (checked) {\n setEnableDialogOpen(true);\n } else {\n setDisableDialogOpen(true);\n }\n }}\n label={\"Logging\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n {!disabled && !loadingTenantLogs && (\n {\n setEdit(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n )}\n
    \n {!disabled && !loadingTenantLogs && (\n \n \n \n

    Logging API Service Details

    \n
    \n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {logInfo?.logCPURequest != null && (\n \n \n \n \n )}\n {logInfo?.logMemRequest != null && (\n \n \n \n \n )}\n {logInfo?.image != null && (\n \n \n \n \n )}\n {logInfo?.diskCapacityGB != null && (\n \n \n \n \n )}\n {logInfo?.serviceAccountName != null && (\n \n \n \n \n )}\n {logInfo?.labels != null && logInfo.labels.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.annotations != null &&\n logInfo.annotations.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.nodeSelector != null &&\n logInfo.nodeSelector.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n \n )}\n \n
    \n \n
    CPU Request:{logInfo?.logCPURequest}
    Memory Request:{niceBytes(logInfo?.logMemRequest, true)}
    Image:{logInfo?.image}
    \n Disk Capacity (GB):\n {logInfo?.diskCapacityGB}
    Service Account:{logInfo?.serviceAccountName}
    \n

    Labels

    \n
    \n 0\n ? logInfo.labels\n : []\n }\n recordName=\"Labels\"\n />\n
    \n

    Annotations

    \n
    \n 0\n ? logInfo.annotations\n : []\n }\n recordName=\"Annotations\"\n />\n
    \n

    Node Selector

    \n
    \n 0\n ? logInfo.nodeSelector\n : []\n }\n recordName=\"Node Selector\"\n />\n
    \n\n

    Database Details

    \n
    \n \n \n {loadingTenant ? (\n \n \n \n ) : (\n \n {logInfo?.logDBCPURequest != null && (\n \n \n \n \n )}\n {logInfo?.logDBMemRequest != null && (\n \n \n \n \n )}\n {logInfo?.dbImage != null && (\n \n \n \n \n )}\n {logInfo?.dbServiceAccountName != null && (\n \n \n \n \n )}\n {logInfo?.dbLabels != null &&\n logInfo.dbLabels.length > 0 && (\n \n \n \n \n\n \n \n \n \n )}\n {logInfo?.annotations != null &&\n logInfo.dbAnnotations.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n {logInfo?.nodeSelector != null &&\n logInfo.dbNodeSelector.length > 0 && (\n \n \n \n \n \n \n \n \n )}\n \n )}\n \n
    \n \n
    DB CPU Request:{logInfo?.logDBCPURequest}
    \n DB Memory Request:\n {niceBytes(logInfo?.logDBMemRequest, true)}
    Postgres Image:{logInfo?.dbImage}
    Service Account:{logInfo?.dbServiceAccountName}
    \n

    Labels

    \n
    \n 0\n ? logInfo.dbLabels\n : []\n }\n recordName=\"labels\"\n />\n
    \n

    Annotations

    \n
    \n 0\n ? logInfo.dbAnnotations\n : []\n }\n recordName=\"annotations\"\n />\n
    \n

    Node Selector

    \n
    \n 0\n ? logInfo.dbNodeSelector\n : []\n }\n recordName=\"node selectors\"\n />\n
    \n
    \n
    \n
    \n )}\n
    \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, null);\n\nexport default withStyles(styles)(connector(TenantLogging));\n"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","withStyles","createStyles","buttonContainer","textAlign","multiContainer","alignItems","justifyContent","sizeFactorContainer","bottomContainer","flexGrow","factorElements","sizeNumber","fontWeight","sizeDescription","shortened","gridTemplateColumns","gridGap","paddingRight","modalBasic","paramName","newValues","setNewValues","error","setError","cleanValidation","fieldName","clearValidationError","useEffect","keyPairValidation","i","length","push","fieldKey","toString","required","value","key","pattern","customPatternMessage","commonVal","commonFormValidation","keyValueInputs","map","_","index","Fragment","className","id","label","placeholder","name","onChange","e","tempLabels","target","title","style","splice","connector","connect","state","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenant","tenantInfo","logEnabled","get","monitoringEnabled","encryptionEnabled","minioTLS","consoleTLS","consoleEnabled","adEnabled","oidcEnabled","tenantDetailsStyles","centerAlign","listHeight","height","containerForHeader","spacing","records","recordName","columns","elementKey","isLoading","itemActions","entityName","idField","customPaperHeight","modalStyleUtils","formFieldStyles","open","onClose","image","labels","annotations","nodeSelector","diskCapacityGB","serviceAccountName","dbLabels","dbAnnotations","dbNodeSelector","dbImage","dbServiceAccountName","cpuRequest","memRequest","dbCPURequest","dbMemRequest","useState","validationErrors","setValidationErrors","newLabels","setNewLabels","newAnnotations","setNewAnnotations","newNodeSelector","setNewNodeSelector","newImage","setNewImage","newDiskCapacityGB","setNewDiskCapacityGB","newServiceAccountName","setNewServiceAccountName","newDbLabels","setNewDbLabels","newDbAnnotations","setNewDbAnnotations","newDbNodeSelector","setNewDbNodeSelector","newDbImage","setNewDbImage","newDbServiceAccountName","setNewDbServiceAccountName","labelsError","setLabelsError","annotationsError","setAnnotationsError","nodeSelectorError","setNodeSelectorError","dbLabelsError","setDbLabelsError","dbAnnotationsError","setDbAnnotationsError","dbNodeSelectorError","setDbNodeSelectorError","newCPURequest","setNewCPURequest","Math","floor","parseInt","newMemRequest","setNewMemRequest","newDBCPURequest","setNewDBCPURequest","newDBMemRequest","setNewDBMemRequest","trim","x","retval","tenantLogValidation","checkValid","Object","keys","ModalWrapper","modalOpen","noValidate","autoComplete","onSubmit","preventDefault","api","namespace","logCPURequest","logMemRequest","logDBCPURequest","logDBMemRequest","then","catch","err","setModalErrorSnackMessage","errorMessage","detailedError","Grid","container","xs","modalFormScrollable","item","formFieldRow","InputBoxWrapper","overlayObject","InputUnitMenu","onUnitChange","unitSelected","unitsList","inputLabel","KeyPairEdit","Button","type","headerLabel","marginTop","breadcrumLink","textDecoration","tableWrapper","paperContainer","actionsTray","searchField","match","loadingTenantLogs","setLoadingTenantLogs","logInfo","setLogInfo","edit","setEdit","setDisabled","preDisabled","setPreDisabled","disableDialogOpen","setDisableDialogOpen","enableDialogOpen","setEnableDialogOpen","tenantName","params","tenantNamespace","result","setErrorSnackMessage","onCloseEditAndRefresh","ConfirmDialog","confirmText","isOpen","onConfirm","confirmationContent","DialogContentText","sectionTitle","FormSwitchWrapper","checked","indicatorLabels","RBIconButton","Paper","hrClass","colSpan","Loader","titleCol","niceBytes","KeyPairView"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3421.666af5cb.chunk.js b/portal-ui/build/static/js/3421.53573188.chunk.js similarity index 98% rename from portal-ui/build/static/js/3421.666af5cb.chunk.js rename to portal-ui/build/static/js/3421.53573188.chunk.js index b54245098..c5ea0221b 100644 --- a/portal-ui/build/static/js/3421.666af5cb.chunk.js +++ b/portal-ui/build/static/js/3421.53573188.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3421],{66964:function(e,n,t){var o=t(18489),i=t(50390),a=t(12066),l=t(25594),s=t(36554),r=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),p=t(72462),v=t(97538),x=t(44977),h=t(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)({},p.gM))}));function f(e){var n=Z();return(0,h.jsx)(a.Z,(0,o.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,o.Z)((0,o.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,j=void 0===Z?"off":Z,C=e.disabled,b=void 0!==C&&C,g=e.multiline,N=void 0!==g&&g,y=e.tooltip,P=void 0===y?"":y,k=e.index,I=void 0===k?0:k,L=e.error,B=void 0===L?"":L,M=e.required,F=void 0!==M&&M,T=e.placeholder,w=void 0===T?"":T,E=e.min,R=e.max,A=e.overlayId,V=e.overlayIcon,W=void 0===V?null:V,D=e.overlayObject,O=void 0===D?null:D,S=e.extraInputProps,z=void 0===S?{}:S,H=e.overlayAction,K=e.noLabelMinWidth,Y=void 0!==K&&K,_=e.pattern,q=void 0===_?"":_,G=e.autoFocus,Q=void 0!==G&&G,$=e.classes,J=e.className,U=void 0===J?"":J,X=e.onKeyPress,ee=(0,o.Z)({"data-index":I},z);return"number"===p&&E&&(ee.min=E),"number"===p&&R&&(ee.max=R),""!==q&&(ee.pattern=q),(0,h.jsx)(i.Fragment,{children:(0,h.jsxs)(l.ZP,{container:!0,className:(0,x.Z)(""!==U?U:"",""!==B?$.errorInField:$.inputBoxContainer),children:[""!==n&&(0,h.jsxs)(s.Z,{htmlFor:d,className:Y?$.noMinWidthLabel:$.inputLabel,children:[(0,h.jsxs)("span",{children:[n,F?"*":""]}),""!==P&&(0,h.jsx)("div",{className:$.tooltipContainer,children:(0,h.jsx)(r.Z,{title:P,placement:"top-start",children:(0,h.jsx)("div",{className:$.tooltip,children:(0,h.jsx)(v.Z,{})})})})]}),(0,h.jsxs)("div",{className:$.textBoxContainer,children:[(0,h.jsx)(f,{id:d,name:u,fullWidth:!0,value:a,autoFocus:Q,disabled:b,onChange:t,type:p,multiline:N,autoComplete:j,inputProps:ee,error:""!==B,helperText:B,placeholder:w,className:$.inputRebase,onKeyPress:X}),W&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},id:A,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:W})}),O&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:O})]})]})})}))},21639:function(e,n,t){var o=t(23430),i=t(50390),a=t(30324);n.Z=function(e,n){var t=(0,i.useState)(!1),l=(0,o.Z)(t,2),s=l[0],r=l[1];return[s,function(t,o,i){r(!0),a.Z.invoke(t,o,i).then((function(n){r(!1),e(n)})).catch((function(e){r(!1),n(e)}))}]}},60656:function(e,n,t){var o=t(18489),i=t(50390),a=t(84402),l=t(78426),s=t(93085),r=t(7887),c=t(66946),d=t(7521),u=t(95467),m=t(21278),p=t(86509),v=t(4285),x=t(72462),h=t(62559);n.Z=(0,v.Z)((function(e){return(0,p.Z)((0,o.Z)({},x.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,p=e.onClose,v=e.onCancel,x=e.onConfirm,Z=e.classes,f=void 0===Z?{}:Z,j=e.title,C=void 0===j?"":j,b=e.isLoading,g=e.confirmationContent,N=e.cancelText,y=void 0===N?"Cancel":N,P=e.confirmText,k=void 0===P?"Confirm":P,I=e.confirmButtonProps,L=void 0===I?{}:I,B=e.cancelButtonProps,M=void 0===B?{}:B,F=e.titleIcon,T=void 0===F?null:F;return(0,h.jsxs)(a.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&p()},className:f.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,h.jsxs)(l.Z,{className:f.title,children:[(0,h.jsxs)("div",{className:f.titleText,children:[T," ",C]}),(0,h.jsx)("div",{className:f.closeContainer,children:(0,h.jsx)(u.Z,{"aria-label":"close",className:f.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,h.jsx)(m.Z,{})})})]}),(0,h.jsx)(s.Z,{className:f.content,children:g}),(0,h.jsxs)(r.Z,{className:f.actions,children:[(0,h.jsx)(c.Z,(0,o.Z)((0,o.Z)({className:f.cancelButton,onClick:v||p,disabled:b,type:"button"},M),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:y})),(0,h.jsx)(d.Z,(0,o.Z)((0,o.Z)({className:f.confirmButton,type:"button",onClick:x,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,h.jsx)(i.Fragment,{}),autoFocus:!0,id:"confirm-ok"},L),{},{children:k}))]})]})}))},53421:function(e,n,t){t.r(n);var o=t(23430),i=t(50390),a=t(23473),l=t(66964),s=t(25594),r=t(34424),c=t(44149),d=t(21639),u=t(60656),m=t(86362),p=t(62559),v=(0,r.$j)(null,{setErrorSnackMessage:c.Ih});n.default=v((function(e){var n=e.deleteOpen,t=e.selectedPVC,r=e.closeDeleteModalAndRefresh,c=e.setErrorSnackMessage,v=(0,i.useState)(""),x=(0,o.Z)(v,2),h=x[0],Z=x[1],f=(0,d.Z)((function(){return r(!0)}),(function(e){return c(e)})),j=(0,o.Z)(f,2),C=j[0],b=j[1];return(0,p.jsx)(u.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:n,titleIcon:(0,p.jsx)(m.Nv,{}),isLoading:C,onConfirm:function(){h===t.name?b("DELETE","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.tenant,"/pvc/").concat(t.name)):c({errorMessage:"PVC name is incorrect",detailedError:""})},onClose:function(){return r(!1)},confirmButtonProps:{disabled:h!==t.name||C},confirmationContent:(0,p.jsxs)(a.Z,{children:["To continue please type ",(0,p.jsx)("b",{children:t.name})," in the box.",(0,p.jsx)(s.ZP,{item:!0,xs:12,children:(0,p.jsx)(l.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){Z(e.target.value)},label:"",value:h})})]})})}))},21278:function(e,n,t){var o=t(64119);n.Z=void 0;var i=o(t(66830)),a=t(62559),l=(0,i.default)((0,a.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");n.Z=l}}]); -//# sourceMappingURL=3421.666af5cb.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3421],{66964:function(e,n,t){var o=t(18489),i=t(50390),a=t(12066),l=t(25594),s=t(36554),r=t(94187),c=t(95467),d=t(86509),u=t(62449),m=t(4285),p=t(72462),v=t(97538),x=t(44977),h=t(62559),Z=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)({},p.gM))}));function f(e){var n=Z();return(0,h.jsx)(a.Z,(0,o.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,o.Z)((0,o.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,Z=e.autoComplete,j=void 0===Z?"off":Z,C=e.disabled,b=void 0!==C&&C,g=e.multiline,N=void 0!==g&&g,y=e.tooltip,P=void 0===y?"":y,k=e.index,I=void 0===k?0:k,L=e.error,B=void 0===L?"":L,M=e.required,F=void 0!==M&&M,T=e.placeholder,w=void 0===T?"":T,E=e.min,R=e.max,A=e.overlayId,V=e.overlayIcon,W=void 0===V?null:V,D=e.overlayObject,O=void 0===D?null:D,S=e.extraInputProps,z=void 0===S?{}:S,H=e.overlayAction,K=e.noLabelMinWidth,Y=void 0!==K&&K,_=e.pattern,q=void 0===_?"":_,G=e.autoFocus,Q=void 0!==G&&G,$=e.classes,J=e.className,U=void 0===J?"":J,X=e.onKeyPress,ee=(0,o.Z)({"data-index":I},z);return"number"===p&&E&&(ee.min=E),"number"===p&&R&&(ee.max=R),""!==q&&(ee.pattern=q),(0,h.jsx)(i.Fragment,{children:(0,h.jsxs)(l.ZP,{container:!0,className:(0,x.Z)(""!==U?U:"",""!==B?$.errorInField:$.inputBoxContainer),children:[""!==n&&(0,h.jsxs)(s.Z,{htmlFor:d,className:Y?$.noMinWidthLabel:$.inputLabel,children:[(0,h.jsxs)("span",{children:[n,F?"*":""]}),""!==P&&(0,h.jsx)("div",{className:$.tooltipContainer,children:(0,h.jsx)(r.Z,{title:P,placement:"top-start",children:(0,h.jsx)("div",{className:$.tooltip,children:(0,h.jsx)(v.Z,{})})})})]}),(0,h.jsxs)("div",{className:$.textBoxContainer,children:[(0,h.jsx)(f,{id:d,name:u,fullWidth:!0,value:a,autoFocus:Q,disabled:b,onChange:t,type:p,multiline:N,autoComplete:j,inputProps:ee,error:""!==B,helperText:B,placeholder:w,className:$.inputRebase,onKeyPress:X}),W&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:H?function(){H()}:function(){return null},id:A,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:W})}),O&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==n?"withLabel":""),children:O})]})]})})}))},21639:function(e,n,t){var o=t(23430),i=t(50390),a=t(30324);n.Z=function(e,n){var t=(0,i.useState)(!1),l=(0,o.Z)(t,2),s=l[0],r=l[1];return[s,function(t,o,i){r(!0),a.Z.invoke(t,o,i).then((function(n){r(!1),e(n)})).catch((function(e){r(!1),n(e)}))}]}},60656:function(e,n,t){var o=t(18489),i=t(50390),a=t(84402),l=t(78426),s=t(93085),r=t(7887),c=t(66946),d=t(7521),u=t(95467),m=t(21278),p=t(86509),v=t(4285),x=t(72462),h=t(62559);n.Z=(0,v.Z)((function(e){return(0,p.Z)((0,o.Z)({},x.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,p=e.onClose,v=e.onCancel,x=e.onConfirm,Z=e.classes,f=void 0===Z?{}:Z,j=e.title,C=void 0===j?"":j,b=e.isLoading,g=e.confirmationContent,N=e.cancelText,y=void 0===N?"Cancel":N,P=e.confirmText,k=void 0===P?"Confirm":P,I=e.confirmButtonProps,L=void 0===I?{}:I,B=e.cancelButtonProps,M=void 0===B?{}:B,F=e.titleIcon,T=void 0===F?null:F;return(0,h.jsxs)(a.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&p()},className:f.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,h.jsxs)(l.Z,{className:f.title,children:[(0,h.jsxs)("div",{className:f.titleText,children:[T," ",C]}),(0,h.jsx)("div",{className:f.closeContainer,children:(0,h.jsx)(u.Z,{"aria-label":"close",className:f.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,h.jsx)(m.Z,{})})})]}),(0,h.jsx)(s.Z,{className:f.content,children:g}),(0,h.jsxs)(r.Z,{className:f.actions,children:[(0,h.jsx)(c.Z,(0,o.Z)((0,o.Z)({className:f.cancelButton,onClick:v||p,disabled:b,type:"button"},M),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:y})),(0,h.jsx)(d.Z,(0,o.Z)((0,o.Z)({className:f.confirmButton,type:"button",onClick:x,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,h.jsx)(i.Fragment,{}),autoFocus:!0,id:"confirm-ok"},L),{},{children:k}))]})]})}))},53421:function(e,n,t){t.r(n);var o=t(23430),i=t(50390),a=t(23473),l=t(66964),s=t(25594),r=t(34424),c=t(44149),d=t(21639),u=t(60656),m=t(14549),p=t(62559),v=(0,r.$j)(null,{setErrorSnackMessage:c.Ih});n.default=v((function(e){var n=e.deleteOpen,t=e.selectedPVC,r=e.closeDeleteModalAndRefresh,c=e.setErrorSnackMessage,v=(0,i.useState)(""),x=(0,o.Z)(v,2),h=x[0],Z=x[1],f=(0,d.Z)((function(){return r(!0)}),(function(e){return c(e)})),j=(0,o.Z)(f,2),C=j[0],b=j[1];return(0,p.jsx)(u.Z,{title:"Delete PVC",confirmText:"Delete",isOpen:n,titleIcon:(0,p.jsx)(m.Nv,{}),isLoading:C,onConfirm:function(){h===t.name?b("DELETE","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.tenant,"/pvc/").concat(t.name)):c({errorMessage:"PVC name is incorrect",detailedError:""})},onClose:function(){return r(!1)},confirmButtonProps:{disabled:h!==t.name||C},confirmationContent:(0,p.jsxs)(a.Z,{children:["To continue please type ",(0,p.jsx)("b",{children:t.name})," in the box.",(0,p.jsx)(s.ZP,{item:!0,xs:12,children:(0,p.jsx)(l.Z,{id:"retype-PVC",name:"retype-PVC",onChange:function(e){Z(e.target.value)},label:"",value:h})})]})})}))},21278:function(e,n,t){var o=t(64119);n.Z=void 0;var i=o(t(66830)),a=t(62559),l=(0,i.default)((0,a.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");n.Z=l}}]); +//# sourceMappingURL=3421.53573188.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3421.666af5cb.chunk.js.map b/portal-ui/build/static/js/3421.53573188.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3421.666af5cb.chunk.js.map rename to portal-ui/build/static/js/3421.53573188.chunk.js.map index 2ca24522d..043ac6bed 100644 --- a/portal-ui/build/static/js/3421.666af5cb.chunk.js.map +++ b/portal-ui/build/static/js/3421.53573188.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3421.666af5cb.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Tenants/TenantDetails/DeletePVC.tsx","../node_modules/@mui/icons-material/Close.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n
    \n )}\n \n \n \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { IStoragePVCs } from \"../../Storage/types\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePVC) => {\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePVC !== selectedPVC.name) {\n setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPVC.namespace}/tenants/${selectedPVC.tenant}/pvc/${selectedPVC.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePVC !== selectedPVC.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPVC.name} in the box.\n \n ) => {\n setRetypePVC(event.target.value);\n }}\n label=\"\"\n value={retypePVC}\n />\n \n \n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePVC);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","onKeyPress","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connector","connect","setErrorSnackMessage","deleteOpen","selectedPVC","closeDeleteModalAndRefresh","retypePVC","setRetypePVC","useApi","deleteLoading","invokeDeleteApi","namespace","tenant","errorMessage","detailedError","item","xs","target","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3421.53573188.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Tenants/TenantDetails/DeletePVC.tsx","../node_modules/@mui/icons-material/Close.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport useApi from \"../../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../../icons\";\nimport { IStoragePVCs } from \"../../Storage/types\";\n\ninterface IDeletePVC {\n deleteOpen: boolean;\n selectedPVC: IStoragePVCs;\n closeDeleteModalAndRefresh: (refreshList: boolean) => any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePVC = ({\n deleteOpen,\n selectedPVC,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeletePVC) => {\n const [retypePVC, setRetypePVC] = useState(\"\");\n\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n const onConfirmDelete = () => {\n if (retypePVC !== selectedPVC.name) {\n setErrorSnackMessage({\n errorMessage: \"PVC name is incorrect\",\n detailedError: \"\",\n });\n return;\n }\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/namespaces/${selectedPVC.namespace}/tenants/${selectedPVC.tenant}/pvc/${selectedPVC.name}`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmButtonProps={{\n disabled: retypePVC !== selectedPVC.name || deleteLoading,\n }}\n confirmationContent={\n \n To continue please type {selectedPVC.name} in the box.\n \n ) => {\n setRetypePVC(event.target.value);\n }}\n label=\"\"\n value={retypePVC}\n />\n \n \n }\n />\n );\n};\n\nconst connector = connect(null, {\n setErrorSnackMessage,\n});\n\nexport default connector(DeletePVC);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","disabled","multiline","tooltip","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","onKeyPress","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","onClick","size","disableFocusRipple","disableRipple","disableTouchRipple","onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","root","sx","padding","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","color","confirmButton","loading","loadingPosition","startIcon","connector","connect","setErrorSnackMessage","deleteOpen","selectedPVC","closeDeleteModalAndRefresh","retypePVC","setRetypePVC","useApi","deleteLoading","invokeDeleteApi","namespace","tenant","errorMessage","detailedError","item","xs","target","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3575.b8f7afc0.chunk.js b/portal-ui/build/static/js/3575.b8f7afc0.chunk.js new file mode 100644 index 000000000..44de81f35 --- /dev/null +++ b/portal-ui/build/static/js/3575.b8f7afc0.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3575],{29316:function(e,n,t){t(50390);var i=t(6369),o=t(86509),a=t(4285),s=t(14549),r=t(56805),c=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)({link:{display:"inline-block",alignItems:"center",justifyContent:"center",textDecoration:"none",maxWidth:"40px","&:active":{color:e.palette.primary.light}},icon:{marginRight:"11px",display:"flex",alignItems:"center",justifyContent:"center",height:"35px",width:"35px",borderRadius:"2px","&:hover":{background:"rgba(234,237,238)"},"& svg.min-icon":{width:"18px",height:"12px"}},label:{display:"flex",alignItems:"center",height:"35px",padding:"0 0px 0 5px",fontSize:"18px",fontWeight:600,color:e.palette.primary.light}})}))((function(e){var n=e.to,t=e.label,o=e.classes,a=e.className,l=e.executeOnClick;return(0,c.jsxs)(r.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,c.jsx)(i.rU,{to:n,className:"".concat(o.link," ").concat(a||""),onClick:function(){l&&l()},children:(0,c.jsx)("div",{className:o.icon,children:(0,c.jsx)(s.xC,{})})}),(0,c.jsx)("div",{className:o.label,children:t})]})}))},53575:function(e,n,t){t.r(n),t.d(n,{default:function(){return st}});var i=t(18489),o=t(50390),a=t(34424),s=t(86509),r=t(4285),c=t(94187),l=t(95467),d=t(25594),u=t(38342),m=t.n(u),h=t(72462),f=t(5265),p=t(35531),x=t(23430),b=t(58471),g=t(70971),j=t(30324),v=t(8174),Z=t(28948),y=t(35477),C=t(2857),S=t(6369),k=t(14549),w=t(24442),N=t(30140),E=t(49495),I=t(37882),F=t(62559),P=(0,I.Z)(o.lazy((function(){return t.e(9924).then(t.bind(t,39924))}))),T={setVersionsModeEnabled:f.db},_=(0,a.$j)((function(e){var n=e.objectBrowser;return{rewindEnabled:m()(n,"rewind.rewindEnabled",!1),versionsMode:m()(n,"versionsMode",!1),versionedFile:m()(n,"versionedFile","")}}),T),O=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({},h.cx))}))(_((function(e){var n=e.classes,t=e.bucketName,i=e.internalPaths,a=e.rewindEnabled,s=e.existingFiles,r=e.versionsMode,u=e.versionedFile,m=e.setVersionsModeEnabled,h=e.additionalOptions,f=(0,o.useState)(!1),b=(0,x.Z)(f,2),g=b[0],j=b[1],v=i;""!==i&&(v="/".concat(i));var y=v.split("/").filter((function(e){return""!==e})),C=y.map((function(e,n){var i=y.slice(0,n+1).join("/"),a="/buckets/".concat(t,"/browse/").concat(i?"".concat((0,Z.ug)(i)):"");return(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)("span",{children:" / "}),(0,F.jsx)(S.rU,{to:a,onClick:function(){m(!1)},children:e})]},"breadcrumbs-".concat(n.toString()))})),I=[];r&&(I=[(0,F.jsx)(o.Fragment,{children:(0,F.jsxs)("span",{children:[" / ",u," - Versions"]})},"breadcrumbs-versionedItem")]);var T=[(0,F.jsx)(o.Fragment,{children:(0,F.jsx)(S.rU,{to:"/buckets/".concat(t,"/browse"),onClick:function(){m(!1)},children:t})},"breadcrumbs-root-path")].concat((0,p.Z)(C),(0,p.Z)(I));return(0,F.jsxs)(o.Fragment,{children:[g&&(0,F.jsx)(P,{modalOpen:g,bucketName:t,folderName:i,onClose:function(){j(!1)},existingFiles:s}),(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:"".concat(n.breadcrumbs),children:[(0,F.jsx)(l.Z,{onClick:function(){r?m(!1):w.Z.goBack()},sx:{border:"#EAEDEE 1px solid",backgroundColor:"#fff",borderLeft:0,borderRadius:0,width:39,height:39,marginRight:"10px"},children:(0,F.jsx)(k.ub,{})}),(0,F.jsx)(c.Z,{title:"Choose or create a new path",children:(0,F.jsx)(l.Z,{id:"new-path",onClick:function(){j(!0)},disabled:a||!(0,N.F)(t,[E.Ft.S3_PUT_OBJECT]),disableTouchRipple:!0,disableRipple:!0,focusRipple:!1,sx:{padding:0,paddingLeft:"6px"},children:(0,F.jsx)(k.N$,{})})}),(0,F.jsx)("div",{className:n.breadcrumbsList,dir:"rtl",children:T}),h&&(0,F.jsx)("div",{className:n.additionalOptions,children:h})]})]})}))),D=t(3662),L=t(44149),B=t(62702),M=t(77130),R=t(25534),z=t(26936),A=t(31680),V=t(70902),W=t(80498),U=t(53224),G=(0,r.Z)((function(e){return(0,s.Z)({listUploadIcons:{height:20,"& .min-icon":{width:18,fill:"rgba(0,0,0,0.87)"}}})}))((function(e){var n=e.uploadPath,t=e.bucketName,i=e.forceDisable,a=void 0!==i&&i,s=e.uploadFileFunction,r=e.uploadFolderFunction,c=e.classes,l=o.useState(null),d=(0,x.Z)(l,2),u=d[0],m=d[1],h=Boolean(u),f=function(){m(null)},p=(0,N.F)(n,[E.Ft.S3_PUT_OBJECT]),b=(0,N.F)(t,[E.Ft.S3_PUT_OBJECT],!1,!0),g=p||b;return(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)(U.Z,{id:"upload-main",tooltip:"Upload Files","aria-controls":"upload-main-menu","aria-haspopup":"true","aria-expanded":h?"true":void 0,onClick:function(e){m(e.currentTarget)},text:"Upload",icon:(0,F.jsx)(k.rG,{}),color:"primary",variant:"contained",disabled:a||!g}),(0,F.jsxs)(z.Z,{id:"upload-main-menu","aria-labelledby":"upload-main",anchorEl:u,open:h,onClose:function(){f()},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:[(0,F.jsxs)(A.Z,{onClick:function(){s(f)},disabled:!p||a,children:[(0,F.jsx)(W.Z,{className:c.listUploadIcons,children:(0,F.jsx)(k.rG,{})}),(0,F.jsx)(V.Z,{children:"Upload File"})]}),(0,F.jsxs)(A.Z,{onClick:function(){r(f)},disabled:!b||a,children:[(0,F.jsx)(W.Z,{className:c.listUploadIcons,children:(0,F.jsx)(k.oX,{})}),(0,F.jsx)(V.Z,{children:"Upload Folder"})]})]})]})})),H=(0,r.Z)((function(e){return(0,s.Z)({detailsList:{borderColor:"#EAEDEE",backgroundColor:"#fff",borderWidth:0,borderStyle:"solid",borderRadius:3,borderBottomLeftRadius:0,borderBottomRightRadius:0,width:0,transitionDuration:"0.3s",overflowX:"hidden",overflowY:"auto",position:"relative",opacity:0,marginLeft:-1,"&.open":{width:300,minWidth:300,borderTopWidth:1,borderBottomWidth:1,borderRightWidth:1,borderLeftWidth:1,opacity:1}},closePanel:{position:"absolute",right:0,top:8,"& .min-icon":{width:14}}})}))((function(e){var n=e.classes,t=e.open,i=e.closePanel,o=e.children;return(0,F.jsxs)(d.ZP,{item:!0,className:"".concat(n.detailsList," ").concat(t?"open":""),children:[(0,F.jsx)(l.Z,{onClick:i,className:n.closePanel,children:(0,F.jsx)(k.ot,{})}),o]})})),K=t(81378),Y=t(66946),$=t(56805),J=t(50364),q=t(79440),X=[{value:"01",label:"January"},{value:"02",label:"February"},{value:"03",label:"March"},{value:"04",label:"April"},{value:"05",label:"May"},{value:"06",label:"June"},{value:"07",label:"July"},{value:"08",label:"August"},{value:"09",label:"September"},{value:"10",label:"October"},{value:"11",label:"November"},{value:"12",label:"December"}],Q=Array.from(Array(31),(function(e,n){return n+1})),ee=(new Date).getFullYear(),ne=Array.from(Array(25),(function(e,n){return n+ee})),te=t(51002),ie=t(92440),oe=t(27207),ae=t(36222),se=t(44977),re=t(36554),ce=t(47554),le=t(43965),de=t(46413),ue=t(97538),me=(0,r.Z)((function(e){return(0,s.Z)({root:{"& .MuiSelect-icon":{color:"#000","&.Mui-disabled":{color:"#9c9c9c"}}},input:{borderBottom:0,fontSize:12}})}))(de.ZP),he=(0,o.forwardRef)((function(e,n){var t=e.classes,i=e.id,a=e.label,s=e.disableOptions,r=void 0!==s&&s,l=e.addSwitch,u=void 0!==l&&l,m=e.tooltip,h=void 0===m?"":m,f=e.borderBottom,p=void 0!==f&&f,b=e.onDateChange,g=e.value,j=void 0===g?"":g;(0,o.useImperativeHandle)(n,(function(){return{resetDate:B}}));var v=(0,o.useState)(!1),Z=(0,x.Z)(v,2),y=Z[0],C=Z[1],S=(0,o.useState)(""),k=(0,x.Z)(S,2),w=k[0],N=k[1],E=(0,o.useState)(""),I=(0,x.Z)(E,2),P=I[0],T=I[1],_=(0,o.useState)(""),O=(0,x.Z)(_,2),D=O[0],L=O[1];(0,o.useEffect)((function(){if(""!==j){var e=j.split("-");L(e[0]),N(e[1]),T("".concat(parseInt(e[2])))}}),[j]),(0,o.useEffect)((function(){var e=function(e,n,t){var i=Date.parse("".concat(e,"-").concat(n,"-").concat(t));if(isNaN(i))return[!1,""];var o=parseInt(n),a=parseInt(t),s=o<10?"0".concat(o):o,r=a<10?"0".concat(a):a,c=new Date(i).toISOString().split("T")[0],l="".concat(e,"-").concat(s,"-").concat(r);return[c===l,l]}(D,w,P),n=(0,x.Z)(e,2),t=n[0],i=n[1];b(i,t)}),[w,P,D,b]);var B=function(){N(""),T(""),L("")},M=function(){return r||!!u&&!y};return(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:(0,se.Z)(t.fieldContainer,(0,ae.Z)({},t.fieldContainerBorder,p)),children:[(0,F.jsx)("div",{className:t.labelContainer,children:(0,F.jsxs)(d.ZP,{container:!0,children:[(0,F.jsxs)(re.Z,{htmlFor:i,className:t.inputLabel,children:[(0,F.jsx)("span",{children:a}),""!==h&&(0,F.jsx)("div",{className:t.tooltipContainer,children:(0,F.jsx)(c.Z,{title:h,placement:"top-start",children:(0,F.jsx)("div",{className:t.tooltip,children:(0,F.jsx)(ue.Z,{})})})})]}),u&&(0,F.jsx)(ie.Z,{indicatorLabels:["Specific Date","Default (7 Days)"],checked:y,value:"date_enabled",id:"date-status",name:"date-status",onChange:function(e){C(e.target.checked),e.target.checked||b("",!0)},switchOnly:!0})]})}),(0,F.jsxs)("div",{children:[(0,F.jsx)(ce.Z,{disabled:M(),className:t.dateInput,children:(0,F.jsxs)(le.Z,{id:"".concat(i,"-month"),name:"".concat(i,"-month"),value:w,displayEmpty:!0,onChange:function(e){N(e.target.value)},input:(0,F.jsx)(me,{}),children:[(0,F.jsx)(A.Z,{value:"",disabled:!0,children:""}),X.map((function(e){return(0,F.jsx)(A.Z,{value:e.value,children:e.label},"select-".concat(i,"-monthOP-").concat(e.label))}))]})}),(0,F.jsx)(ce.Z,{disabled:M(),className:t.dateInput,children:(0,F.jsxs)(le.Z,{id:"".concat(i,"-day"),name:"".concat(i,"-day"),value:P,displayEmpty:!0,onChange:function(e){T(e.target.value)},input:(0,F.jsx)(me,{}),children:[(0,F.jsx)(A.Z,{value:"",disabled:!0,children:""}),Q.map((function(e){return(0,F.jsx)(A.Z,{value:e,children:e},"select-".concat(i,"-dayOP-").concat(e))}))]})}),(0,F.jsx)(ce.Z,{disabled:M(),className:t.dateInput,children:(0,F.jsxs)(le.Z,{id:"".concat(i,"-year"),name:"".concat(i,"-year"),value:D,displayEmpty:!0,onChange:function(e){L(e.target.value)},input:(0,F.jsx)(me,{}),children:[(0,F.jsx)(A.Z,{value:"",disabled:!0,children:""}),ne.map((function(e){return(0,F.jsx)(A.Z,{value:e,children:e},"select-".concat(i,"-yearOP-").concat(e))}))]})})]})]})})),fe=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({dateInput:{"&:not(:last-child)":{marginRight:22}}},h.YI),h.Hr),{},{labelContainer:{flex:1},fieldContainer:(0,i.Z)((0,i.Z)({},h.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),fieldContainerBorder:{borderBottom:"#9c9c9c 1px solid",marginBottom:20}}))}))(he),pe={setModalErrorSnackMessage:L.zb},xe=(0,a.$j)(null,pe),be=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.DF),h.ID),h.bK),{},{dateSelector:{"& div":{borderBottom:0,marginBottom:0,"& div:nth-child(2)":{border:"1px solid #EAEAEA",paddingLeft:5,"& div":{border:0}}}}}))}))(xe((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,a=e.objectName,s=e.objectInfo,r=e.bucketName,c=e.setModalErrorSnackMessage,l=(0,o.useState)(!0),u=(0,x.Z)(l,2),m=u[0],h=u[1],f=(0,o.useState)(""),p=(0,x.Z)(f,2),b=p[0],g=p[1],v=(0,o.useState)(""),y=(0,x.Z)(v,2),C=y[0],S=y[1],k=(0,o.useState)(!1),w=(0,x.Z)(k,2),N=w[0],E=w[1],I=(0,o.useState)(!1),P=(0,x.Z)(I,2),T=P[0],_=P[1],O=(0,o.useState)(!1),D=(0,x.Z)(O,2),L=D[0],B=D[1];(0,o.useEffect)((function(){if(s.retention_mode&&(g(s.retention_mode.toLowerCase()),B(!0)),s.retention_until_date){var e=new Date(s.retention_until_date);if("Invalid Date"!==e.toString()){var n=e.getFullYear(),t=(o=e.getMonth()+1)<10?"0".concat(o):"".concat(o),i=e.getDate();isNaN(i)||"NaN"===t||isNaN(n)||S("".concat(n,"-").concat(t,"-").concat(i))}B(!0)}var o}),[s]);var M=(0,o.useRef)(null),R=function(){h(!1),g(""),M.current&&M.current.resetDate()},z=L&&("governance"===b||""===b);return(0,F.jsxs)(te.Z,{title:"Set Retention Policy",modalOpen:t,onClose:function(){R(),i(!1)},children:[(0,F.jsxs)("div",{className:n.spacerBottom,children:[(0,F.jsx)("strong",{children:"Selected Object"}),": ",a]}),(0,F.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:[z&&(0,F.jsx)(d.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,F.jsx)(ie.Z,{value:"status",id:"status",name:"status",checked:m,onChange:function(e){h(!m)},label:"Status",indicatorLabels:["Enabled","Disabled"]})}),(0,F.jsx)(d.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,F.jsx)(oe.Z,{currentSelection:b,id:"type",name:"type",label:"Type",disableOptions:!m||L&&""!==b,onChange:function(e){g(e.target.value)},selectorOptions:[{label:"Governance",value:"governance"},{label:"Compliance",value:"compliance"}]})}),(0,F.jsx)(d.ZP,{item:!0,xs:12,className:"".concat(n.dateSelector," "),children:(0,F.jsx)(fe,{id:"date",label:"Date",disableOptions:!(m&&("governance"===b||"compliance"===b)),ref:M,value:C,borderBottom:!0,onDateChange:function(e,n){E(n),n&&S(e)}})}),(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,F.jsx)(Y.Z,{type:"button",variant:"outlined",color:"primary",onClick:R,children:"Reset"}),(0,F.jsx)(Y.Z,{type:"submit",variant:"contained",color:"primary",disabled:m&&""===b||m&&!N||T,onClick:function(){_(!0);var e=s.name,n=s.version_id,t=m||"governance"!==b?"".concat(C,"T23:59:59Z"):"";m||"governance"!==b?function(e,n,t){j.Z.invoke("PUT","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,Z.ug)(e),"&version_id=").concat(n),{expires:t,mode:b}).then((function(e){_(!1),i(!0)})).catch((function(e){c(e),_(!1)}))}(e,n,t):function(e,n){j.Z.invoke("DELETE","/api/v1/buckets/".concat(r,"/objects/retention?prefix=").concat((0,Z.ug)(e),"&version_id=").concat(n)).then((function(){_(!1),i(!0)})).catch((function(e){c(e),_(!1)}))}(e,n)},children:"Save"})]})]})]})}))),ge=t(23473),je=t(60656),ve=t(21639),Ze={setErrorSnackMessage:L.Ih},ye=(0,a.$j)(null,Ze)((function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,a=e.selectedObject,s=e.setErrorSnackMessage,r=e.versioning,c=e.selectedVersion,l=void 0===c?"":c,d=(0,ve.Z)((function(){return n(!0)}),(function(e){return s(e)})),u=(0,x.Z)(d,2),m=u[0],h=u[1],f=(0,o.useState)(!1),p=(0,x.Z)(f,2),b=p[0],g=p[1];if(!a)return null;return(0,F.jsx)(je.Z,{title:"Delete Object",confirmText:"Delete",isOpen:t,titleIcon:(0,F.jsx)(k.Nv,{}),isLoading:m,onConfirm:function(){var e=(0,Z.le)(a).endsWith("/");h("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(a).concat(""!==l?"&version_id=".concat(l):"&recursive=".concat(e,"&all_versions=").concat(b)))},onClose:function(){return n(!1)},confirmationContent:(0,F.jsxs)(ge.Z,{children:["Are you sure you want to delete: ",(0,F.jsx)("br",{}),(0,F.jsx)("b",{children:(0,Z.le)(a)})," ",""!==l?(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"Version ID:",(0,F.jsx)("br",{}),(0,F.jsx)("strong",{children:l})]}):"","? ",(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),r&&""===l&&(0,F.jsx)(ie.Z,{label:"Delete All Versions",indicatorLabels:["Yes","No"],checked:b,value:"delete_versions",id:"delete-versions",name:"delete-versions",onChange:function(e){g(!b)},description:""})]})})})),Ce={setModalErrorSnackMessage:L.zb},Se=(0,a.$j)(null,Ce),ke=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.DF),h.ID),h.bK))}))(Se((function(e){var n=e.classes,t=e.open,i=e.closeModalAndRefresh,a=e.objectName,s=e.bucketName,r=e.actualInfo,c=e.setModalErrorSnackMessage,l=(0,o.useState)(!1),u=(0,x.Z)(l,2),h=u[0],f=u[1],p=(0,o.useState)(!1),b=(0,x.Z)(p,2),g=b[0],v=b[1],y=r.version_id;(0,o.useEffect)((function(){var e=m()(r,"legal_hold_status","OFF");f("ON"===e)}),[r]);var C=function(){f(!1)};return(0,F.jsxs)(te.Z,{title:"Set Legal Hold",modalOpen:t,onClose:function(){C(),i(!1)},children:[(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:n.spacerBottom,children:["Object: ",s]}),(0,F.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault(),v(!0),j.Z.invoke("PUT","/api/v1/buckets/".concat(s,"/objects/legalhold?prefix=").concat((0,Z.ug)(a),"&version_id=").concat(y),{status:h?"enabled":"disabled"}).then((function(){v(!1),i(!0)})).catch((function(e){c(e),v(!1)}))}(e)},children:[(0,F.jsx)(d.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,F.jsx)(ie.Z,{value:"legalhold",id:"legalhold",name:"legalhold",checked:h,onChange:function(e){f(!h)},label:"Legal Hold Status",indicatorLabels:["Enabled","Disabled"],tooltip:"To enable this feature you need to enable versioning on the bucket before creation"})}),(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,F.jsx)(Y.Z,{type:"button",color:"primary",variant:"outlined",onClick:C,children:"Clear"}),(0,F.jsx)(Y.Z,{type:"submit",variant:"contained",color:"primary",disabled:g,children:"Save"})]})]})]})}))),we=t(57767),Ne=t(4182),Ee=t(35044),Ie=t(29399),Fe=t(73481),Pe=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({propertiesIcon:{marginLeft:5,"& .min-icon":{height:12}},capitalizeFirst:{textTransform:"capitalize","& .min-icon":{width:16,height:16}},titleCol:{width:"25%"},titleItem:{width:"35%"}},h.bK),h.$b))}))((function(e){var n=e.bucketName,t=e.internalPaths,i=e.classes,a=e.actualInfo,s=e.linear,r=void 0!==s&&s,c=(0,o.useState)({}),l=(0,x.Z)(c,2),u=l[0],h=l[1],f=(0,ve.Z)((function(e){var n=m()(e,"objectMetadata",{});h(n)}),(function(e){return!1})),p=(0,x.Z)(f,2)[1],b=Object.keys(u),g=(0,o.useCallback)((function(){p("GET","/api/v1/buckets/".concat(n,"/objects/metadata?prefix=").concat(t))}),[n,t,a]);return(0,o.useEffect)((function(){a&&g()}),[a,g]),r?(0,F.jsx)(o.Fragment,{children:b.map((function(e,n){var t=Array.isArray(u[e])?u[e].map(decodeURIComponent).join(", "):decodeURIComponent(u[e]);return(0,F.jsxs)($.Z,{className:i.metadataLinear,children:[(0,F.jsx)("strong",{children:e}),(0,F.jsx)("br",{}),t]},"box-meta-".concat(e,"-").concat(n.toString()))}))}):(0,F.jsxs)(d.ZP,{container:!0,children:[(0,F.jsx)(d.ZP,{item:!0,xs:12,sx:{marginTop:"25px",marginBottom:"5px"},children:(0,F.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Object Metadata"})}),(0,F.jsx)(d.ZP,{item:!0,xs:12,children:(0,F.jsx)(Ne.Z,{className:i.table,"aria-label":"simple table",children:(0,F.jsx)(Ee.Z,{children:b.map((function(e,n){var t=Array.isArray(u[e])?u[e].map(decodeURIComponent).join(", "):decodeURIComponent(u[e]);return(0,F.jsxs)(Ie.Z,{children:[(0,F.jsx)(Fe.Z,{component:"th",scope:"row",className:i.titleItem,children:e}),(0,F.jsx)(Fe.Z,{align:"right",children:t})]},"tRow-".concat(n.toString()))}))})})})]})})),Te=t(83738),_e=["disabled","onClick","icon","label","classes"],Oe=(0,r.Z)((function(e){return(0,s.Z)({root:{padding:"0 15px",height:22,margin:0,color:"#5E5E5E",fontWeight:"normal",fontSize:14,whiteSpace:"nowrap",width:"100%",justifyContent:"flex-start","&:hover":{backgroundColor:"transparent",color:"#000"},"& .min-icon":{width:11},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}}})}))((function(e){var n=e.disabled,t=e.onClick,o=e.icon,a=e.label,s=e.classes,r=(0,Te.Z)(e,_e);return(0,F.jsx)(Y.Z,(0,i.Z)((0,i.Z)({},r),{},{disabled:n,onClick:t,className:s.root,startIcon:o,children:(0,F.jsx)("span",{className:"buttonItem",children:a})}))})),De=(0,r.Z)((function(){return(0,s.Z)((0,i.Z)({},h.$b))}))((function(e){var n=e.items,t=e.classes,i=e.title;return(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)("div",{className:t.titleLabel,children:i}),(0,F.jsxs)("ul",{className:t.objectActions,children:[(0,F.jsx)("li",{children:"Actions:"}),n.map((function(e,n){return(0,F.jsx)("li",{children:(0,F.jsx)(Oe,{label:e.label,icon:e.icon,onClick:e.action,disabled:e.disabled})},"action-element-".concat(n.toString()))}))]})]})})),Le=t(89472),Be=t(93482),Me=t(416),Re=(0,r.Z)((function(e){return(0,s.Z)({fileName:{display:"flex",alignItems:"center","& .min-icon":{width:16,height:16,marginRight:4}},fileNameText:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}})}))((function(e){return(0,F.jsxs)("div",{className:e.classes.fileName,children:[e.icon,(0,F.jsx)("span",{className:e.classes.fileNameText,children:e.strings[e.strings.length-1]})]})})),ze=o.lazy((function(){return Promise.resolve().then(t.bind(t,30510))})),Ae=o.lazy((function(){return Promise.resolve().then(t.bind(t,78162))})),Ve=o.lazy((function(){return Promise.resolve().then(t.bind(t,30272))})),We=o.lazy((function(){return Promise.resolve().then(t.bind(t,52383))})),Ue=o.lazy((function(){return Promise.resolve().then(t.bind(t,35031))})),Ge=o.lazy((function(){return Promise.resolve().then(t.bind(t,79877))})),He=o.lazy((function(){return Promise.resolve().then(t.bind(t,60317))})),Ke=o.lazy((function(){return Promise.resolve().then(t.bind(t,80479))})),Ye=o.lazy((function(){return Promise.resolve().then(t.bind(t,37634))})),$e=o.lazy((function(){return Promise.resolve().then(t.bind(t,99884))})),Je=o.lazy((function(){return Promise.resolve().then(t.bind(t,90474))})),qe=o.lazy((function(){return Promise.resolve().then(t.bind(t,15874))})),Xe=o.lazy((function(){return Promise.resolve().then(t.bind(t,58729))})),Qe=o.lazy((function(){return Promise.resolve().then(t.bind(t,49653))})),en=o.lazy((function(){return Promise.resolve().then(t.bind(t,25909))})),nn=[{icon:(0,F.jsx)(Xe,{}),extensions:["mp4","mov","avi","mpeg","mpg"]},{icon:(0,F.jsx)(Ye,{}),extensions:["mp3","m4a","aac"]},{icon:(0,F.jsx)($e,{}),extensions:["pdf"]},{icon:(0,F.jsx)(Je,{}),extensions:["ppt","pptx"]},{icon:(0,F.jsx)(Qe,{}),extensions:["xls","xlsx"]},{icon:(0,F.jsx)(He,{}),extensions:["cer","crt","pem"]},{icon:(0,F.jsx)(Ae,{}),extensions:["html","xml","css","py","go","php","cpp","h","java"]},{icon:(0,F.jsx)(Ve,{}),extensions:["cfg","yaml"]},{icon:(0,F.jsx)(We,{}),extensions:["sql"]},{icon:(0,F.jsx)(Ue,{}),extensions:["ttf","otf"]},{icon:(0,F.jsx)(qe,{}),extensions:["txt"]},{icon:(0,F.jsx)(en,{}),extensions:["zip","rar","tar","gz"]},{icon:(0,F.jsx)(ze,{}),extensions:["epub","mobi","azw","azw3"]},{icon:(0,F.jsx)(Ge,{}),extensions:["jpeg","jpg","gif","tiff","png","heic","dng"]}],tn=function(e){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],t=e,i=(0,F.jsx)(Be.Z,{});e.endsWith("/")&&(i=(0,F.jsx)(Me.Z,{}),t=e.substr(0,e.length-1));var o,a=e.toLowerCase(),s=(0,Le.Z)(nn);try{for(s.s();!(o=s.n()).done;){var r,c=o.value,l=(0,Le.Z)(c.extensions);try{for(l.s();!(r=l.n()).done;){var d=r.value;a.endsWith(".".concat(d))&&(i=c.icon)}}catch(m){l.e(m)}finally{l.f()}}}catch(m){s.e(m)}finally{s.f()}!e.endsWith("/")&&e.indexOf(".")<0&&(i=(0,F.jsx)(Ke,{}));var u=t.split("/");return n?i:(0,F.jsx)(Re,{icon:i,strings:u})},on=t(66964),an=t(63020),sn=t(21278),rn={setModalErrorSnackMessage:L.zb},cn=(0,a.$j)((function(e){var n=e.system;return{distributedSetup:m()(n,"distributedSetup",!1)}}),rn),ln=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({pathLabel:{marginTop:0,marginBottom:32},newTileHeader:{fontSize:18,fontWeight:"bold",color:"#000",margin:"20px 0",paddingBottom:15,borderBottom:"#E2E2E2 2px solid"}},h.DF),h.ID),h.bK))}))(cn((function(e){var n=e.modalOpen,t=e.onCloseAndUpdate,a=e.bucketName,s=e.distributedSetup,r=e.actualInfo,c=e.setModalErrorSnackMessage,l=e.classes,u=(0,o.useState)(""),h=(0,x.Z)(u,2),f=h[0],p=h[1],b=(0,o.useState)(""),g=(0,x.Z)(b,2),v=g[0],y=g[1],C=(0,o.useState)(!1),S=(0,x.Z)(C,2),w=S[0],I=S[1],P=(0,o.useState)(!1),T=(0,x.Z)(P,2),_=T[0],O=T[1],D=(0,o.useState)(""),L=(0,x.Z)(D,2),B=L[0],M=L[1],R=(0,o.useState)(""),z=(0,x.Z)(R,2),A=z[0],V=z[1],W=(0,Z.ug)(r.name),U=r.tags,G=Object.keys(U||{}),H=r.name.split("/").pop()||"";return(0,F.jsx)(o.Fragment,{children:(0,F.jsx)(te.Z,{modalOpen:n,title:_?"Delete Tag":"Edit Tags for ".concat(H),onClose:function(){t(!0)},titleIcon:(0,F.jsx)(k.Dg,{}),children:_?(0,F.jsx)(o.Fragment,{children:(0,F.jsxs)(d.ZP,{container:!0,children:["Are you sure you want to delete the tag"," ",(0,F.jsxs)("b",{className:l.wrapText,children:[B," : ",A]})," ","from ",H,"?",(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:l.modalButtonBar,children:[(0,F.jsx)(Y.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){M(""),V(""),O(!1)},children:"No"}),(0,F.jsx)(Y.Z,{type:"submit",variant:"outlined",color:"secondary",onClick:function(){var e=(0,i.Z)({},U);delete e[B];var n=s?r.version_id:"null";j.Z.invoke("PUT","/api/v1/buckets/".concat(a,"/objects/tags?prefix=").concat(W,"&version_id=").concat(n),{tags:e}).then((function(e){t(!0),I(!1)})).catch((function(e){c(e),I(!1)}))},children:"Yes"})]})]})}):(0,F.jsxs)(d.ZP,{container:!0,children:[(0,F.jsx)(N.s,{scopes:[E.Ft.S3_GET_OBJECT_TAGGING],resource:a,children:(0,F.jsxs)($.Z,{sx:{display:"flex",flexFlow:"column"},children:[(0,F.jsx)("strong",{children:"Current Tags:"}),0===G.length?"No Tags for this object":"",(0,F.jsx)($.Z,{children:G.map((function(e,n){var t=m()(U,"".concat(e),"");return""!==t?(0,F.jsx)(N.s,{scopes:[E.Ft.S3_DELETE_OBJECT_TAGGING],resource:a,matchAll:!0,errorProps:{deleteIcon:null,onDelete:null},children:(0,F.jsx)(an.Z,{style:{textTransform:"none",marginRight:"5px"},size:"small",label:"".concat(e," : ").concat(t),color:"primary",deleteIcon:(0,F.jsx)(sn.Z,{}),onDelete:function(){!function(e,n){M(e),V(n),O(!0)}(e,t)}})},"chip-".concat(n)):null}))})]})}),(0,F.jsx)(N.s,{scopes:[E.Ft.S3_PUT_OBJECT_TAGGING],resource:a,errorProps:{disabled:!0,onClick:null},children:(0,F.jsxs)(d.ZP,{container:!0,children:[(0,F.jsx)(d.ZP,{item:!0,xs:12,className:l.newTileHeader,children:"Add New Tag"}),(0,F.jsx)(d.ZP,{item:!0,xs:12,className:l.formFieldRow,children:(0,F.jsx)(on.Z,{value:f,label:"Tag Key",id:"newTagKey",name:"newTagKey",placeholder:"Enter Tag Key",onChange:function(e){p(e.target.value)}})}),(0,F.jsx)(d.ZP,{item:!0,xs:12,className:l.formFieldRow,children:(0,F.jsx)(on.Z,{value:v,label:"Tag Label",id:"newTagLabel",name:"newTagLabel",placeholder:"Enter Tag Label",onChange:function(e){y(e.target.value)}})}),(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:l.modalButtonBar,children:[(0,F.jsx)(Y.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){y(""),p("")},children:"Clear"}),(0,F.jsx)(Y.Z,{type:"submit",variant:"contained",color:"primary",disabled:""===v.trim()||""===f.trim()||w,onClick:function(){I(!0);var e={};e[f]=v;var n=(0,i.Z)((0,i.Z)({},U),e),o=s?r.version_id:"null";j.Z.invoke("PUT","/api/v1/buckets/".concat(a,"/objects/tags?prefix=").concat(W,"&version_id=").concat(o),{tags:n}).then((function(e){t(!0),I(!1)})).catch((function(e){c(e),I(!1)}))},children:"Save new Tag"})]})]})})]})})})}))),dn=t(33032),un=t(84322),mn=t.n(un),hn=t(94863),fn={setErrorSnackMessage:L.Ih},pn=(0,a.$j)(null,fn),xn=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.DF),h.ID),h.bK))}))(pn((function(e){var n=e.classes,t=e.closeInspectModalAndRefresh,i=e.inspectOpen,a=e.inspectPath,s=e.volumeName,r=e.setErrorSnackMessage,c=function(){return t(!1)},l=(0,o.useState)(!0),u=(0,x.Z)(l,2),m=u[0],h=u[1],f=(0,o.useState)(""),p=(0,x.Z)(f,2),b=p[0],g=p[1],j=(0,o.useState)(""),v=(0,x.Z)(j,2),y=v[0],C=v[1];if(!a)return null;var S=function(){var e=(0,dn.Z)(mn().mark((function e(n){return mn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch(n,{method:"GET"});case 2:return e.abrupt("return",e.sent);case 3:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}(),w=function(){var e=(0,dn.Z)(mn().mark((function e(){var n,t,i;return mn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=encodeURIComponent(a+"/xl.meta"),t=encodeURIComponent(s),i="/api/v1/admin/inspect?volume=".concat(t,"&file=").concat(n,"&encrypt=").concat(m),S(i).then(function(){var e=(0,dn.Z)(mn().mark((function e(n){var t,i,o,a;return mn().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.ok){e.next=5;break}return e.next=3,n.json();case 3:t=e.sent,r({errorMessage:t.message,detailedError:t.code});case 5:return e.next=7,n.blob();case 7:if(i=e.sent,o=n.headers.get("content-disposition").split('"')[1],a=(0,Z.Do)(o)||"",(0,Z.zZ)(i,o),C(o),""!==a){e.next=15;break}return c(),e.abrupt("return");case 15:g(a);case 16:case"end":return e.stop()}}),e)})));return function(n){return e.apply(this,arguments)}}()).catch((function(e){r(e)}));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,F.jsxs)(o.Fragment,{children:[!b&&(0,F.jsx)(te.Z,{modalOpen:i,titleIcon:(0,F.jsx)(J.Gp,{}),title:"Inspect Object",onClose:c,children:(0,F.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){e.preventDefault()}(e)},children:["Would you like to encrypt ",(0,F.jsx)("b",{children:(0,Z.le)(a)}),"?"," ",(0,F.jsx)("br",{}),(0,F.jsx)(ie.Z,{label:"Encrypt",indicatorLabels:["Yes","No"],checked:m,value:"encrypt",id:"encrypt",name:"encrypt",onChange:function(e){h(!m)},description:""}),(0,F.jsx)(d.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:(0,F.jsx)(Y.Z,{type:"submit",variant:"contained",color:"primary",onClick:w,children:"Inspect"})})]})}),b?(0,F.jsx)(te.Z,{modalOpen:i,title:"Inspect Decryption Key",onClose:function(){(0,Z.kT)(y),c(),g("")},titleIcon:(0,F.jsx)(k.tv,{}),children:(0,F.jsxs)(ge.Z,{children:[(0,F.jsxs)($.Z,{children:["This will be displayed only once. It cannot be recovered.",(0,F.jsx)("br",{}),"Use secure medium to share this key."]}),(0,F.jsx)($.Z,{children:(0,F.jsx)(hn.Z,{value:b})})]})}):null]})}))),bn={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},gn={setErrorSnackMessage:L.Ih,setSnackBarMessage:L.y1,setNewObject:f.Mc,updateProgress:f.RO,completeObject:f.oK,setVersionsModeEnabled:f.db,setLoadingObjectInfo:f.vH,setLoadingVersions:f.Eq,setSelectedVersion:f.M3},jn=(0,a.$j)((function(e){var n=e.objectBrowser,t=e.system;return{rewindEnabled:m()(n,"rewind.rewindEnabled",!1),rewindDate:m()(n,"rewind.dateToRewind",null),bucketToRewind:m()(n,"rewind.bucketToRewind",""),distributedSetup:m()(t,"distributedSetup",!1),versionsMode:m()(n,"versionsMode",!1),selectedVersion:m()(n,"selectedVersion",""),loadingObjectInfo:m()(n,"loadingObjectInfo",!1)}}),gn)((0,r.Z)((function(){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({ObjectDetailsTitle:{display:"flex",alignItems:"center"},objectNameContainer:{whiteSpace:"nowrap",textOverflow:"ellipsis",overflow:"hidden",alignItems:"center",marginLeft:10},headerForSection:{display:"flex",justifyContent:"space-between",alignItems:"center",paddingBottom:15,borderBottom:"#E2E2E2 2px solid",fontWeight:"bold",fontSize:18,color:"#000",margin:"20px 22px"},capitalizeFirst:{textTransform:"capitalize"}},h.Si),h.OR),h.bK),h.VI),h.$b))}))((function(e){var n=e.classes,t=e.internalPaths,i=e.bucketName,a=e.distributedSetup,s=e.versioning,r=e.setErrorSnackMessage,c=e.setNewObject,l=e.updateProgress,u=e.completeObject,h=e.versionsMode,f=e.selectedVersion,p=e.onClosePanel,b=e.setVersionsModeEnabled,g=e.loadingObjectInfo,v=e.setLoadingObjectInfo,y=e.setLoadingVersions,C=e.setSelectedVersion,S=(0,o.useState)(!1),w=(0,x.Z)(S,2),I=w[0],P=w[1],T=(0,o.useState)(!1),_=(0,x.Z)(T,2),O=_[0],L=_[1],B=(0,o.useState)(!1),M=(0,x.Z)(B,2),R=M[0],z=M[1],A=(0,o.useState)(!1),V=(0,x.Z)(A,2),W=V[0],U=V[1],G=(0,o.useState)(!1),H=(0,x.Z)(G,2),X=H[0],Q=H[1],ee=(0,o.useState)(null),ne=(0,x.Z)(ee,2),te=ne[0],ie=ne[1],oe=(0,o.useState)([]),ae=(0,x.Z)(oe,2),se=ae[0],re=ae[1],ce=(0,o.useState)(null),le=(0,x.Z)(ce,2),de=le[0],ue=le[1],me=(0,o.useState)([]),he=(0,x.Z)(me,2),fe=he[0],pe=he[1],xe=(0,o.useState)(!1),ge=(0,x.Z)(xe,2),je=ge[0],ve=ge[1],Ze=(0,o.useState)(!1),Ce=(0,x.Z)(Ze,2),Se=Ce[0],Ne=Ce[1],Ee=(0,o.useState)(0),Ie=(0,x.Z)(Ee,2),Fe=Ie[0],Te=Ie[1],_e=((0,Z.le)(t)||"").split("/").pop()||"",Oe=[];te&&(Oe=te.name.split("/")),(0,o.useEffect)((function(){""!==i&&t&&v(!0)}),[t,i,v]),(0,o.useEffect)((function(){if(a&&se.length>=1){var e=se.find((function(e){return e.is_latest}))||bn;""!==f&&(e=se.find((function(e){return e.version_id===f}))||bn),ie(e)}}),[f,a,se]),(0,o.useEffect)((function(){g&&""!==t&&j.Z.invoke("GET","/api/v1/buckets/".concat(i,"/objects?prefix=").concat(t).concat(a?"&with_versions=true":"")).then((function(e){var n=m()(e,"objects",[]);if(a){re(n),pe(n);var t=n.reduce((function(e,n){return null!==n&&void 0!==n&&n.size?e+n.size:e}),0);Te(t)}else ie(n[0]),pe([]);v(!1)})).catch((function(e){r(e),v(!1)}))}),[g,i,t,r,a,f,v]);var Le=[];te&&te.tags&&(Le=Object.keys(te.tags));if(!te)return null;var Be=Oe.length>0?Oe[Oe.length-1]:te.name,Me=[{action:function(){!function(e){var n=(0,Z.ug)("".concat(i,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random()));c({bucketName:i,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0}),(0,D.LR)(i,t,e.version_id,parseInt(e.size||"0"),(function(e){l(n,e)}),(function(){u(n)}))}(te)},label:"Download",disabled:!!te.is_delete_marker,icon:(0,F.jsx)(k._8,{}),tooltip:"Download this Object"},{action:function(){P(!0)},label:"Share",disabled:!!te.is_delete_marker,icon:(0,F.jsx)(k.aA,{}),tooltip:"Share this File"},{action:function(){Ne(!0)},label:"Preview",disabled:!!te.is_delete_marker||"none"===(0,D.Bg)(_e),icon:(0,F.jsx)(k.P9,{}),tooltip:"Preview this File"},{action:function(){U(!0)},label:"Legal Hold",disabled:!!te.is_delete_marker||!(0,N.F)(i,[E.Ft.S3_PUT_OBJECT_LEGAL_HOLD])||""!==f,icon:(0,F.jsx)(k.fN,{}),tooltip:"Change Legal Hold rules for this File"},{action:function(){L(!0)},label:"Retention",disabled:!!te.is_delete_marker||!(0,N.F)(i,[E.Ft.S3_GET_OBJECT_RETENTION])||""!==f,icon:(0,F.jsx)(k.E9,{}),tooltip:"Change Retention rules for this File"},{action:function(){z(!0)},label:"Tags",disabled:!!te.is_delete_marker||""!==f,icon:(0,F.jsx)(k.Dg,{}),tooltip:"Change Tags for this File"},{action:function(){Q(!0)},label:"Inspect",disabled:!!te.is_delete_marker||""!==f,icon:(0,F.jsx)(J.Gp,{}),tooltip:"Inspect this file"},{action:function(){b(!h,Be)},label:h?"Hide Object Versions":"Display Object Versions",icon:(0,F.jsx)(k.cR,{}),disabled:!(te.version_id&&"null"!==te.version_id),tooltip:"Display Versions for this file"}];return(0,F.jsxs)(o.Fragment,{children:[I&&te&&(0,F.jsx)(q.default,{open:I,closeModalAndRefresh:function(){ue(null),P(!1)},bucketName:i,dataObject:de||te}),O&&te&&(0,F.jsx)(be,{open:O,closeModalAndRefresh:function(e){L(!1),e&&v(!0)},objectName:_e,objectInfo:te,bucketName:i}),je&&(0,F.jsx)(ye,{deleteOpen:je,selectedBucket:i,selectedObject:t,closeDeleteModalAndRefresh:function(e){ve(!1),e&&""===f?p(!0):(y(!0),C(""),v(!0))},versioning:a&&s,selectedVersion:f}),W&&te&&(0,F.jsx)(ke,{open:W,closeModalAndRefresh:function(e){U(!1),e&&v(!0)},objectName:te.name,bucketName:i,actualInfo:te}),Se&&te&&(0,F.jsx)(we.default,{open:Se,bucketName:i,object:{name:te.name,version_id:te.version_id||"null",size:parseInt(te.size||"0"),content_type:"",last_modified:new Date(te.last_modified)},onClosePreview:function(){Ne(!1)}}),R&&te&&(0,F.jsx)(ln,{modalOpen:R,bucketName:i,actualInfo:te,onCloseAndUpdate:function(e){z(!1),e&&v(!0)}}),X&&te&&(0,F.jsx)(xn,{inspectOpen:X,volumeName:i,inspectPath:te.name,closeInspectModalAndRefresh:function(e){Q(!1),e&&v(!0)}}),!te&&(0,F.jsx)(d.ZP,{item:!0,xs:12,children:(0,F.jsx)(K.Z,{})}),(0,F.jsx)(De,{title:(0,F.jsxs)("div",{className:n.ObjectDetailsTitle,children:[tn(Be,!0),(0,F.jsx)("span",{className:n.objectNameContainer,children:Be})]}),items:Me}),(0,F.jsx)(d.ZP,{item:!0,xs:12,sx:{textAlign:"center"},children:(0,F.jsx)(N.s,{resource:i,scopes:[E.Ft.S3_DELETE_OBJECT],matchAll:!0,errorProps:{disabled:!0},containsResource:!0,children:(0,F.jsxs)(Y.Z,{startIcon:(0,F.jsx)(k.pJ,{}),color:"secondary",variant:"outlined",onClick:function(){ve(!0)},disabled:""===f&&te.is_delete_marker,sx:{width:"calc(100% - 44px)",margin:"8px 0","& svg.min-icon":{width:14,height:14}},children:["Delete",""!==f?" version":""]})})}),(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:n.headerForSection,children:[(0,F.jsx)("span",{children:"Object Info"}),(0,F.jsx)(k.Gv,{})]}),(0,F.jsxs)($.Z,{className:n.detailContainer,children:[(0,F.jsx)("strong",{children:"Name:"}),(0,F.jsx)("br",{}),Be]}),""!==f&&(0,F.jsxs)($.Z,{className:n.detailContainer,children:[(0,F.jsx)("strong",{children:"Version ID:"}),(0,F.jsx)("br",{}),f]}),(0,F.jsxs)($.Z,{className:n.detailContainer,children:[(0,F.jsx)("strong",{children:"Size:"}),(0,F.jsx)("br",{}),(0,Z.ae)(te.size||"0")]}),te.version_id&&"null"!==te.version_id&&""===f&&(0,F.jsxs)($.Z,{className:n.detailContainer,children:[(0,F.jsx)("strong",{children:"Versions:"}),(0,F.jsx)("br",{}),fe.length," version",1!==fe.length?"s":"",","," ",(0,Z.l5)(Fe)]}),""===f&&(0,F.jsxs)($.Z,{className:n.detailContainer,children:[(0,F.jsx)("strong",{children:"Last Modified:"}),(0,F.jsx)("br",{}),function(e){var n=new Date,t=new Date(e),i=n.getTime()-t.getTime(),o=(0,Z.nF)(i,"ms");return""!==o.trim()?"".concat(o," ago"):"Just now"}(te.last_modified)]}),(0,F.jsxs)($.Z,{className:n.detailContainer,children:[(0,F.jsx)("strong",{children:"ETAG:"}),(0,F.jsx)("br",{}),te.etag||"N/A"]}),(0,F.jsxs)($.Z,{className:n.detailContainer,children:[(0,F.jsx)("strong",{children:"Tags:"}),(0,F.jsx)("br",{}),0===Le.length?"N/A":Le.map((function(e,n){return(0,F.jsxs)("span",{children:[e,":",m()(te,"tags.".concat(e),""),n div":{borderBottomColor:"#F8F8F8"}}},versionContainer:{fontSize:16,fontWeight:"bold",display:"flex",alignItems:"center","& svg.min-icon":{width:18,height:18,minWidth:18,minHeight:18,marginRight:10}},buttonContainer:{textAlign:"right","& button":{marginLeft:"1.5rem"}},versionID:{fontSize:"12px",margin:"2px 0"},versionData:{marginRight:"10px",fontSize:12,color:"#868686"},ctrItem:{position:"relative","&::before":{content:"' '",display:"block",position:"absolute",width:"2px",height:"calc(100% + 2px)",backgroundColor:"#F8F8F8",left:"24px"}}})}))((function(e){var n=e.classes,t=e.fileName,i=e.versionInfo,o=e.isSelected,a=e.onShare,s=e.onDownload,r=e.onRestore,u=e.onPreview,m=e.globalClick,h=e.index,f=i.is_delete_marker,p=[{icon:(0,F.jsx)(k.P9,{}),action:u,tooltip:"Preview"},{icon:(0,F.jsx)(k._8,{}),action:s,tooltip:"Download this version"},{icon:(0,F.jsx)(k.aA,{}),action:a,tooltip:"Share this version"},{icon:(0,F.jsx)(k.D7,{}),action:r,tooltip:"Restore this version"}],x=null;return i.is_delete_marker?x="deleted":i.is_latest?x="current":"null"===i.version_id&&(x="null"),(0,F.jsx)(d.ZP,{container:!0,flex:1,className:n.ctrItem,onClick:function(){m(i)},children:(0,F.jsx)(d.ZP,{item:!0,xs:12,className:"".concat(n.intermediateLayer," ").concat(o?"selected":""),children:(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:"".concat(n.mainFileVersionItem," ").concat(i.is_delete_marker?"deleted":""),children:[(0,F.jsx)(d.ZP,{item:!0,xs:12,justifyContent:"space-between",children:(0,F.jsxs)(d.ZP,{container:!0,children:[(0,F.jsxs)(d.ZP,{item:!0,xs:4,className:n.versionContainer,children:[tn(t,!0)," v",h.toString(),x&&(0,F.jsx)(Pn,{type:x})]}),(0,F.jsx)(d.ZP,{item:!0,xs:8,className:n.buttonContainer,children:p.map((function(e,t){return(0,F.jsx)(c.Z,{title:e.tooltip,children:(0,F.jsx)(l.Z,{size:"small",id:"version-action-".concat(e.tooltip,"-").concat(t.toString()),className:"".concat(n.spacing," ").concat(f?n.buttonDisabled:""),disabled:f,onClick:function(n){n.stopPropagation(),f?n.preventDefault():e.action(i)},sx:{backgroundColor:"#F8F8F8",borderRadius:"100%",width:"28px",height:"28px",padding:"5px","& .min-icon":{width:"14px",height:"14px"}},children:e.icon})},"version-action-".concat(e.tooltip,"-").concat(t.toString()))}))})]})}),(0,F.jsx)(d.ZP,{item:!0,xs:12,className:n.versionID,children:"null"!==i.version_id?i.version_id:"-"}),(0,F.jsxs)(d.ZP,{item:!0,xs:12,children:[(0,F.jsxs)("span",{className:n.versionData,children:[(0,F.jsx)("strong",{children:"Last modified:"})," ",(0,F.jsx)(Zn(),{children:i.last_modified})]}),(0,F.jsxs)("span",{className:n.versionData,children:[(0,F.jsx)("strong",{children:"Size:"})," ",(0,Z.ae)(i.size||"0")]})]})]})})})})),_n=t(67754),On={setErrorSnackMessage:L.Ih},Dn=(0,a.$j)(null,On)((function(e){var n=e.closeDeleteModalAndRefresh,t=e.deleteOpen,i=e.selectedBucket,a=e.selectedObject,s=e.setErrorSnackMessage,r=(0,o.useState)(!1),c=(0,x.Z)(r,2),l=c[0],u=c[1],m=(0,o.useState)(""),h=(0,x.Z)(m,2),f=h[0],p=h[1];if((0,o.useEffect)((function(){l&&j.Z.invoke("DELETE","/api/v1/buckets/".concat(i,"/objects?path=").concat(a,"&non_current_versions=true")).then((function(){n(!0)})).catch((function(e){s(e),u(!1)}))}),[l,n,s,a,i]),!a)return null;return(0,F.jsx)(je.Z,{title:"Delete Non-Current versions",confirmText:"Delete",isOpen:t,titleIcon:(0,F.jsx)(k.Nv,{}),isLoading:l,onConfirm:function(){u(!0)},onClose:function(){return n(!1)},confirmButtonProps:{disabled:"YES, PROCEED"!==f||l},confirmationContent:(0,F.jsxs)(ge.Z,{children:["Are you sure you want to delete all the non-current versions for:"," ",(0,F.jsx)("b",{children:(0,Z.le)(a)}),"? ",(0,F.jsx)("br",{}),(0,F.jsx)("br",{}),"To continue please type ",(0,F.jsx)("b",{children:"YES, PROCEED"})," in the box.",(0,F.jsx)(d.ZP,{item:!0,xs:12,children:(0,F.jsx)(on.Z,{id:"type-confirm",name:"retype-tenant",onChange:function(e){p(e.target.value)},label:"",value:f})})]})})})),Ln={is_latest:!0,last_modified:"",legal_hold_status:"",name:"",retention_mode:"",retention_until_date:"",size:"0",tags:{},version_id:null},Bn={setErrorSnackMessage:L.Ih,setSnackBarMessage:L.y1,setNewObject:f.Mc,updateProgress:f.RO,completeObject:f.oK,setSelectedVersion:f.M3,setLoadingVersions:f.Eq,setLoadingObjectInfo:f.vH},Mn=(0,a.$j)((function(e){var n=e.system,t=e.objectBrowser;return{distributedSetup:m()(n,"distributedSetup",!1),searchVersions:t.searchVersions,loadingVersions:t.loadingVersions,selectedVersion:t.selectedVersion}}),Bn)((0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({versionsContainer:{border:"#EAEDEE 1px solid",padding:10},noBottomBorder:{borderBottom:0},versionsVirtualPanel:{flexGrow:1,height:"calc(100% - 120px)",overflow:"auto"},screenTitleContainer:{position:"relative","&::before":{content:"' '",display:"block",position:"absolute",width:"2px",backgroundColor:"#F8F8F8",left:"24px",height:"52px",bottom:0}},sortByLabel:{color:"#838383",fontWeight:"bold",whiteSpace:"nowrap",marginRight:12,fontSize:14}},h.bp),h.Si),h.OR),h.VX),h.bK),h.VI),h.cx),h.C4),(0,h.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.distributedSetup,i=e.setErrorSnackMessage,a=e.setNewObject,s=e.updateProgress,r=e.searchVersions,c=e.loadingVersions,l=e.selectedVersion,u=e.completeObject,h=e.internalPaths,f=e.bucketName,p=e.setSelectedVersion,b=e.setLoadingVersions,g=e.setLoadingObjectInfo,v=(0,o.useState)(!1),y=(0,x.Z)(v,2),C=y[0],S=y[1],w=(0,o.useState)(null),N=(0,x.Z)(w,2),E=N[0],I=N[1],P=(0,o.useState)(null),T=(0,x.Z)(P,2),_=T[0],O=T[1],L=(0,o.useState)([]),M=(0,x.Z)(L,2),R=M[0],z=M[1],A=(0,o.useState)(!1),V=(0,x.Z)(A,2),W=V[0],G=V[1],H=(0,o.useState)(""),Y=(0,x.Z)(H,2),$=Y[0],J=Y[1],X=(0,o.useState)("date"),Q=(0,x.Z)(X,2),ee=Q[0],ne=Q[1],te=(0,o.useState)(!1),ie=(0,x.Z)(te,2),oe=ie[0],ae=ie[1],se=(0,o.useState)(!1),re=(0,x.Z)(se,2),ce=re[0],le=re[1],de=[];E&&(de=E.name.split("/")),(0,o.useEffect)((function(){c&&""!==h&&j.Z.invoke("GET","/api/v1/buckets/".concat(f,"/objects?prefix=").concat(h).concat(t?"&with_versions=true":"")).then((function(e){var n=m()(e,"objects",[]);t?(I(n.find((function(e){return e.is_latest}))||Ln),z(n)):(I(n[0]),z([])),b(!1)})).catch((function(e){i(e),b(!1)}))}),[b,c,f,h,i,t]);var ue=function(e){O(e),S(!0)},me=function(e){O(e),ae(!0)},he=function(e){J(e.version_id||""),G(!0)},fe=function(e){!function(e){var n=(0,Z.ug)("".concat(f,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random()));a({bucketName:f,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0}),(0,D.LR)(f,h,e.version_id,parseInt(e.size||"0"),(function(e){s(n,e)}),(function(){u(n)}))}(e)},pe=function(e){p(e.version_id||"")},xe=R.filter((function(e){return!!e.version_id&&e.version_id.includes(r)})),be=R.reduce((function(e,n){return n.size?e+parseInt(n.size):e}),0);xe.sort((function(e,n){if("size"===ee)return e.size&&n.size?e.sizen.size?1:0:0;var t=new Date(e.last_modified).getTime(),i=new Date(n.last_modified).getTime();return ti?-1:0}));return(0,F.jsxs)(o.Fragment,{children:[C&&E&&(0,F.jsx)(q.default,{open:C,closeModalAndRefresh:function(){O(null),S(!1),ae(!1)},bucketName:f,dataObject:_||E}),W&&E&&(0,F.jsx)(In,{restoreOpen:W,bucketName:f,versionID:$,objectPath:E.name,onCloseAndUpdate:function(e){G(!1),J(""),e&&(b(!0),g(!0))}}),oe&&E&&(0,F.jsx)(we.default,{open:oe,bucketName:f,object:{name:E.name,version_id:_&&_.version_id?_.version_id:"null",size:parseInt(_&&_.size?_.size:"0"),content_type:"",last_modified:new Date(E.last_modified)},onClosePreview:function(){ae(!1)}}),ce&&(0,F.jsx)(Dn,{deleteOpen:ce,closeDeleteModalAndRefresh:function(e){le(!1),e&&(b(!0),p(""),g(!0))},selectedBucket:f,selectedObject:h}),(0,F.jsxs)(d.ZP,{container:!0,className:n.versionsContainer,children:[!E&&(0,F.jsx)(d.ZP,{item:!0,xs:12,children:(0,F.jsx)(K.Z,{})}),E&&(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)(d.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,F.jsx)(B.Z,{icon:(0,F.jsx)("span",{className:n.listIcon,children:(0,F.jsx)(k.cR,{})}),title:(0,F.jsxs)("span",{className:n.titleSpacer,children:[de.length>0?de[de.length-1]:E.name," ","Versions"]}),subTitle:(0,F.jsx)(o.Fragment,{children:(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:n.bucketDetails,children:[(0,F.jsx)("span",{className:n.detailsSpacer,children:(0,F.jsxs)("strong",{children:[R.length," Version",1===R.length?"":"s","\xa0\xa0\xa0"]})}),(0,F.jsx)("span",{className:n.detailsSpacer,children:(0,F.jsx)("strong",{children:(0,Z.l5)(be)})})]})}),actions:(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)(U.Z,{id:"delete-non-current",tooltip:"Delete Non Current Versions",onClick:function(){le(!0)},text:"",icon:(0,F.jsx)(k.ut,{}),color:"secondary",style:{marginRight:15},disabled:R.length<=1}),(0,F.jsx)("span",{className:n.sortByLabel,children:"Sort by"}),(0,F.jsx)(_n.Z,{id:"sort-by",label:"",value:ee,onChange:function(e){ne(e.target.value)},name:"sort-by",options:[{label:"Date",value:"date"},{label:"Size",value:"size"}]})]}),className:n.noBottomBorder})}),(0,F.jsx)(d.ZP,{item:!0,xs:12,className:n.versionsVirtualPanel,children:E.version_id&&"null"!==E.version_id&&(0,F.jsx)(Fn.Z,{rowRenderFunction:function(e){var n=xe[e],t=R.length-R.indexOf(n);return(0,F.jsx)(Tn,{fileName:(null===E||void 0===E?void 0:E.name)||"",versionInfo:n,index:t,onDownload:fe,onRestore:he,onShare:ue,onPreview:me,globalClick:pe,isSelected:l===n.version_id})},totalItems:xe.length,defaultHeight:108})})]})]})]})}))),Rn=t(54950),zn=o.lazy((function(){return Promise.resolve().then(t.bind(t,83842))})),An=o.lazy((function(){return Promise.resolve().then(t.bind(t,18221))})),Vn=o.lazy((function(){return Promise.resolve().then(t.bind(t,35336))})),Wn=(0,I.Z)(o.lazy((function(){return t.e(9193).then(t.bind(t,49193))}))),Un=(0,I.Z)(o.lazy((function(){return Promise.resolve().then(t.bind(t,79440))}))),Gn=(0,I.Z)(o.lazy((function(){return Promise.all([t.e(6117),t.e(4837),t.e(7451)]).then(t.bind(t,97451))}))),Hn=(0,I.Z)(o.lazy((function(){return Promise.resolve().then(t.bind(t,57767))}))),Kn={borderWidth:2,borderRadius:2,borderColor:"#eeeeee",outline:"none"},Yn={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#2196f3"},$n={borderStyle:"dashed",backgroundColor:"#fafafa",borderColor:"#00e676"};var Jn=(0,F.jsx)(y.Z,{component:"h3",children:"Loading..."}),qn={setSnackBarMessage:L.y1,setErrorSnackMessage:L.Ih,resetRewind:f._w,setBucketDetailsLoad:M.d5,setBucketInfo:M.f4,setNewObject:f.Mc,updateProgress:f.RO,completeObject:f.oK,openList:f.LD,setSearchObjects:f.G4,setVersionsModeEnabled:f.db,setShowDeletedObjects:f.mz,setLoadingVersions:f.Eq},Xn=(0,a.$j)((function(e){var n=e.objectBrowser,t=e.buckets;return{routesList:m()(n,"routesList",[]),downloadingFiles:m()(n,"downloadingFiles",[]),rewindEnabled:m()(n,"rewind.rewindEnabled",!1),rewindDate:m()(n,"rewind.dateToRewind",null),bucketToRewind:m()(n,"rewind.bucketToRewind",""),versionsMode:m()(n,"versionsMode",!1),loadingBucket:t.bucketDetails.loadingBucket,bucketInfo:t.bucketDetails.bucketInfo,searchObjects:n.searchObjects,showDeleted:n.showDeleted}}),qn),Qn=(0,g.EN)(Xn((0,r.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)((0,i.Z)({browsePaper:{height:"calc(100vh - 210px)","&.actionsPanelOpen":{minHeight:"100%"}},"@global":{".rowLine:hover .iconFileElm":{backgroundImage:"url(/images/ob_file_filled.svg)"},".rowLine:hover .iconFolderElm":{backgroundImage:"url(/images/ob_folder_filled.svg)"}},badgeOverlap:{"& .MuiBadge-badge":{top:10,right:1,width:5,height:5,minWidth:5}},screenTitle:{borderBottom:0,paddingTop:0,paddingLeft:0,paddingRight:0}},h.VX),h.OR),h.qg),{},{searchField:(0,i.Z)((0,i.Z)({},h.qg.searchField),{},{maxWidth:380}),screenTitleContainer:{border:"#EAEDEE 1px solid",borderBottom:0,padding:"0.8rem 15px 0"},labelStyle:{color:"#969FA8",fontSize:"12px"}},h.C4),h.cx),(0,h.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.match,a=e.history,s=e.rewindEnabled,r=e.rewindDate,c=e.bucketToRewind,l=e.setSnackBarMessage,u=e.setErrorSnackMessage,h=e.resetRewind,f=e.setBucketDetailsLoad,g=e.loadingBucket,S=e.setBucketInfo,w=e.bucketInfo,I=e.setNewObject,P=e.updateProgress,T=e.completeObject,_=e.setSearchObjects,L=e.searchObjects,M=e.versionsMode,z=e.openList,A=e.setVersionsModeEnabled,V=e.showDeleted,W=e.setShowDeletedObjects,K=e.setLoadingVersions,Y=(0,o.useState)([]),$=(0,x.Z)(Y,2),J=$[0],q=$[1],X=(0,o.useState)(!0),Q=(0,x.Z)(X,2),ee=Q[0],ne=Q[1],te=(0,o.useState)([]),ie=(0,x.Z)(te,2),oe=ie[0],ae=ie[1],se=(0,o.useState)(!1),re=(0,x.Z)(se,2),ce=re[0],le=re[1],de=(0,o.useState)(!1),ue=(0,x.Z)(de,2),me=ue[0],he=ue[1],fe=(0,o.useState)(0),pe=(0,x.Z)(fe,2),xe=pe[0],be=pe[1],ge=(0,o.useState)(Jn),je=(0,x.Z)(ge,2),ve=je[0],Ze=je[1],ye=(0,o.useState)(!0),Ce=(0,x.Z)(ye,2),Se=Ce[0],ke=Ce[1],we=(0,o.useState)(!1),Ne=(0,x.Z)(we,2),Ee=Ne[0],Ie=Ne[1],Fe=(0,o.useState)(!1),Pe=(0,x.Z)(Fe,2),Te=Pe[0],_e=Pe[1],Oe=(0,o.useState)([]),Le=(0,x.Z)(Oe,2),Be=Le[0],Me=Le[1],Re=(0,o.useState)(!1),ze=(0,x.Z)(Re,2),Ae=ze[0],Ve=ze[1],We=(0,o.useState)(null),Ue=(0,x.Z)(We,2),Ge=Ue[0],He=Ue[1],Ke=(0,o.useState)(!1),Ye=(0,x.Z)(Ke,2),$e=Ye[0],Je=Ye[1],qe=(0,o.useState)("ASC"),Xe=(0,x.Z)(qe,2),Qe=Xe[0],en=Xe[1],nn=(0,o.useState)("name"),tn=(0,x.Z)(nn,2),on=tn[0],an=tn[1],sn=(0,o.useState)(!1),rn=(0,x.Z)(sn,2),cn=rn[0],ln=rn[1],dn=(0,o.useState)(!1),un=(0,x.Z)(dn,2),mn=un[0],hn=un[1],fn=(0,o.useState)(!1),pn=(0,x.Z)(fn,2),xn=pn[0],bn=pn[1],gn=(0,o.useState)(!1),vn=(0,x.Z)(gn,2),Zn=vn[0],yn=vn[1],Cn=(0,o.useState)(null),wn=(0,x.Z)(Cn,2),Nn=wn[0],En=wn[1],In=(0,o.useState)(null),Fn=(0,x.Z)(In,2),Pn=Fn[0],Tn=Fn[1],_n=m()(t.params,"subpaths",""),On=t.params.bucketName,Dn=(0,o.useRef)(null),Ln=(0,o.useRef)(null);(0,o.useEffect)((function(){null!==Ln.current&&(Ln.current.setAttribute("directory",""),Ln.current.setAttribute("webkitdirectory",""))}),[Ln]),(0,o.useEffect)((function(){if(1===Be.length){var e=Be[0];"none"!==(0,D.Bg)(e)?bn(!0):bn(!1),e.endsWith("/")?hn(!1):hn(!0)}else hn(!1),bn(!1)}),[Be]),(0,o.useEffect)((function(){Pn||j.Z.invoke("GET","/api/v1/buckets/".concat(On,"/quota")).then((function(e){var n=null;e.quota&&(n=e),Tn(n)})).catch((function(){Tn(null)}))}),[Pn,On]),(0,o.useEffect)((function(){Be.length>0?yn(!0):0===Be.length&&null===Nn&&yn(!1)}),[Be,Nn]);var Bn=(0,N.F)(On,[E.Ft.S3_DELETE_OBJECT]),qn=(0,N.F)(On,[E.Ft.S3_LIST_BUCKET]);(0,o.useEffect)((function(){cn||(f(!0),ln(!0))}),[cn,f,ln]),function(e,n){var t=(0,o.useRef)(null);(0,o.useEffect)((function(){t.current=e}),[e]),(0,o.useEffect)((function(){if(null!==n){var e=setInterval((function(){void 0!==t&&t.current&&t.current()}),n);return function(){return clearInterval(e)}}}),[n])}((function(){ee&&function(){var e=Date.now()-xe;e/1e3>=6?Ze((0,F.jsx)(o.Fragment,{children:(0,F.jsxs)(y.Z,{component:"h3",children:["This operation is taking longer than expected... (",Math.ceil(e/1e3),"s)"]})})):e/1e3>=3&&Ze((0,F.jsx)(y.Z,{component:"h3",children:"This operation is taking longer than expected..."}))}()}),1e3),(0,o.useEffect)((function(){Se&&(qn?j.Z.invoke("GET","/api/v1/buckets/".concat(On,"/versioning")).then((function(e){Ie(e.is_versioned),ke(!1)})).catch((function(e){u(e),ke(!1)})):ke(!1))}),[On,Se,u,qn]),(0,o.useEffect)((function(){if(s){if(c!==On)return void h();if(r){le(!0);var e=r.toISOString(),n="";if(_n){var t=(0,Z.le)(_n);n=t.endsWith("/")?t:t+"/"}j.Z.invoke("GET","/api/v1/buckets/".concat(On,"/rewind/").concat(e).concat(n?"?prefix=".concat((0,Z.ug)(n)):"")).then((function(e){le(!1),e.objects?ae(e.objects):ae([])})).catch((function(e){le(!1),u(e)}))}}}),[s,r,c,On,t,u,h,_n]),(0,o.useEffect)((function(){ne(!0),yn(!1),_("")}),[_n,_]),(0,o.useEffect)((function(){if(ee)if(qn){var e="";if(_n){var n=(0,Z.le)(_n);e=n.endsWith("/")?n:n+"/"}var t=Date.now();be(t),Ze(Jn);var i="/api/v1/buckets/".concat(On,"/objects");if(V){var o=(new Date).toISOString();i="/api/v1/buckets/".concat(On,"/rewind/").concat(o)}j.Z.invoke("GET","".concat(i).concat(e?"?prefix=".concat((0,Z.ug)(e)):"")).then((function(n){var t=n.objects||[],i=[],o=[];t.forEach((function(e){e.name.endsWith("/")?i.push(e):o.push(e)}));var a=[].concat(i,o);if(q(a),n.objects||""===e)ne(!1);else if(s){var c=r.toISOString(),l="";if(_n){var d=(0,Z.le)(_n);l=d.endsWith("/")?d:d+"/"}j.Z.invoke("GET","/api/v1/buckets/".concat(On,"/rewind/").concat(c).concat(l?"?prefix=".concat((0,Z.ug)(l)):"")).then((function(e){e.objects,le(!1),ne(!1)})).catch((function(e){le(!1),ne(!1),u(e)}))}else j.Z.invoke("GET","/api/v1/buckets/".concat(On,"/objects").concat(_n?"?prefix=".concat(_n):"")).then((function(n){if(n.objects){for(var t=e.slice(0,e.length-1),i=0;i0){z();var o=e.pop();o&&function o(a){return new Promise((function(s,r){var c="api/v1/buckets/".concat(n,"/objects/upload"),d=a.name,u=new Blob([a],{type:a.type}),h="",f=""!==m()(a,"webkitRelativePath","")?m()(a,"webkitRelativePath",""):i;if(""!==t||""!==f){var p=f.split("/").slice(0,-1).join("/");h=(0,Z.ug)("".concat(t).concat(p).concat(p.endsWith("/")?"":"/"))}""!==h&&(c="".concat(c,"?prefix=").concat(h));var x=(0,Z.ug)("".concat(n,"-").concat(h,"-").concat((new Date).getTime(),"-").concat(Math.random()));I({bucketName:n,done:!1,instanceID:x,percentage:0,prefix:"".concat((0,Z.le)(h)).concat(d),type:"upload",waitingForFile:!1});var b=new XMLHttpRequest;b.open("POST",c,!0);var g=e.length>1,j="An error occurred while uploading the file".concat(g?"s":"","."),v="Object".concat(g?"s":""," uploaded successfully.");b.withCredentials=!1,b.onload=function(n){if(401===b.status||403===b.status||400===b.status||500===b.status)if(b.response){var t=JSON.parse(b.response);l(t.detailedMessage)}else l(j);if(413===b.status&&l("Error - File size too large"),200===b.status&&(T(x),0===e.length&&l(v)),s(b.status),e.length>0){var i=e.pop();if(i)return o(i)}},b.upload.addEventListener("error",(function(e){l(j)})),b.upload.addEventListener("progress",(function(e){var n=Math.floor(100*e.loaded/e.total);P(x,n)})),b.onerror=function(){l(j),r(j)},b.onloadend=function(){0===e.length&&ne(!0)};var y=new FormData;void 0!==a.size&&(y.append(a.size.toString(),u,d),b.send(y))}))}(o).then((function(){console.info("done uploading file")})).catch((function(e){console.error("error uploading file,",e)}))}}(e,On,t,n)}),[On,T,_n,z,I,l,P]),et=(0,o.useCallback)((function(e){if(e&&e.length>0){var n=e[0].path;Qn(e,n)}}),[Qn]),nt=(0,b.uI)({noClick:!0,onDrop:et}),tt=nt.getRootProps,it=nt.getInputProps,ot=nt.isDragActive,at=nt.isDragAccept,st=(0,o.useMemo)((function(){return(0,i.Z)((0,i.Z)((0,i.Z)({},Kn),ot?Yn:{}),at?$n:{})}),[ot,at]),rt=J.filter((function(e){return""===L||e.name.toLowerCase().indexOf(L.toLowerCase())>=0})),ct=(0,Z.le)(_n),lt=ct.split("/").filter((function(e){return""!==e})),dt=(s?oe:rt).sort((0,D.P_)(on)),ut=[];ut="ASC"===Qe?dt:dt.reverse();var mt=[On];lt.length>0&&(mt=mt.concat(lt));var ht=function(e){yn(!1),En(null),Me([]),A(!1),e&&ne(!0)},ft=[{type:"view",label:"View",onClick:function(e){if(Me([]),e.endsWith("/")){var n="/buckets/".concat(On,"/browse").concat(e?"/".concat((0,Z.ug)(e)):"");a.push(n)}else yn(!0),K(!0),En("".concat(e?"".concat((0,Z.ug)(e)):""))},sendOnlyId:!0}],pt=[{action:function(){if(0!==Be.length){var e=function(e){return Be.includes(e.name)};(s?oe.filter(e):rt.filter(e)).forEach((function(e){!function(e){var n=(0,Z.ug)("".concat(On,"-").concat(e.name,"-").concat((new Date).getTime(),"-").concat(Math.random()));I({bucketName:On,done:!1,instanceID:n,percentage:0,prefix:e.name,type:"download",waitingForFile:!0}),(0,D.LR)(On,(0,Z.ug)(e.name),e.version_id,e.size,(function(e){P(n,e)}),(function(){T(n)}))}(e)}))}},label:"Download",disabled:0===Be.length,icon:(0,F.jsx)(k._8,{}),tooltip:"Download Selected"},{action:function(){if(1===Be.length){var e;(e=rt.find((function(e){return Be.includes(e.name)})))&&(He(e),Je(!0))}},label:"Share",disabled:1!==Be.length||!mn,icon:(0,F.jsx)(k.aA,{}),tooltip:"Share Selected File"},{action:function(){if(1===Be.length){var e;(e=rt.find((function(e){return Be.includes(e.name)})))&&(He(e),Ve(!0))}},label:"Preview",disabled:1!==Be.length||!xn,icon:(0,F.jsx)(k.P9,{}),tooltip:"Preview Selected File"},{action:function(){he(!0)},label:"Delete",icon:(0,F.jsx)(Vn,{}),disabled:!(0,N.F)(On,[E.Ft.S3_DELETE_OBJECT])||0===Be.length||!Bn,tooltip:"Delete Selected Files"}];return(0,F.jsxs)(o.Fragment,{children:[$e&&Ge&&(0,F.jsx)(Un,{open:$e,closeModalAndRefresh:function(){Je(!1),He(null)},bucketName:On,dataObject:{name:Ge.name,last_modified:"",version_id:Ge.version_id}}),me&&(0,F.jsx)(Wn,{deleteOpen:me,selectedBucket:On,selectedObjects:Be,closeDeleteModalAndRefresh:function(e){he(!1),e&&(l("Objects deleted successfully."),Me([]),ne(!0))},versioning:Ee}),Te&&(0,F.jsx)(Gn,{open:Te,closeModalAndRefresh:function(e){_e(!1)},bucketName:On}),Ae&&(0,F.jsx)(Hn,{open:Ae,bucketName:On,object:Ge,onClosePreview:function(){Ve(!1),He(null)}}),(0,F.jsxs)(R.Z,{children:[(0,F.jsx)(d.ZP,{item:!0,xs:12,className:n.screenTitleContainer,children:(0,F.jsx)(B.Z,{className:n.screenTitle,icon:(0,F.jsx)("span",{className:n.listIcon,children:(0,F.jsx)(k.wN,{})}),title:(0,F.jsx)("span",{className:n.titleSpacer,children:On}),subTitle:(0,F.jsx)(o.Fragment,{children:(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:n.bucketDetails,children:[(0,F.jsxs)("span",{className:n.detailsSpacer,children:["Created:\xa0\xa0\xa0",(0,F.jsx)("strong",{children:(null===w||void 0===w?void 0:w.creation_date)||""})]}),(0,F.jsxs)("span",{className:n.detailsSpacer,children:["Access:\xa0\xa0\xa0",(0,F.jsx)("strong",{children:(null===w||void 0===w?void 0:w.access)||""})]}),w&&(0,F.jsx)(o.Fragment,{children:(0,F.jsxs)("span",{className:n.detailsSpacer,children:[w.size&&(0,F.jsx)(o.Fragment,{children:(0,Z.l5)(w.size)}),w.size&&Pn&&(0,F.jsxs)(o.Fragment,{children:[" / ",(0,Z.l5)(Pn.quota)]}),w.size&&w.objects?" - ":"",w.objects&&(0,F.jsxs)(o.Fragment,{children:[w.objects,"\xa0Object",w.objects&&1!==w.objects?"s":""]})]})})]})}),actions:(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)(U.Z,{id:"rewind-objects-list",tooltip:"Rewind Bucket",text:"Rewind",icon:(0,F.jsx)(C.Z,{badgeContent:" ",color:"secondary",variant:"dot",invisible:!s,className:n.badgeOverlap,sx:{height:12},children:(0,F.jsx)(zn,{})}),color:"primary",variant:"outlined",onClick:function(){_e(!0)},disabled:!Ee||!(0,N.F)(On,[E.Ft.S3_PUT_OBJECT])}),(0,F.jsx)(U.Z,{id:"refresh-objects-list",tooltip:"Reload List",text:"Reload",icon:(0,F.jsx)(An,{}),color:"primary",variant:"outlined",onClick:function(){M?K(!0):ne(!0)},disabled:!(0,N.F)(On,[E.Ft.S3_LIST_BUCKET])||s}),(0,F.jsx)("input",{type:"file",multiple:!0,onChange:Xn,style:{display:"none"},ref:Dn}),(0,F.jsx)("input",{type:"file",multiple:!0,onChange:Xn,style:{display:"none"},ref:Ln}),(0,F.jsx)(G,{bucketName:On,uploadPath:mt.join("/"),uploadFileFunction:function(e){Dn&&Dn.current&&Dn.current.click(),e()},uploadFolderFunction:function(e){Ln&&Ln.current&&Ln.current.click(),e()}})]})})}),(0,F.jsx)(d.ZP,{item:!0,xs:12,children:(0,F.jsx)(O,{bucketName:On,internalPaths:ct,existingFiles:J||[],additionalOptions:!Ee||s?null:(0,F.jsx)("div",{children:(0,F.jsx)(Rn.Z,{name:"deleted_objects",id:"showDeletedObjects",value:"deleted_on",label:"Show deleted objects on this bucket",onChange:function(){W(!V),ht(!0)},checked:V,overrideLabelClasses:n.labelStyle,noTopMargin:!0})})})}),(0,F.jsxs)("div",(0,i.Z)((0,i.Z)({id:"object-list-wrapper"},tt({style:(0,i.Z)({},st)})),{},{children:[(0,F.jsx)("input",(0,i.Z)({},it())),(0,F.jsxs)(d.ZP,{item:!0,xs:12,className:n.tableBlock,children:[M?(0,F.jsx)(o.Fragment,{children:null!==Nn&&(0,F.jsx)(Mn,{internalPaths:Nn,bucketName:On})}):(0,F.jsx)(N.s,{scopes:[E.Ft.S3_LIST_BUCKET],resource:On,errorProps:{disabled:!0},children:(0,F.jsx)(v.Z,{itemActions:ft,columns:s?kn:Sn,isLoading:s?ce:ee,loadingMessage:ve,entityName:"Objects",idField:"name",records:ut,customPaperHeight:"".concat(n.browsePaper," ").concat(Zn?"actionsPanelOpen":""),selectedItems:Be,onSelect:function(e){var n=e.target,t=n.value,i=n.checked,o=(0,p.Z)(Be);return i?o.push(t):o=o.filter((function(e){return e!==t})),Me(o),En(null),o},customEmptyMessage:"This location is empty".concat(s?"":", please try uploading a new file"),sortConfig:{currentSort:on,currentDirection:Qe,triggerSort:function(e){var n=m()(e,"sortDirection","DESC");an(e.sortBy),en(n),ne(!0)}},onSelectAll:function(){if(En(null),Be.length!==ut.length){var e=ut.map((function(e){return e.name}));Me(e)}else Me([])},rowStyle:function(e){var n,t=e.index;return null!==(n=ut[t])&&void 0!==n&&n.delete_flag?"deleted":""}})}),(0,F.jsx)(N.s,{scopes:[E.Ft.S3_LIST_BUCKET],resource:On,errorProps:{disabled:!0},children:(0,F.jsxs)(H,{open:Zn,closePanel:function(){ht(!1)},children:[Be.length>0&&(0,F.jsx)(De,{items:pt,title:"Selected Objects:"}),null!==Nn&&(0,F.jsx)(jn,{internalPaths:Nn,bucketName:On,onClosePanel:ht,versioning:Ee})]})})]})]}))]})]})})))),et=t(35721),nt=t(30723),tt=t(23165),it=t(29316),ot={setVersionsModeEnabled:f.db,setErrorSnackMessage:L.Ih,setSearchObjects:f.G4,setSearchVersions:f.Pr},at=(0,a.$j)((function(e){var n=e.objectBrowser,t=e.buckets;return{versionsMode:m()(n,"versionsMode",!1),bucketToRewind:m()(n,"rewind.bucketToRewind",""),bucketInfo:t.bucketDetails.bucketInfo,searchObjects:n.searchObjects,versionedFile:n.versionedFile,searchVersions:n.searchVersions}}),ot),st=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({breadcrumLink:{textDecoration:"none",color:"black"},backToBuckets:{color:"#000",fontSize:14,padding:0,marginTop:-8}},(0,h.Bz)(e.spacing(4))))}))(at((function(e){var n=e.versionsMode,t=e.match,i=e.history,a=(e.classes,e.setVersionsModeEnabled),s=e.searchObjects,r=e.setSearchObjects,u=e.setSearchVersions,h=e.versionedFile,f=e.searchVersions,p=t.params.bucketName,x=m()(t.params,"subpaths","");(0,o.useEffect)((function(){a(!1)}),[x,a]);return(0,F.jsxs)(o.Fragment,{children:[(0,F.jsx)(et.Z,{label:(0,F.jsx)(it.Z,{label:"Buckets",to:E.gA.BUCKETS}),actions:(0,F.jsx)(N.s,{scopes:E.D[E.EI.BUCKET_ADMIN],resource:p,errorProps:{disabled:!0},children:(0,F.jsx)(c.Z,{title:"Configure Bucket",children:(0,F.jsx)(l.Z,{color:"primary","aria-label":"Configure Bucket",component:"span",onClick:function(){i.push("/buckets/".concat(p,"/admin"))},size:"large",children:(0,F.jsx)(nt.Z,{})})})}),middleComponent:(0,F.jsx)(o.Fragment,{children:n?(0,F.jsx)(o.Fragment,{children:(0,F.jsx)(tt.Z,{placeholder:"Start typing to filter versions of ".concat(h),onChange:function(e){u(e)},value:f})}):(0,F.jsx)(N.s,{scopes:[E.Ft.S3_LIST_BUCKET],resource:p,errorProps:{disabled:!0},children:(0,F.jsx)(tt.Z,{placeholder:"Start typing to filter objects in the bucket",onChange:function(e){r(e)},value:s})})})}),(0,F.jsx)(d.ZP,{children:(0,F.jsx)(Qn,{})})]})})))},53224:function(e,n,t){var i=t(18489),o=t(83738),a=(t(50390),t(70758)),s=t(62449),r=t(62559),c=["onClick","text","disabled","tooltip","icon"],l=(0,s.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,o=e.palette.primary.main;return"primary"===i&&"contained"===t?o=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?o=e.palette.primary.main:"secondary"===i&&(o=e.palette.secondary.main),o}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=l(e),t=e.onClick,s=e.text,d=void 0===s?"":s,u=e.disabled,m=void 0!==u&&u,h=e.tooltip,f=e.icon,p=void 0===f?null:f,x=(0,o.Z)(e,c);return(0,r.jsxs)(a.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:h||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,r.jsx)("span",{children:d})," ",p]}))}},79440:function(e,n,t){t.r(n),t.d(n,{default:function(){return F}});var i=t(23430),o=t(18489),a=t(50390),s=t(38342),r=t.n(s),c=t(34424),l=t(86509),d=t(4285),u=t(33034),m=t.n(u),h=t(25594),f=t(66946),p=t(81378),x=t(72462),b=t(44149),g=t(30324),j=t(51002),v=t(50280),Z=t(36554),y=t(60606),C=t.n(y),S=t(66964),k=t(62559),w=(0,d.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},x.YI),x.Hr),{},{labelContainer:{display:"flex",alignItems:"center",marginBottom:15},fieldContainer:(0,o.Z)((0,o.Z)({},x.YI.fieldContainer),{},{display:"flex",alignItems:"center",justifyContent:"space-between",paddingBottom:10,marginTop:11,marginBottom:6}),dateContainer:{height:20,textAlign:"right",color:"#848484"},dateInputContainer:{margin:"0 10px"},durationInputs:{display:"flex",alignItems:"center",justifyContent:"center"},validityIndicator:{display:"flex",alignItems:"center",justifyContent:"center"},invalidDurationText:{marginTop:15,display:"flex",color:"red",fontSize:11},validityText:{fontSize:14,fontWeight:600,marginTop:15,display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,o=e.initialDate,s=e.label,r=e.maxDays,c=e.entity,l=e.onChange,d=(0,a.useState)(7),u=(0,i.Z)(d,2),m=u[0],f=u[1],p=(0,a.useState)(0),x=(0,i.Z)(p,2),b=x[0],g=x[1],j=(0,a.useState)(0),v=(0,i.Z)(j,2),y=v[0],w=v[1],N=(0,a.useState)(!0),E=(0,i.Z)(N,2),I=E[0],F=E[1],P=(0,a.useState)(C()()),T=(0,i.Z)(P,2),_=T[0],O=T[1];(0,a.useEffect)((function(){O(function(e,n,t,i){return C()(e).add(n,"days").add(t,"hours").add(i,"minutes")}(o,m,b,y))}),[o,m,b,y]),(0,a.useEffect)((function(){I?l(_.format("YYYY-MM-DDTHH:mm:ss"),!0):l("0000-00-00",!1)}),[_,l,I]),(0,a.useEffect)((function(){var e=!0;(m<0||r&&m>r||isNaN(m))&&(e=!1),(b<0||b>23||isNaN(b))&&(e=!1),(y<0||y>59||isNaN(y))&&(e=!1),!r||m!==r||0===b&&0===y||(e=!1),F(e)}),[_,r,l,m,b,y]);var D={style:{textAlign:"center",paddingRight:10,paddingLeft:10,width:25},className:"removeArrows"};return(0,k.jsx)(a.Fragment,{children:(0,k.jsxs)(h.ZP,{container:!0,className:n.fieldContainer,children:[(0,k.jsxs)(h.ZP,{item:!0,xs:12,alignItems:"center",justifyContent:"center",children:[(0,k.jsx)(h.ZP,{item:!0,xs:12,className:n.labelContainer,children:(0,k.jsx)(Z.Z,{htmlFor:t,className:n.inputLabel,children:(0,k.jsx)("span",{children:s})})}),(0,k.jsxs)(h.ZP,{item:!0,xs:12,className:n.durationInputs,children:[(0,k.jsx)(h.ZP,{item:!0,className:n.dateInputContainer,children:(0,k.jsx)(S.Z,{id:t,type:"number",min:"0",max:r?r.toString():"999",label:"Days",name:t,onChange:function(e){f(parseInt(e.target.value))},value:m.toString(),extraInputProps:D,noLabelMinWidth:!0})}),(0,k.jsx)(h.ZP,{item:!0,className:n.dateInputContainer,children:(0,k.jsx)(S.Z,{id:t,type:"number",min:"0",max:"23",label:"Hours",name:t,onChange:function(e){g(parseInt(e.target.value))},value:b.toString(),extraInputProps:D,noLabelMinWidth:!0})}),(0,k.jsx)(h.ZP,{item:!0,className:n.dateInputContainer,children:(0,k.jsx)(S.Z,{id:t,type:"number",min:"0",max:"59",label:"Minutes",name:t,onChange:function(e){w(parseInt(e.target.value))},value:y.toString(),extraInputProps:D,noLabelMinWidth:!0})})]})]}),(0,k.jsx)(h.ZP,{item:!0,xs:12,className:"".concat(n.validityIndicator," ").concat(n.formFieldRow),children:I?(0,k.jsxs)("div",{className:n.validityText,children:[(0,k.jsxs)("div",{className:n.validityLabel,children:[c," will be available until:"]})," ",(0,k.jsx)("div",{className:n.validTill,children:_.format("MM/DD/YYYY HH:mm:ss")})]}):(0,k.jsx)("div",{className:n.invalidDurationText,children:"Please select a valid duration."})})]})})})),N=t(28948),E=a.lazy((function(){return Promise.resolve().then(t.bind(t,24957))})),I=(0,c.$j)((function(e){var n=e.system;return{distributedSetup:r()(n,"distributedSetup",!1)}}),{setModalSnackMessage:b.MK,setModalErrorSnackMessage:b.zb}),F=(0,d.Z)((function(e){return(0,l.Z)((0,o.Z)((0,o.Z)({shareLinkInfo:{fontSize:13,fontWeight:400},copyShareLink:{display:"flex","@media (max-width: 900px)":{flexFlow:"column",alignItems:"center",justifyContent:"center"}},copyShareLinkInput:{"& div:first-child":{marginTop:0},"@media (max-width: 900px)":{minWidth:250}},copyShareLinkBtn:{display:"flex",alignItems:"center",justifyContent:"center","@media (max-width: 900px)":{marginTop:10}}},x.ID),x.DF))}))(I((function(e){var n=e.classes,t=e.open,o=e.closeModalAndRefresh,s=e.bucketName,c=e.dataObject,l=e.distributedSetup,d=e.setModalSnackMessage,u=e.setModalErrorSnackMessage,x=(0,a.useState)(""),b=(0,i.Z)(x,2),Z=b[0],y=b[1],C=(0,a.useState)(!0),S=(0,i.Z)(C,2),I=S[0],F=S[1],P=(0,a.useState)(!1),T=(0,i.Z)(P,2),_=T[0],O=T[1],D=(0,a.useState)(""),L=(0,i.Z)(D,2),B=L[0],M=L[1],R=(0,a.useState)(!0),z=(0,i.Z)(R,2),A=z[0],V=z[1],W=(0,a.useState)("null"),U=(0,i.Z)(W,2),G=U[0],H=U[1],K=new Date;return(0,a.useEffect)((function(){if(void 0===c.version_id)return l?(g.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects?prefix=").concat((0,N.ug)(c.name)).concat(l?"&with_versions=true":"")).then((function(e){var n=r()(e,"objects",[]).find((function(e){return e.is_latest}));H(n?n.version_id:"null")})).catch((function(e){u(e)})),void F(!1)):(H("null"),void F(!1));H(c.version_id||"null"),F(!1)}),[s,c,l,u]),(0,a.useEffect)((function(){if(A&&!I){O(!0),y("");var e=new Date("".concat(B)),n=new Date,t=Math.ceil((e.getTime()-n.getTime())/1e3);t>0&&g.Z.invoke("GET","/api/v1/buckets/".concat(s,"/objects/share?prefix=").concat((0,N.ug)(c.name),"&version_id=").concat(G).concat(""!==B?"&expires=".concat(t,"s"):"")).then((function(e){y(e),O(!1)})).catch((function(e){u(e),y(""),O(!1)}))}}),[c,B,s,A,y,u,l,I,G]),(0,k.jsx)(a.Fragment,{children:(0,k.jsxs)(j.Z,{title:"Share File",modalOpen:t,onClose:function(){o()},children:[I&&(0,k.jsx)(h.ZP,{item:!0,xs:12,children:(0,k.jsx)(p.Z,{})}),!I&&(0,k.jsxs)(a.Fragment,{children:[(0,k.jsxs)(h.ZP,{item:!0,xs:12,className:n.shareLinkInfo,children:["This is a temporary URL with integrated access credentials for sharing objects valid for up to 7 days.",(0,k.jsx)("br",{}),"The temporary URL expires after the configured time limit."]}),(0,k.jsx)(h.ZP,{item:!0,xs:12,className:n.dateContainer,children:(0,k.jsx)(w,{initialDate:K,id:"date",label:"Active for",maxDays:7,onChange:function(e,n){V(n),n?M(e):(M(""),y(""))},entity:"Link"})}),(0,k.jsxs)(h.ZP,{item:!0,xs:12,className:"".concat(n.copyShareLink," ").concat(n.formFieldRow," "),children:[(0,k.jsx)(h.ZP,{item:!0,xs:10,className:n.copyShareLinkInput,children:(0,k.jsx)(v.Z,{content:Z})}),(0,k.jsx)(h.ZP,{item:!0,xs:2,className:n.copyShareLinkBtn,children:(0,k.jsx)(m(),{text:Z,children:(0,k.jsx)(f.Z,{variant:"contained",color:"primary",endIcon:(0,k.jsx)(E,{}),onClick:function(){d("Share URL Copied to clipboard")},disabled:""===Z||_,children:"Copy"})})})]})]})]})})})))},57767:function(e,n,t){t.r(n),t.d(n,{default:function(){return b}});var i=t(50390),o=t(51002),a=t(36222),s=t(23430),r=t(86509),c=t(4285),l=t(25594),d=t(81378),u=t(3662),m=t(28948),h=t(44977),f=t(62559),p=(0,c.Z)((function(){return(0,r.Z)({iframeContainer:{border:"0px",flex:"1 1 auto",width:"100%",height:250,backgroundColor:"transparent",borderRadius:5,"&.image":{height:500},"&.text":{height:700},"&.audio":{height:150},"&.video":{height:350},"&.fullHeight":{height:"calc(100vh - 185px)"}},iframeBase:{backgroundColor:"#fff"},iframeHidden:{display:"none"}})}))((function(e){var n=e.bucketName,t=e.object,o=e.isFullscreen,r=void 0!==o&&o,c=e.classes,p=(0,i.useState)(!0),x=(0,s.Z)(p,2),b=x[0],g=x[1],j="";if(t){var v=(0,m.ug)(t.name),Z=document.baseURI.replace(window.location.origin,"");j="".concat(window.location.origin).concat(Z,"api/v1/buckets/").concat(n,"/objects/download?preview=true&prefix=").concat(v),t.version_id&&(j=j.concat("&version_id=".concat(t.version_id)))}var y=(0,u.Bg)((null===t||void 0===t?void 0:t.name)||""),C=function(){g(!1)};return(0,f.jsxs)(i.Fragment,{children:[b&&(0,f.jsx)(l.ZP,{item:!0,xs:12,children:(0,f.jsx)(d.Z,{})}),"video"===y&&(0,f.jsx)("video",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:C,children:(0,f.jsx)("source",{src:j,type:"video/mp4"})}),"audio"===y&&(0,f.jsx)("audio",{style:{width:"100%",height:"auto"},autoPlay:!0,controls:!0,muted:!1,playsInline:!0,onPlay:C,children:(0,f.jsx)("source",{src:j,type:"audio/mpeg"})}),"image"===y&&(0,f.jsx)("img",{style:{width:"100%",height:"auto"},src:j,alt:"preview",onLoad:C}),"video"!==y&&"audio"!==y&&"image"!==y&&(0,f.jsx)("div",{className:(0,h.Z)(c.iframeBase,(0,a.Z)({},c.iframeHidden,b)),children:(0,f.jsx)("iframe",{src:j,title:"File Preview",allowTransparency:!0,className:"".concat(c.iframeContainer," ").concat(r?"fullHeight":y),onLoad:C,children:"File couldn't be loaded. Please try Download instead"})})]})})),x=t(14549),b=function(e){var n=e.open,t=e.bucketName,a=e.object,s=e.onClosePreview;return(0,f.jsx)(i.Fragment,{children:(0,f.jsx)(o.Z,{modalOpen:n,title:"Preview - ".concat(null===a||void 0===a?void 0:a.name),onClose:s,wideLimit:!1,titleIcon:(0,f.jsx)(x.$3,{}),children:(0,f.jsx)(p,{bucketName:t,object:a})})})}},3662:function(e,n,t){t.d(n,{LR:function(){return i},Bg:function(){return o},P_:function(){return a}});var i=function(e,n,t,i,o,a){var s=document.createElement("a");document.body.appendChild(s);var r="/api/v1/buckets/".concat(e,"/objects/download?prefix=").concat(n);t&&(r=r.concat("&version_id=".concat(t)));var c=new XMLHttpRequest;c.open("GET",r,!0),c.addEventListener("progress",(function(e){var n=Math.round(e.loaded/i*100);o&&o(n)}),!1),c.responseType="blob",c.onreadystatechange=function(){if(4===c.readyState&&200===c.status){var e=c.getResponseHeader("Content-Disposition"),n="download";if(e)n=decodeURIComponent(e).split('"')[1];a&&a();var t=document.createElement("a");t.href=window.URL.createObjectURL(c.response),t.download=n,document.body.appendChild(t),t.click(),document.body.removeChild(t)}},c.send()},o=function(e){var n=e.split(".").pop();return n?(n=n.toLowerCase(),["jif","jfif","apng","avif","svg","webp","bmp","ico","jpg","jpe","jpeg","gif","png","heic"].includes(n)?"image":["pdf","txt","json"].includes(n)?"text":["wav","mp3","alac","aiff","dsd","pcm"].includes(n)?"audio":["mp4","avi","mpg","webm","mov","flv","mkv","wmv","avchd","mpeg-4"].includes(n)?"video":"none"):"none"},a=function(e){switch(e){case"name":return function(e,n){return e.name.localeCompare(n.name)};case"last_modified":return function(e,n){return new Date(e.last_modified).getTime()-new Date(n.last_modified).getTime()};case"size":return function(e,n){return(e.size||-1)-(n.size||-1)}}}},70758:function(e,n,t){var i=t(18489),o=t(36222),a=t(83738),s=(t(50390),t(86509)),r=t(4285),c=t(95467),l=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,r.Z)((function(e){return(0,s.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,s=e.variant,r=void 0===s?"outlined":s,h=e.tooltip,f=(0,a.Z)(e,m),p=(0,u.jsx)(c.Z,(0,i.Z)((0,i.Z)({},f),{},{className:(0,d.Z)(n.root,(0,o.Z)({},n.contained,"contained"===r)),children:t}));return h&&""!==h?(0,u.jsx)(l.Z,{title:h,children:(0,u.jsx)("span",{children:p})}):p}))},37882:function(e,n,t){var i=t(18489),o=t(50390),a=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,a.jsx)(o.Suspense,{fallback:n,children:(0,a.jsx)(e,(0,i.Z)({},t))})}return t}},92440:function(e,n,t){var i=t(36222),o=t(18489),a=t(50390),s=t(86509),r=t(4285),c=t(49056),l=t(36554),d=t(94187),u=t(35477),m=t(25594),h=t(72462),f=t(97538),p=t(44977),x=t(62559),b=(0,r.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(c.Z);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,o.Z)((0,o.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},h.OR),h.YI))}))((function(e){var n=e.label,t=void 0===n?"":n,s=e.onChange,r=e.value,c=e.id,h=e.name,g=e.checked,j=void 0!==g&&g,v=e.disabled,Z=void 0!==v&&v,y=e.switchOnly,C=void 0!==y&&y,S=e.tooltip,k=void 0===S?"":S,w=e.description,N=void 0===w?"":w,E=e.classes,I=e.indicatorLabels,F=e.extraInputProps,P=void 0===F?{}:F,T=(0,x.jsxs)(a.Fragment,{children:[!C&&(0,x.jsx)("span",{className:(0,p.Z)(E.indicatorLabel,(0,i.Z)({},E.indicatorLabelOn,!j)),children:I&&I.length>1?I[1]:"OFF"}),(0,x.jsx)(b,{checked:j,onChange:s,color:"primary",name:h,inputProps:(0,o.Z)({"aria-label":"primary checkbox"},P),disabled:Z,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:r,id:c}),!C&&(0,x.jsx)("span",{className:(0,p.Z)(E.indicatorLabel,(0,i.Z)({},E.indicatorLabelOn,j)),children:I?I[0]:"ON"})]});return C?T:(0,x.jsx)("div",{className:E.divContainer,children:(0,x.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,x.jsx)(m.ZP,{item:!0,xs:!0,children:(0,x.jsxs)(m.ZP,{container:!0,children:[(0,x.jsx)(m.ZP,{item:!0,xs:12,sm:""!==N?4:10,md:""!==N?3:9,children:""!==t&&(0,x.jsxs)(l.Z,{htmlFor:c,className:E.inputLabel,children:[(0,x.jsx)("span",{children:t}),""!==k&&(0,x.jsx)("div",{className:E.tooltipContainer,children:(0,x.jsx)(d.Z,{title:k,placement:"top-start",children:(0,x.jsx)("div",{className:E.tooltip,children:(0,x.jsx)(f.Z,{})})})})]})}),(0,x.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==N&&(0,x.jsx)(u.Z,{component:"p",className:E.fieldDescription,children:N})})]})}),(0,x.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:E.switchContainer,children:T})]})})}))},66964:function(e,n,t){var i=t(18489),o=t(50390),a=t(12066),s=t(25594),r=t(36554),c=t(94187),l=t(95467),d=t(86509),u=t(62449),m=t(4285),h=t(72462),f=t(97538),p=t(44977),x=t(62559),b=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},h.gM))}));function g(e){var n=b();return(0,x.jsx)(a.Z,(0,i.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,t=e.onChange,a=e.value,d=e.id,u=e.name,m=e.type,h=void 0===m?"text":m,b=e.autoComplete,j=void 0===b?"off":b,v=e.disabled,Z=void 0!==v&&v,y=e.multiline,C=void 0!==y&&y,S=e.tooltip,k=void 0===S?"":S,w=e.index,N=void 0===w?0:w,E=e.error,I=void 0===E?"":E,F=e.required,P=void 0!==F&&F,T=e.placeholder,_=void 0===T?"":T,O=e.min,D=e.max,L=e.overlayId,B=e.overlayIcon,M=void 0===B?null:B,R=e.overlayObject,z=void 0===R?null:R,A=e.extraInputProps,V=void 0===A?{}:A,W=e.overlayAction,U=e.noLabelMinWidth,G=void 0!==U&&U,H=e.pattern,K=void 0===H?"":H,Y=e.autoFocus,$=void 0!==Y&&Y,J=e.classes,q=e.className,X=void 0===q?"":q,Q=e.onKeyPress,ee=(0,i.Z)({"data-index":N},V);return"number"===h&&O&&(ee.min=O),"number"===h&&D&&(ee.max=D),""!==K&&(ee.pattern=K),(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(s.ZP,{container:!0,className:(0,p.Z)(""!==X?X:"",""!==I?J.errorInField:J.inputBoxContainer),children:[""!==n&&(0,x.jsxs)(r.Z,{htmlFor:d,className:G?J.noMinWidthLabel:J.inputLabel,children:[(0,x.jsxs)("span",{children:[n,P?"*":""]}),""!==k&&(0,x.jsx)("div",{className:J.tooltipContainer,children:(0,x.jsx)(c.Z,{title:k,placement:"top-start",children:(0,x.jsx)("div",{className:J.tooltip,children:(0,x.jsx)(f.Z,{})})})})]}),(0,x.jsxs)("div",{className:J.textBoxContainer,children:[(0,x.jsx)(g,{id:d,name:u,fullWidth:!0,value:a,autoFocus:$,disabled:Z,onChange:t,type:h,multiline:C,autoComplete:j,inputProps:ee,error:""!==I,helperText:I,placeholder:_,className:J.inputRebase,onKeyPress:Q}),M&&(0,x.jsx)("div",{className:"".concat(J.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,x.jsx)(l.Z,{onClick:W?function(){W()}:function(){return null},id:L,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:M})}),z&&(0,x.jsx)("div",{className:"".concat(J.overlayAction," ").concat(""!==n?"withLabel":""),children:z})]})]})})}))},50280:function(e,n,t){var i=t(18489),o=t(50390),a=t(25594),s=t(86509),r=t(4285),c=t(72462),l=t(62559);n.Z=(0,r.Z)((function(e){return(0,s.Z)((0,i.Z)({},c.xx))}))((function(e){var n=e.classes,t=e.label,i=void 0===t?"":t,s=e.content,r=e.multiLine,c=void 0!==r&&r;return(0,l.jsx)(o.Fragment,{children:(0,l.jsxs)(a.ZP,{className:n.prefinedContainer,children:[""!==i&&(0,l.jsx)(a.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:i}),(0,l.jsx)(a.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,l.jsx)(a.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:s})})]})})}))},27207:function(e,n,t){var i=t(36222),o=t(18489),a=(t(50390),t(44977)),s=t(25594),r=t(82420),c=t(66695),l=t(98893),d=t(36554),u=t(94187),m=t(86509),h=t(4285),f=t(62449),p=t(72462),x=t(97538),b=t(62559),g=(0,f.Z)((0,o.Z)({root:{"&:hover":{backgroundColor:"transparent"}}},p.FU)),j=function(e){var n=g();return(0,b.jsx)(l.Z,(0,o.Z)({className:n.root,disableRipple:!0,color:"default",checkedIcon:(0,b.jsx)("span",{className:n.radioSelectedIcon}),icon:(0,b.jsx)("span",{className:n.radioUnselectedIcon})},e))};n.Z=(0,h.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.YI),p.Hr),{},{optionLabel:{"&.Mui-disabled":{"& .MuiFormControlLabel-label":{color:"#9c9c9c"}},"&:last-child":{marginRight:0},"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E"}},checkedOption:{"& .MuiFormControlLabel-label":{fontSize:12,color:"#07193E",fontWeight:700}}}))}))((function(e){var n=e.selectorOptions,t=void 0===n?[]:n,o=e.currentSelection,l=e.label,m=e.id,h=e.name,f=e.onChange,p=e.tooltip,g=void 0===p?"":p,v=e.disableOptions,Z=void 0!==v&&v,y=e.classes,C=e.displayInColumn,S=void 0!==C&&C;return(0,b.jsxs)(s.ZP,{container:!0,alignItems:"center",children:[(0,b.jsx)(s.ZP,{item:!0,xs:!0,children:(0,b.jsxs)(d.Z,{htmlFor:m,className:y.inputLabel,children:[(0,b.jsx)("span",{children:l}),""!==g&&(0,b.jsx)("div",{className:y.tooltipContainer,children:(0,b.jsx)(u.Z,{title:g,placement:"top-start",children:(0,b.jsx)("div",{children:(0,b.jsx)(x.Z,{})})})})]})}),(0,b.jsx)(s.ZP,{item:!0,xs:!0,className:y.radioOptionsLayout,children:(0,b.jsx)(r.Z,{"aria-label":m,id:m,name:h,value:o,onChange:f,row:!S,style:{display:"block",textAlign:"right"},children:t.map((function(e){return(0,b.jsx)(c.Z,{value:e.value,control:(0,b.jsx)(j,{}),label:e.label,disabled:Z,className:(0,a.Z)(y.optionLabel,(0,i.Z)({},y.checkedOption,e.value===o))},"rd-".concat(h,"-").concat(e.value))}))})})]})}))},67754:function(e,n,t){var i=t(18489),o=t(50390),a=t(25594),s=t(46413),r=t(36554),c=t(94187),l=t(47554),d=t(43965),u=t(31680),m=t(86509),h=t(4285),f=t(72462),p=t(97538),x=t(62559),b=(0,h.Z)((function(e){return(0,m.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(s.ZP);n.Z=(0,h.Z)((function(e){return(0,m.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},f.YI),f.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var n=e.classes,t=e.id,i=e.name,s=e.onChange,m=e.options,h=e.label,f=e.tooltip,g=void 0===f?"":f,j=e.value,v=e.disabled,Z=void 0!==v&&v;return(0,x.jsx)(o.Fragment,{children:(0,x.jsxs)(a.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==h&&(0,x.jsxs)(r.Z,{htmlFor:t,className:n.inputLabel,children:[(0,x.jsx)("span",{children:h}),""!==g&&(0,x.jsx)("div",{className:n.tooltipContainer,children:(0,x.jsx)(c.Z,{title:g,placement:"top-start",children:(0,x.jsx)("div",{className:n.tooltip,children:(0,x.jsx)(p.Z,{})})})})]}),(0,x.jsx)(l.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:t,name:i,value:j,onChange:s,input:(0,x.jsx)(b,{}),disabled:Z,children:m.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},21639:function(e,n,t){var i=t(23430),o=t(50390),a=t(30324);n.Z=function(e,n){var t=(0,o.useState)(!1),s=(0,i.Z)(t,2),r=s[0],c=s[1];return[r,function(t,i,o){c(!0),a.Z.invoke(t,i,o).then((function(n){c(!1),e(n)})).catch((function(e){c(!1),n(e)}))}]}},60656:function(e,n,t){var i=t(18489),o=t(50390),a=t(84402),s=t(78426),r=t(93085),c=t(7887),l=t(66946),d=t(7521),u=t(95467),m=t(21278),h=t(86509),f=t(4285),p=t(72462),x=t(62559);n.Z=(0,f.Z)((function(e){return(0,h.Z)((0,i.Z)({},p.Qw))}))((function(e){var n=e.isOpen,t=void 0!==n&&n,h=e.onClose,f=e.onCancel,p=e.onConfirm,b=e.classes,g=void 0===b?{}:b,j=e.title,v=void 0===j?"":j,Z=e.isLoading,y=e.confirmationContent,C=e.cancelText,S=void 0===C?"Cancel":C,k=e.confirmText,w=void 0===k?"Confirm":k,N=e.confirmButtonProps,E=void 0===N?{}:N,I=e.cancelButtonProps,F=void 0===I?{}:I,P=e.titleIcon,T=void 0===P?null:P;return(0,x.jsxs)(a.Z,{open:t,onClose:function(e,n){"backdropClick"!==n&&h()},className:g.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,x.jsxs)(s.Z,{className:g.title,children:[(0,x.jsxs)("div",{className:g.titleText,children:[T," ",v]}),(0,x.jsx)("div",{className:g.closeContainer,children:(0,x.jsx)(u.Z,{"aria-label":"close",className:g.closeButton,onClick:h,disableRipple:!0,size:"small",children:(0,x.jsx)(m.Z,{})})})]}),(0,x.jsx)(r.Z,{className:g.content,children:y}),(0,x.jsxs)(c.Z,{className:g.actions,children:[(0,x.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:g.cancelButton,onClick:f||h,disabled:Z,type:"button"},F),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:S})),(0,x.jsx)(d.Z,(0,i.Z)((0,i.Z)({className:g.confirmButton,type:"button",onClick:p,loading:Z,disabled:Z,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,x.jsx)(o.Fragment,{}),autoFocus:!0,id:"confirm-ok"},E),{},{children:w}))]})]})}))},51002:function(e,n,t){var i=t(23430),o=t(18489),a=t(50390),s=t(34424),r=t(95467),c=t(97771),l=t(84402),d=t(78426),u=t(93085),m=t(86509),h=t(4285),f=t(72462),p=t(44149),x=t(21278),b=t(45980),g=t(62559),j=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:p.MK});n.Z=(0,h.Z)((function(e){return(0,m.Z)((0,o.Z)((0,o.Z)({},f.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(j((function(e){var n=e.onClose,t=e.modalOpen,s=e.title,m=e.children,h=e.classes,f=e.wideLimit,p=void 0===f||f,j=e.modalSnackMessage,v=e.noContentPadding,Z=e.setModalSnackMessage,y=e.titleIcon,C=void 0===y?null:y,S=(0,a.useState)(!1),k=(0,i.Z)(S,2),w=k[0],N=k[1];(0,a.useEffect)((function(){Z("")}),[Z]),(0,a.useEffect)((function(){if(j){if(""===j.message)return void N(!1);"error"!==j.type&&N(!0)}}),[j]);var E=p?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},I="";return j&&(I=j.detailedErrorMsg,(""===j.detailedErrorMsg||j.detailedErrorMsg.length<5)&&(I=j.message)),(0,g.jsxs)(l.Z,(0,o.Z)((0,o.Z)({open:t,classes:h},E),{},{scroll:"paper",onClose:function(e,t){"backdropClick"!==t&&n()},className:h.root,children:[(0,g.jsxs)(d.Z,{className:h.title,children:[(0,g.jsxs)("div",{className:h.titleText,children:[C," ",s]}),(0,g.jsx)("div",{className:h.closeContainer,children:(0,g.jsx)(r.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,g.jsx)(x.Z,{})})})]}),(0,g.jsx)(b.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:w,className:h.snackBarModal,onClose:function(){N(!1),Z("")},message:I,ContentProps:{className:"".concat(h.snackBar," ").concat(j&&"error"===j.type?h.errorSnackBar:"")},autoHideDuration:j&&"error"===j.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:v?"":h.content,children:m})]}))})))},35721:function(e,n,t){var i=t(50390),o=t(34424),a=t(25594),s=t(86509),r=t(4285),c=t(35477),l=t(95467),d=t(26805),u=t(44078),m=t(5265),h=t(14549),f=t(62559),p={toggleList:m.kQ},x=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),p);n.Z=x((0,r.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,o=e.actions,s=e.sidebarOpen,r=e.operatorMode,m=e.managerObjects,p=e.toggleList,x=e.middleComponent;return e.features.includes("hide-menu")?(0,f.jsx)(i.Fragment,{}):(0,f.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,f.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,f.jsx)("div",{className:n.logo,children:r?(0,f.jsx)(d.Z,{}):(0,f.jsx)(u.Z,{})}),(0,f.jsx)(c.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,f.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,f.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[o&&o,m&&m.length>0&&(0,f.jsx)(l.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){p()},id:"object-manager-toggle",size:"large",children:(0,f.jsx)(h.gx,{})})]})]})})))},62702:function(e,n,t){t(50390);var i=t(25594),o=t(86509),a=t(4285),s=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,o=e.title,a=e.subTitle,r=e.actions,c=e.className;return(0,s.jsx)(i.ZP,{container:!0,children:(0,s.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(c||""),children:[(0,s.jsxs)("div",{className:n.leftItems,children:[t?(0,s.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,s.jsxs)("div",{className:n.titleColumn,children:[(0,s.jsx)("h1",{style:{margin:0},children:o}),(0,s.jsx)("span",{className:n.headerBarSubheader,children:a})]})]}),(0,s.jsx)("div",{className:n.rightItems,children:r})]})})}))},23165:function(e,n,t){var i=t(36222),o=t(18489),a=(t(50390),t(65771)),s=t(13336),r=t(12066),c=t(4285),l=t(86509),d=t(72462),u=t(62559);n.Z=(0,c.Z)((function(e){return(0,l.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,c=e.onChange,l=e.adornmentPosition,d=void 0===l?"end":l,m=e.overrideClass,h=e.value,f=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(a.Z,{position:d,className:o.adornment,children:(0,u.jsx)(s.Z,{})}));return(0,u.jsx)(r.Z,{placeholder:t,className:m||o.searchField,id:"search-resource",label:"",InputProps:f,onChange:function(e){c(e.target.value)},variant:"standard",value:h})}))},18572:function(e,n,t){var i=t(50390),o=t(65742),a=t(10106),s=t(33690),r=t(62559),c={};n.Z=function(e){var n=e.rowRenderFunction,t=e.totalItems,l=e.defaultHeight,d=function(e){var t=e.index,i=e.style;return(0,r.jsx)("div",{style:i,children:n(t)})};return(0,r.jsx)(i.Fragment,{children:(0,r.jsx)(a.Z,{isItemLoaded:function(e){return!!c[e]},loadMoreItems:function(e,n){for(var t=e;t<=n;t++)c[t]=1;for(var i=e;i<=n;i++)c[i]=2},itemCount:t,children:function(e){var n=e.onItemsRendered,i=e.ref;return(0,r.jsx)(s.qj,{children:function(e){var a=e.width,s=e.height;return(0,r.jsx)(o.t7,{itemSize:l||220,height:s,itemCount:t,width:a,ref:i,onItemsRendered:n,children:d})}})}})})}},94863:function(e,n,t){var i=t(23430),o=t(56805),a=t(66946),s=t(66964),r=t(14549),c=t(50390),l=t(62559);n.Z=function(e){var n=e.value,t=(0,c.useState)(!1),d=(0,i.Z)(t,2),u=d[0],m=d[1];return(0,l.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center",flexFlow:{sm:"row",xs:"column"}},children:[(0,l.jsx)(s.Z,{id:"inspect-dec-key",name:"inspect-dec-key",placeholder:"",label:"",type:u?"text":"password",onChange:function(){},value:n,overlayIcon:(0,l.jsx)(r.TI,{}),extraInputProps:{readOnly:!0},overlayAction:function(){return navigator.clipboard.writeText(n)}}),(0,l.jsx)(a.Z,{sx:{marginLeft:"10px"},variant:"contained",onClick:function(){return m(!u)},children:"Show/Hide"})]})}}}]); +//# sourceMappingURL=3575.b8f7afc0.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3575.b8f7afc0.chunk.js.map b/portal-ui/build/static/js/3575.b8f7afc0.chunk.js.map new file mode 100644 index 000000000..abfa015b9 --- /dev/null +++ b/portal-ui/build/static/js/3575.b8f7afc0.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3575.b8f7afc0.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx","screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx","screens/Console/Common/FormComponents/DateSelector/utils.ts","screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetRetention.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SetLegalHoldModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ObjectMetaData.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectActionButton.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ActionsListSection.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/IconWithLabel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjectsHelpers.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/SpecificVersionPill.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx","screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx","screens/Console/Buckets/BucketDetails/BrowserHandler.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx","screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileContent.tsx","screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx","screens/Console/Buckets/ListBuckets/Objects/utils.ts","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Common/VirtualizedList/VirtualizedList.tsx","screens/Console/Tools/KeyRevealer.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackIcon } from \"../icons\";\nimport { Box } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"inline-block\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textDecoration: \"none\",\n maxWidth: \"40px\",\n \"&:active\": {\n color: theme.palette.primary.light,\n },\n },\n icon: {\n marginRight: \"11px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"35px\",\n width: \"35px\",\n borderRadius: \"2px\",\n \"&:hover\": {\n background: \"rgba(234,237,238)\",\n },\n \"& svg.min-icon\": {\n width: \"18px\",\n height: \"12px\",\n },\n },\n label: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"35px\",\n padding: \"0 0px 0 5px\",\n fontSize: \"18px\",\n fontWeight: 600,\n color: theme.palette.primary.light,\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n \n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
    \n \n
    \n \n
    {label}
    \n
    \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { connect } from \"react-redux\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { ObjectBrowserState } from \"./reducers\";\nimport { objectBrowserCommon } from \"../Common/FormComponents/common/styleLibrary\";\nimport { Link } from \"react-router-dom\";\nimport { encodeFileName } from \"../../../common/utils\";\nimport { BackCaretIcon, NewPathIcon } from \"../../../icons\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport history from \"../../../history\";\nimport { hasPermission } from \"../../../common/SecureComponent\";\nimport { IAM_SCOPES } from \"../../../common/SecureComponent/permissions\";\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { BucketObject } from \"../Buckets/ListBuckets/Objects/ListObjects/types\";\nimport { setVersionsModeEnabled } from \"./actions\";\n\nconst CreateFolderModal = withSuspense(\n React.lazy(\n () => import(\"../Buckets/ListBuckets/Objects/ListObjects/CreateFolderModal\")\n )\n);\n\ninterface ObjectBrowserReducer {\n objectBrowser: ObjectBrowserState;\n}\n\ninterface IObjectBrowser {\n classes: any;\n bucketName: string;\n internalPaths: string;\n rewindEnabled?: boolean;\n versionsMode: boolean;\n versionedFile: string;\n existingFiles: BucketObject[];\n additionalOptions?: React.ReactNode;\n setVersionsModeEnabled: typeof setVersionsModeEnabled;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...objectBrowserCommon,\n });\n\nconst BrowserBreadcrumbs = ({\n classes,\n bucketName,\n internalPaths,\n rewindEnabled,\n existingFiles,\n versionsMode,\n versionedFile,\n setVersionsModeEnabled,\n additionalOptions,\n}: IObjectBrowser) => {\n const [createFolderOpen, setCreateFolderOpen] = useState(false);\n\n let paths = internalPaths;\n\n if (internalPaths !== \"\") {\n paths = `/${internalPaths}`;\n }\n\n const splitPaths = paths.split(\"/\").filter((path) => path !== \"\");\n let breadcrumbsMap = splitPaths.map((objectItem: string, index: number) => {\n const subSplit = splitPaths.slice(0, index + 1).join(\"/\");\n const route = `/buckets/${bucketName}/browse/${\n subSplit ? `${encodeFileName(subSplit)}` : ``\n }`;\n return (\n \n / \n {\n setVersionsModeEnabled(false);\n }}\n >\n {objectItem}\n \n \n );\n });\n\n let versionsItem: any[] = [];\n\n if (versionsMode) {\n versionsItem = [\n \n / {versionedFile} - Versions\n ,\n ];\n }\n\n const listBreadcrumbs: any[] = [\n \n {\n setVersionsModeEnabled(false);\n }}\n >\n {bucketName}\n \n ,\n ...breadcrumbsMap,\n ...versionsItem,\n ];\n\n const closeAddFolderModal = () => {\n setCreateFolderOpen(false);\n };\n\n const goBackFunction = () => {\n if (versionsMode) {\n setVersionsModeEnabled(false);\n } else {\n history.goBack();\n }\n };\n\n return (\n \n {createFolderOpen && (\n \n )}\n \n \n \n \n \n {\n setCreateFolderOpen(true);\n }}\n disabled={\n rewindEnabled ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT])\n }\n disableTouchRipple\n disableRipple\n focusRipple={false}\n sx={{\n padding: 0,\n paddingLeft: \"6px\",\n }}\n >\n \n \n \n
    \n {listBreadcrumbs}\n
    \n {additionalOptions && (\n
    {additionalOptions}
    \n )}\n
    \n
    \n );\n};\n\nconst mapStateToProps = ({ objectBrowser }: ObjectBrowserReducer) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n versionsMode: get(objectBrowser, \"versionsMode\", false),\n versionedFile: get(objectBrowser, \"versionedFile\", \"\"),\n});\n\nconst mapDispatchToProps = {\n setVersionsModeEnabled,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BrowserBreadcrumbs));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { Menu, MenuItem } from \"@mui/material\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport ListItemText from \"@mui/material/ListItemText\";\nimport ListItemIcon from \"@mui/material/ListItemIcon\";\nimport { UploadFolderIcon, UploadIcon } from \"../../../../icons\";\nimport RBIconButton from \"../BucketDetails/SummaryItems/RBIconButton\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport { hasPermission } from \"../../../../common/SecureComponent\";\n\ninterface IUploadFilesButton {\n uploadPath: string;\n bucketName: string;\n forceDisable?: boolean;\n uploadFileFunction: (closeFunction: () => void) => void;\n uploadFolderFunction: (closeFunction: () => void) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n listUploadIcons: {\n height: 20,\n \"& .min-icon\": {\n width: 18,\n fill: \"rgba(0,0,0,0.87)\",\n },\n },\n });\n\nconst UploadFilesButton = ({\n uploadPath,\n bucketName,\n forceDisable = false,\n uploadFileFunction,\n uploadFolderFunction,\n classes,\n}: IUploadFilesButton) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const openUploadMenu = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleCloseUpload = () => {\n setAnchorEl(null);\n };\n\n const uploadObjectAllowed = hasPermission(uploadPath, [\n IAM_SCOPES.S3_PUT_OBJECT,\n ]);\n const uploadFolderAllowed = hasPermission(\n bucketName,\n [IAM_SCOPES.S3_PUT_OBJECT],\n false,\n true\n );\n\n const uploadEnabled: boolean = uploadObjectAllowed || uploadFolderAllowed;\n\n return (\n \n }\n color=\"primary\"\n variant={\"contained\"}\n disabled={forceDisable || !uploadEnabled}\n />\n {\n handleCloseUpload();\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {\n uploadFileFunction(handleCloseUpload);\n }}\n disabled={!uploadObjectAllowed || forceDisable}\n >\n \n \n \n Upload File\n \n {\n uploadFolderFunction(handleCloseUpload);\n }}\n disabled={!uploadFolderAllowed || forceDisable}\n >\n \n \n \n Upload Folder\n \n \n \n );\n};\n\nexport default withStyles(styles)(UploadFilesButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton } from \"@mui/material\";\nimport { ClosePanelIcon } from \"../../../../../../icons\";\n\ninterface IDetailsListPanel {\n classes: any;\n open: boolean;\n closePanel: () => void;\n children: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n detailsList: {\n borderColor: \"#EAEDEE\",\n backgroundColor: \"#fff\",\n borderWidth: 0,\n borderStyle: \"solid\",\n borderRadius: 3,\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n width: 0,\n transitionDuration: \"0.3s\",\n overflowX: \"hidden\",\n overflowY: \"auto\",\n position: \"relative\",\n opacity: 0,\n marginLeft: -1,\n \"&.open\": {\n width: 300,\n minWidth: 300,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderRightWidth: 1,\n borderLeftWidth: 1,\n opacity: 1,\n },\n },\n closePanel: {\n position: \"absolute\",\n right: 0,\n top: 8,\n \"& .min-icon\": {\n width: 14,\n },\n },\n });\n\nconst DetailsListPanel = ({\n classes,\n open,\n closePanel,\n children,\n}: IDetailsListPanel) => {\n return (\n \n \n \n \n {children}\n \n );\n};\n\nexport default withStyles(styles)(DetailsListPanel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport const months = [\n { value: \"01\", label: \"January\" },\n { value: \"02\", label: \"February\" },\n { value: \"03\", label: \"March\" },\n { value: \"04\", label: \"April\" },\n { value: \"05\", label: \"May\" },\n { value: \"06\", label: \"June\" },\n { value: \"07\", label: \"July\" },\n { value: \"08\", label: \"August\" },\n { value: \"09\", label: \"September\" },\n { value: \"10\", label: \"October\" },\n { value: \"11\", label: \"November\" },\n { value: \"12\", label: \"December\" },\n];\n\nexport const days = Array.from(Array(31), (_, num) => num + 1);\n\nconst currentYear = new Date().getFullYear();\n\nexport const years = Array.from(\n Array(25),\n (_, numYear) => numYear + currentYear\n);\n\nexport const validDate = (year: string, month: string, day: string): any[] => {\n const currentDate = Date.parse(`${year}-${month}-${day}`);\n\n if (isNaN(currentDate)) {\n return [false, \"\"];\n }\n\n const parsedMonth = parseInt(month);\n const parsedDay = parseInt(day);\n\n const monthForString = parsedMonth < 10 ? `0${parsedMonth}` : parsedMonth;\n const dayForString = parsedDay < 10 ? `0${parsedDay}` : parsedDay;\n\n const parsedDate = new Date(currentDate).toISOString().split(\"T\")[0];\n const dateString = `${year}-${monthForString}-${dayForString}`;\n\n return [parsedDate === dateString, dateString];\n};\n\n// twoDigitDate gets a two digit string number used for months or days\n// returns \"NaN\" if number is NaN\nexport const twoDigitDate = (num: number): string => {\n return num < 10 ? `0${num}` : `${num}`;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n useState,\n forwardRef,\n useImperativeHandle,\n useEffect,\n} from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport { SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport Tooltip from \"@mui/material/Tooltip\";\nimport FormControl from \"@mui/material/FormControl\";\nimport Select from \"@mui/material/Select\";\nimport MenuItem from \"@mui/material/MenuItem\";\nimport InputBase from \"@mui/material/InputBase\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport FormSwitchWrapper from \"../FormSwitchWrapper/FormSwitchWrapper\";\nimport { days, months, validDate, years } from \"./utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n dateInput: {\n \"&:not(:last-child)\": {\n marginRight: 22,\n },\n },\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n flex: 1,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n fieldContainerBorder: {\n borderBottom: \"#9c9c9c 1px solid\",\n marginBottom: 20,\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"& .MuiSelect-icon\": {\n color: \"#000\",\n \"&.Mui-disabled\": {\n color: \"#9c9c9c\",\n },\n },\n },\n input: {\n borderBottom: 0,\n fontSize: 12,\n },\n })\n)(InputBase);\n\ninterface IDateSelectorProps {\n classes: any;\n id: string;\n label: string;\n disableOptions?: boolean;\n addSwitch?: boolean;\n tooltip?: string;\n borderBottom?: boolean;\n value?: string;\n onDateChange: (date: string, isValid: boolean) => any;\n}\n\nconst DateSelector = forwardRef(\n (\n {\n classes,\n id,\n label,\n disableOptions = false,\n addSwitch = false,\n tooltip = \"\",\n borderBottom = false,\n onDateChange,\n value = \"\",\n }: IDateSelectorProps,\n ref: any\n ) => {\n useImperativeHandle(ref, () => ({ resetDate }));\n\n const [dateEnabled, setDateEnabled] = useState(false);\n const [month, setMonth] = useState(\"\");\n const [day, setDay] = useState(\"\");\n const [year, setYear] = useState(\"\");\n\n useEffect(() => {\n // verify if there is a current value\n // assume is in the format \"2021-12-30\"\n if (value !== \"\") {\n const valueSplit = value.split(\"-\");\n setYear(valueSplit[0]);\n setMonth(valueSplit[1]);\n // Turn to single digit to be displayed on dropdown buttons\n setDay(`${parseInt(valueSplit[2])}`);\n }\n }, [value]);\n\n useEffect(() => {\n const [isValid, dateString] = validDate(year, month, day);\n onDateChange(dateString, isValid);\n }, [month, day, year, onDateChange]);\n\n const resetDate = () => {\n setMonth(\"\");\n setDay(\"\");\n setYear(\"\");\n };\n\n const isDateDisabled = () => {\n if (disableOptions) {\n return disableOptions;\n } else if (addSwitch) {\n return !dateEnabled;\n } else {\n return false;\n }\n };\n\n const onMonthChange = (e: SelectChangeEvent) => {\n setMonth(e.target.value as string);\n };\n\n const onDayChange = (e: SelectChangeEvent) => {\n setDay(e.target.value as string);\n };\n\n const onYearChange = (e: SelectChangeEvent) => {\n setYear(e.target.value as string);\n };\n\n return (\n \n
    \n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n {addSwitch && (\n {\n setDateEnabled(e.target.checked);\n if (!e.target.checked) {\n onDateChange(\"\", true);\n }\n }}\n switchOnly\n />\n )}\n
    \n
    \n
    \n \n }\n >\n \n {\"\"}\n \n {months.map((option) => (\n \n {option.label}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {days.map((dayNumber) => (\n \n {dayNumber}\n \n ))}\n \n \n \n }\n >\n \n {\"\"}\n \n {years.map((year) => (\n \n {year}\n \n ))}\n \n \n
    \n \n );\n }\n);\n\nexport default withStyles(styles)(DateSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { twoDigitDate } from \"../../../../Common/FormComponents/DateSelector/utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport RadioGroupSelector from \"../../../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector\";\nimport DateSelector from \"../../../../Common/FormComponents/DateSelector/DateSelector\";\nimport api from \"../../../../../../common/api\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n dateSelector: {\n \"& div\": {\n borderBottom: 0,\n marginBottom: 0,\n\n \"& div:nth-child(2)\": {\n border: \"1px solid #EAEAEA\",\n paddingLeft: 5,\n\n \"& div\": {\n border: 0,\n },\n },\n },\n },\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (updateInfo: boolean) => void;\n objectName: string;\n bucketName: string;\n objectInfo: IFileInfo;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\ninterface IRefObject {\n resetDate: () => void;\n}\n\nconst SetRetention = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n objectInfo,\n bucketName,\n setModalErrorSnackMessage,\n}: ISetRetentionProps) => {\n const [statusEnabled, setStatusEnabled] = useState(true);\n const [type, setType] = useState(\"\");\n const [date, setDate] = useState(\"\");\n const [isDateValid, setIsDateValid] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const [alreadyConfigured, setAlreadyConfigured] = useState(false);\n\n useEffect(() => {\n if (objectInfo.retention_mode) {\n setType(objectInfo.retention_mode.toLowerCase());\n setAlreadyConfigured(true);\n }\n // get retention_until_date if defined\n if (objectInfo.retention_until_date) {\n const valueDate = new Date(objectInfo.retention_until_date);\n if (valueDate.toString() !== \"Invalid Date\") {\n const year = valueDate.getFullYear();\n const month = twoDigitDate(valueDate.getMonth() + 1);\n const day = valueDate.getDate();\n if (!isNaN(day) && month !== \"NaN\" && !isNaN(year)) {\n setDate(`${year}-${month}-${day}`);\n }\n }\n setAlreadyConfigured(true);\n }\n }, [objectInfo]);\n\n const dateElement = useRef(null);\n\n const dateFieldDisabled = () => {\n return !(statusEnabled && (type === \"governance\" || type === \"compliance\"));\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n const resetForm = () => {\n setStatusEnabled(false);\n setType(\"\");\n if (dateElement.current) {\n dateElement.current.resetDate();\n }\n };\n\n const addRetention = (\n selectedObject: string,\n versionId: string | null,\n expireDate: string\n ) => {\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${versionId}`,\n {\n expires: expireDate,\n mode: type,\n }\n )\n .then((res: any) => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const disableRetention = (\n selectedObject: string,\n versionId: string | null\n ) => {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${bucketName}/objects/retention?prefix=${encodeFileName(\n selectedObject\n )}&version_id=${versionId}`\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const saveNewRetentionPolicy = () => {\n setIsSaving(true);\n const selectedObject = objectInfo.name;\n const versionId = objectInfo.version_id;\n\n const expireDate =\n !statusEnabled && type === \"governance\" ? \"\" : `${date}T23:59:59Z`;\n\n if (!statusEnabled && type === \"governance\") {\n disableRetention(selectedObject, versionId);\n\n return;\n }\n\n addRetention(selectedObject, versionId, expireDate);\n };\n\n const showSwitcher =\n alreadyConfigured && (type === \"governance\" || type === \"\");\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n
    \n Selected Object: {objectName}\n
    \n ) => {\n onSubmit(e);\n }}\n >\n {showSwitcher && (\n \n ) => {\n setStatusEnabled(!statusEnabled);\n }}\n label={\"Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n />\n \n )}\n \n {\n setType(e.target.value);\n }}\n selectorOptions={[\n { label: \"Governance\", value: \"governance\" },\n { label: \"Compliance\", value: \"compliance\" },\n ]}\n />\n \n \n {\n setIsDateValid(isValid);\n if (isValid) {\n setDate(date);\n }\n }}\n />\n \n \n \n Reset\n \n \n Save\n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetRetention));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState, Fragment } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeFileName } from \"../../../../../../common/utils\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\n\ninterface IDeleteObjectProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n versioning: boolean;\n selectedVersion?: string;\n}\n\nconst DeleteObject = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n setErrorSnackMessage,\n versioning,\n selectedVersion = \"\",\n}: IDeleteObjectProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n const [deleteVersions, setDeleteVersions] = useState(false);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n const decodedSelectedObject = decodeFileName(selectedObject);\n const recursive = decodedSelectedObject.endsWith(\"/\");\n invokeDeleteApi(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}${\n selectedVersion !== \"\"\n ? `&version_id=${selectedVersion}`\n : `&recursive=${recursive}&all_versions=${deleteVersions}`\n }`\n );\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete:
    \n {decodeFileName(selectedObject)}{\" \"}\n {selectedVersion !== \"\" ? (\n \n
    \n
    \n Version ID:\n
    \n {selectedVersion}\n
    \n ) : (\n \"\"\n )}\n ?
    \n
    \n {versioning && selectedVersion === \"\" && (\n {\n setDeleteVersions(!deleteVersions);\n }}\n description=\"\"\n />\n )}\n
    \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteObject);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { IFileInfo } from \"./types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface ISetRetentionProps {\n classes: any;\n open: boolean;\n closeModalAndRefresh: (reload: boolean) => void;\n objectName: string;\n bucketName: string;\n actualInfo: IFileInfo;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetLegalHoldModal = ({\n classes,\n open,\n closeModalAndRefresh,\n objectName,\n bucketName,\n actualInfo,\n setModalErrorSnackMessage,\n}: ISetRetentionProps) => {\n const [legalHoldEnabled, setLegalHoldEnabled] = useState(false);\n const [isSaving, setIsSaving] = useState(false);\n const versionId = actualInfo.version_id;\n\n useEffect(() => {\n const status = get(actualInfo, \"legal_hold_status\", \"OFF\");\n setLegalHoldEnabled(status === \"ON\");\n }, [actualInfo]);\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n setIsSaving(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/legalhold?prefix=${encodeFileName(\n objectName\n )}&version_id=${versionId}`,\n { status: legalHoldEnabled ? \"enabled\" : \"disabled\" }\n )\n .then(() => {\n setIsSaving(false);\n closeModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSaving(false);\n });\n };\n\n const resetForm = () => {\n setLegalHoldEnabled(false);\n };\n\n return (\n {\n resetForm();\n closeModalAndRefresh(false);\n }}\n >\n \n Object: {bucketName}\n \n\n ) => {\n onSubmit(e);\n }}\n >\n \n ) => {\n setLegalHoldEnabled(!legalHoldEnabled);\n }}\n label={\"Legal Hold Status\"}\n indicatorLabels={[\"Enabled\", \"Disabled\"]}\n tooltip={\n \"To enable this feature you need to enable versioning on the bucket before creation\"\n }\n />\n \n \n \n Clear\n \n \n Save\n \n \n \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(SetLegalHoldModal));\n","import React, { useCallback, useEffect, useState, Fragment } from \"react\";\nimport useApi from \"../../../../Common/Hooks/useApi\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { MetadataResponse } from \"./types\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Box, Table, TableBody, TableCell, TableRow } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n detailsPanel,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { withStyles } from \"@mui/styles\";\n\ninterface IObjectMetadata {\n bucketName: string;\n internalPaths: string;\n classes?: any;\n actualInfo: any;\n linear?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n propertiesIcon: {\n marginLeft: 5,\n \"& .min-icon\": {\n height: 12,\n },\n },\n\n capitalizeFirst: {\n textTransform: \"capitalize\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n },\n },\n titleCol: {\n width: \"25%\",\n },\n titleItem: {\n width: \"35%\",\n },\n ...spacingUtils,\n ...detailsPanel,\n });\n\nconst ObjectMetaData = ({\n bucketName,\n internalPaths,\n classes,\n actualInfo,\n linear = false,\n}: IObjectMetadata) => {\n const [metaData, setMetaData] = useState({});\n\n const onMetaDataSuccess = (res: MetadataResponse) => {\n let metadata = get(res, \"objectMetadata\", {});\n\n setMetaData(metadata);\n };\n const onMetaDataError = (err: ErrorResponseHandler) => false;\n\n const [, invokeMetaDataApi] = useApi(onMetaDataSuccess, onMetaDataError);\n\n const metaKeys = Object.keys(metaData);\n const loadMetaData = useCallback(() => {\n invokeMetaDataApi(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/metadata?prefix=${internalPaths}`\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [bucketName, internalPaths, actualInfo]);\n\n useEffect(() => {\n if (actualInfo) {\n loadMetaData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [actualInfo, loadMetaData]);\n\n if (linear) {\n return (\n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n {element}\n
    \n {renderItem}\n
    \n );\n })}\n
    \n );\n }\n\n return (\n \n \n \n Object Metadata\n \n \n\n \n \n \n {metaKeys.map((element: string, index: number) => {\n const renderItem = Array.isArray(metaData[element])\n ? metaData[element].map(decodeURIComponent).join(\", \")\n : decodeURIComponent(metaData[element]);\n\n return (\n \n \n {element}\n \n {renderItem}\n \n );\n })}\n \n
    \n
    \n \n );\n};\n\nexport default withStyles(styles)(ObjectMetaData);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype ObjectActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n icon: React.ReactNode;\n label: string;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: \"0 15px\",\n height: 22,\n margin: 0,\n color: \"#5E5E5E\",\n fontWeight: \"normal\",\n fontSize: 14,\n whiteSpace: \"nowrap\",\n width: \"100%\",\n justifyContent: \"flex-start\",\n \"&:hover\": {\n backgroundColor: \"transparent\",\n color: \"#000\",\n },\n \"& .min-icon\": {\n width: 11,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n });\n\nconst ObjectActionButton = ({\n disabled,\n onClick,\n icon,\n label,\n classes,\n ...restProps\n}: ObjectActionButtonProps) => {\n return (\n \n {label}\n \n );\n};\n\nexport default withStyles(styles)(ObjectActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ObjectActionButton from \"./ObjectActionButton\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { detailsPanel } from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nconst styles = () =>\n createStyles({\n ...detailsPanel,\n });\n\nexport interface MultiSelectionItem {\n action: () => void;\n label: string;\n disabled: boolean;\n icon: React.ReactNode;\n tooltip: string;\n}\n\ninterface IActionsListSectionProps {\n items: MultiSelectionItem[];\n title: string | React.ReactNode;\n classes: any;\n}\n\nconst ActionsListSection = ({\n items,\n classes,\n title,\n}: IActionsListSectionProps) => {\n return (\n \n
    {title}
    \n
      \n
    • Actions:
    • \n {items.map((actionItem, index) => {\n return (\n
    • \n \n
    • \n );\n })}\n
    \n
    \n );\n};\n\nexport default withStyles(styles)(ActionsListSection);\n","import React from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n fileName: {\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n width: 16,\n height: 16,\n marginRight: 4,\n },\n },\n fileNameText: {\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n });\n\nconst IconWithLabel = (props: {\n classes: any;\n icon: JSX.Element;\n strings: string[];\n}) => {\n return (\n
    \n {props.icon}\n \n {props.strings[props.strings.length - 1]}\n \n
    \n );\n};\n\nexport default withStyles(styles)(IconWithLabel);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\nimport ObjectBrowserIcon from \"../../../../../../icons/ObjectBrowserIcon\";\nimport ObjectBrowserFolderIcon from \"../../../../../../icons/ObjectBrowserFolderIcon\";\nimport IconWithLabel from \"./IconWithLabel\";\n\nconst FileBookIcon = React.lazy(\n () => import(\"../../../../../../icons/FileBookIcon\")\n);\nconst FileCodeIcon = React.lazy(\n () => import(\"../../../../../../icons/FileCodeIcon\")\n);\nconst FileConfigIcon = React.lazy(\n () => import(\"../../../../../../icons/FileConfigIcon\")\n);\nconst FileDbIcon = React.lazy(\n () => import(\"../../../../../../icons/FileDbIcon\")\n);\nconst FileFontIcon = React.lazy(\n () => import(\"../../../../../../icons/FileFontIcon\")\n);\nconst FileImageIcon = React.lazy(\n () => import(\"../../../../../../icons/FileImageIcon\")\n);\nconst FileLockIcon = React.lazy(\n () => import(\"../../../../../../icons/FileLockIcon\")\n);\nconst FileMissingIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMissingIcon\")\n);\nconst FileMusicIcon = React.lazy(\n () => import(\"../../../../../../icons/FileMusicIcon\")\n);\nconst FilePdfIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePdfIcon\")\n);\nconst FilePptIcon = React.lazy(\n () => import(\"../../../../../../icons/FilePptIcon\")\n);\nconst FileTxtIcon = React.lazy(\n () => import(\"../../../../../../icons/FileTxtIcon\")\n);\nconst FileVideoIcon = React.lazy(\n () => import(\"../../../../../../icons/FileVideoIcon\")\n);\nconst FileXlsIcon = React.lazy(\n () => import(\"../../../../../../icons/FileXlsIcon\")\n);\nconst FileZipIcon = React.lazy(\n () => import(\"../../../../../../icons/FileZipIcon\")\n);\n\ninterface IExtToIcon {\n icon: any;\n extensions: string[];\n}\n\nexport const extensionToIcon: IExtToIcon[] = [\n {\n icon: ,\n extensions: [\"mp4\", \"mov\", \"avi\", \"mpeg\", \"mpg\"],\n },\n {\n icon: ,\n extensions: [\"mp3\", \"m4a\", \"aac\"],\n },\n {\n icon: ,\n extensions: [\"pdf\"],\n },\n {\n icon: ,\n extensions: [\"ppt\", \"pptx\"],\n },\n {\n icon: ,\n extensions: [\"xls\", \"xlsx\"],\n },\n {\n icon: ,\n extensions: [\"cer\", \"crt\", \"pem\"],\n },\n {\n icon: ,\n extensions: [\"html\", \"xml\", \"css\", \"py\", \"go\", \"php\", \"cpp\", \"h\", \"java\"],\n },\n {\n icon: ,\n extensions: [\"cfg\", \"yaml\"],\n },\n {\n icon: ,\n extensions: [\"sql\"],\n },\n {\n icon: ,\n extensions: [\"ttf\", \"otf\"],\n },\n {\n icon: ,\n extensions: [\"txt\"],\n },\n {\n icon: ,\n extensions: [\"zip\", \"rar\", \"tar\", \"gz\"],\n },\n {\n icon: ,\n extensions: [\"epub\", \"mobi\", \"azw\", \"azw3\"],\n },\n {\n icon: ,\n extensions: [\"jpeg\", \"jpg\", \"gif\", \"tiff\", \"png\", \"heic\", \"dng\"],\n },\n];\n\nexport const displayFileIconName = (\n element: string,\n returnOnlyIcon: boolean = false\n) => {\n let elementString = element;\n let icon = ;\n // Element is a folder\n if (element.endsWith(\"/\")) {\n icon = ;\n elementString = element.substr(0, element.length - 1);\n }\n\n const lowercaseElement = element.toLowerCase();\n for (const etc of extensionToIcon) {\n for (const ext of etc.extensions) {\n if (lowercaseElement.endsWith(`.${ext}`)) {\n icon = etc.icon;\n }\n }\n }\n\n if (!element.endsWith(\"/\") && element.indexOf(\".\") < 0) {\n icon = ;\n }\n\n const splitItem = elementString.split(\"/\");\n\n if (returnOnlyIcon) {\n return icon;\n }\n\n return ;\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState, Fragment } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Box, Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setModalErrorSnackMessage } from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport api from \"../../../../../../common/api\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { TagsIcon } from \"../../../../../../icons\";\nimport { IFileInfo } from \"./types\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport { SecureComponent } from \"../../../../../../common/SecureComponent\";\nimport Chip from \"@mui/material/Chip\";\nimport CloseIcon from \"@mui/icons-material/Close\";\n\ninterface ITagModal {\n modalOpen: boolean;\n bucketName: string;\n actualInfo: IFileInfo;\n onCloseAndUpdate: (refresh: boolean) => void;\n distributedSetup: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n pathLabel: {\n marginTop: 0,\n marginBottom: 32,\n },\n newTileHeader: {\n fontSize: 18,\n fontWeight: \"bold\",\n color: \"#000\",\n margin: \"20px 0\",\n paddingBottom: 15,\n borderBottom: \"#E2E2E2 2px solid\",\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\nconst AddTagModal = ({\n modalOpen,\n onCloseAndUpdate,\n bucketName,\n distributedSetup,\n actualInfo,\n setModalErrorSnackMessage,\n classes,\n}: ITagModal) => {\n const [newKey, setNewKey] = useState(\"\");\n const [newLabel, setNewLabel] = useState(\"\");\n const [isSending, setIsSending] = useState(false);\n const [deleteEnabled, setDeleteEnabled] = useState(false);\n const [deleteKey, setDeleteKey] = useState(\"\");\n const [deleteLabel, setDeleteLabel] = useState(\"\");\n\n const selectedObject = encodeFileName(actualInfo.name);\n const currentTags = actualInfo.tags;\n const currTagKeys = Object.keys(currentTags || {});\n\n const allPathData = actualInfo.name.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n const resetForm = () => {\n setNewLabel(\"\");\n setNewKey(\"\");\n };\n\n const addTagProcess = () => {\n setIsSending(true);\n const newTag: any = {};\n\n newTag[newKey] = newLabel;\n const newTagList = { ...currentTags, ...newTag };\n\n const verID = distributedSetup ? actualInfo.version_id : \"null\";\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${selectedObject}&version_id=${verID}`,\n { tags: newTagList }\n )\n .then((res: any) => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n const deleteTagProcess = () => {\n const cleanObject: any = { ...currentTags };\n delete cleanObject[deleteKey];\n\n const verID = distributedSetup ? actualInfo.version_id : \"null\";\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/tags?prefix=${selectedObject}&version_id=${verID}`,\n { tags: cleanObject }\n )\n .then((res: any) => {\n onCloseAndUpdate(true);\n setIsSending(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setIsSending(false);\n });\n };\n\n const onDeleteTag = (tagKey: string, tag: string) => {\n setDeleteKey(tagKey);\n setDeleteLabel(tag);\n setDeleteEnabled(true);\n };\n\n const cancelDelete = () => {\n setDeleteKey(\"\");\n setDeleteLabel(\"\");\n setDeleteEnabled(false);\n };\n\n return (\n \n {\n onCloseAndUpdate(true);\n }}\n titleIcon={}\n >\n {deleteEnabled ? (\n \n \n Are you sure you want to delete the tag{\" \"}\n \n {deleteKey} : {deleteLabel}\n {\" \"}\n from {currentItem}?\n \n \n No\n \n \n Yes\n \n \n \n \n ) : (\n \n \n \n Current Tags:\n {currTagKeys.length === 0 ? \"No Tags for this object\" : \"\"}\n \n {currTagKeys.map((tagKey: string, index: number) => {\n const tag = get(currentTags, `${tagKey}`, \"\");\n if (tag !== \"\") {\n return (\n \n }\n onDelete={() => {\n onDeleteTag(tagKey, tag);\n }}\n />\n \n );\n }\n return null;\n })}\n \n \n \n \n \n \n Add New Tag\n \n \n {\n setNewKey(e.target.value);\n }}\n />\n \n \n {\n setNewLabel(e.target.value);\n }}\n />\n \n \n \n Clear\n \n \n Save new Tag\n \n \n \n \n \n )}\n \n \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddTagModal));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport {\n decodeFileName,\n deleteCookie,\n getCookieValue,\n performDownload,\n} from \"../../../../../../common/utils\";\nimport FormSwitchWrapper from \"../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport Button from \"@mui/material/Button\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { PasswordKeyIcon } from \"../../../../../../icons\";\nimport { Box, DialogContentText } from \"@mui/material\";\nimport KeyRevealer from \"../../../../Tools/KeyRevealer\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\n\ninterface IInspectObjectProps {\n classes: any;\n closeInspectModalAndRefresh: (refresh: boolean) => void;\n inspectOpen: boolean;\n inspectPath: string;\n volumeName: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst InspectObject = ({\n classes,\n closeInspectModalAndRefresh,\n inspectOpen,\n inspectPath,\n volumeName,\n setErrorSnackMessage,\n}: IInspectObjectProps) => {\n const onClose = () => closeInspectModalAndRefresh(false);\n const [isEncrypt, setIsEncrypt] = useState(true);\n const [decryptionKey, setDecryptionKey] = useState(\"\");\n const [insFileName, setInsFileName] = useState(\"\");\n\n if (!inspectPath) {\n return null;\n }\n const makeRequest = async (url: string) => {\n return await fetch(url, { method: \"GET\" });\n };\n\n const performInspect = async () => {\n const file = encodeURIComponent(inspectPath + \"/xl.meta\");\n const volume = encodeURIComponent(volumeName);\n\n const urlOfInspectApi = `/api/v1/admin/inspect?volume=${volume}&file=${file}&encrypt=${isEncrypt}`;\n\n makeRequest(urlOfInspectApi)\n .then(async (res) => {\n if (!res.ok) {\n const resErr: any = await res.json();\n\n setErrorSnackMessage({\n errorMessage: resErr.message,\n detailedError: resErr.code,\n });\n }\n const blob: Blob = await res.blob();\n\n //@ts-ignore\n const filename = res.headers.get(\"content-disposition\").split('\"')[1];\n const decryptKey = getCookieValue(filename) || \"\";\n\n performDownload(blob, filename);\n setInsFileName(filename);\n if (decryptKey === \"\") {\n onClose();\n return;\n }\n setDecryptionKey(decryptKey);\n })\n .catch((err) => {\n setErrorSnackMessage(err);\n });\n };\n\n const onCloseDecKeyModal = () => {\n deleteCookie(insFileName);\n onClose();\n setDecryptionKey(\"\");\n };\n\n const onSubmit = (e: React.FormEvent) => {\n e.preventDefault();\n };\n\n return (\n \n {!decryptionKey && (\n }\n title={`Inspect Object`}\n onClose={onClose}\n >\n ) => {\n onSubmit(e);\n }}\n >\n Would you like to encrypt {decodeFileName(inspectPath)}?{\" \"}\n
    \n {\n setIsEncrypt(!isEncrypt);\n }}\n description=\"\"\n />\n \n \n Inspect\n \n \n \n \n )}\n {decryptionKey ? (\n }\n >\n \n \n This will be displayed only once. It cannot be recovered.\n
    \n Use secure medium to share this key.\n
    \n \n \n \n
    \n \n ) : null}\n
    \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(InspectObject));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Box, Button, LinearProgress } from \"@mui/material\";\nimport { withStyles } from \"@mui/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n actionsTray,\n buttonsStyles,\n spacingUtils,\n textStyleUtils,\n detailsPanel,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"../ObjectDetails/types\";\nimport { download, extensionPreview } from \"../utils\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport {\n decodeFileName,\n encodeFileName,\n niceBytes,\n niceBytesInt,\n niceDaysInt,\n} from \"../../../../../../common/utils\";\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n completeObject,\n setLoadingObjectInfo,\n setLoadingVersions,\n setNewObject,\n setSelectedVersion,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport { AppState } from \"../../../../../../store\";\nimport {\n LegalHoldIcon,\n MetadataIcon,\n ObjectInfoIcon,\n PreviewIcon,\n RetentionIcon,\n TagsIcon,\n VersionsIcon,\n} from \"../../../../../../icons\";\nimport { InspectMenuIcon } from \"../../../../../../icons/SidebarMenus\";\nimport { ShareIcon, DownloadIcon, DeleteIcon } from \"../../../../../../icons\";\nimport api from \"../../../../../../common/api\";\nimport ShareFile from \"../ObjectDetails/ShareFile\";\nimport SetRetention from \"../ObjectDetails/SetRetention\";\nimport DeleteObject from \"../ListObjects/DeleteObject\";\nimport SetLegalHoldModal from \"../ObjectDetails/SetLegalHoldModal\";\nimport {\n hasPermission,\n SecureComponent,\n} from \"../../../../../../common/SecureComponent\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport ObjectMetaData from \"../ObjectDetails/ObjectMetaData\";\nimport ActionsListSection from \"./ActionsListSection\";\nimport { displayFileIconName } from \"./utils\";\nimport TagsModal from \"../ObjectDetails/TagsModal\";\nimport InspectObject from \"./InspectObject\";\n\nconst styles = () =>\n createStyles({\n ObjectDetailsTitle: {\n display: \"flex\",\n alignItems: \"center\",\n },\n objectNameContainer: {\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n alignItems: \"center\",\n marginLeft: 10,\n },\n headerForSection: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n paddingBottom: 15,\n borderBottom: \"#E2E2E2 2px solid\",\n fontWeight: \"bold\",\n fontSize: 18,\n color: \"#000\",\n margin: \"20px 22px\",\n },\n capitalizeFirst: {\n textTransform: \"capitalize\",\n },\n ...buttonsStyles,\n ...actionsTray,\n ...spacingUtils,\n ...textStyleUtils,\n ...detailsPanel,\n });\n\ninterface IObjectDetailPanelProps {\n classes: any;\n internalPaths: string;\n bucketName: string;\n rewindEnabled: boolean;\n rewindDate: any;\n bucketToRewind: string;\n distributedSetup: boolean;\n versioning: boolean;\n versionsMode: boolean;\n selectedVersion: string;\n loadingObjectInfo: boolean;\n onClosePanel: (hardRefresh: boolean) => void;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n setVersionsModeEnabled: typeof setVersionsModeEnabled;\n setLoadingObjectInfo: typeof setLoadingObjectInfo;\n setLoadingVersions: typeof setLoadingVersions;\n setSelectedVersion: typeof setSelectedVersion;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst ObjectDetailPanel = ({\n classes,\n internalPaths,\n bucketName,\n distributedSetup,\n versioning,\n setErrorSnackMessage,\n setNewObject,\n updateProgress,\n completeObject,\n versionsMode,\n selectedVersion,\n onClosePanel,\n setVersionsModeEnabled,\n loadingObjectInfo,\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n}: IObjectDetailPanelProps) => {\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [retentionModalOpen, setRetentionModalOpen] = useState(false);\n const [tagModalOpen, setTagModalOpen] = useState(false);\n const [legalholdOpen, setLegalholdOpen] = useState(false);\n const [inspectModalOpen, setInspectModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [allInfoElements, setAllInfoElements] = useState([]);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [totalVersionsSize, setTotalVersionsSize] = useState(0);\n\n const internalPathsDecoded = decodeFileName(internalPaths) || \"\";\n const allPathData = internalPathsDecoded.split(\"/\");\n const currentItem = allPathData.pop() || \"\";\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (bucketName !== \"\" && internalPaths) {\n setLoadingObjectInfo(true);\n }\n }, [internalPaths, bucketName, setLoadingObjectInfo]);\n\n useEffect(() => {\n if (distributedSetup && allInfoElements.length >= 1) {\n let infoElement =\n allInfoElements.find((el: IFileInfo) => el.is_latest) || emptyFile;\n\n if (selectedVersion !== \"\") {\n infoElement =\n allInfoElements.find(\n (el: IFileInfo) => el.version_id === selectedVersion\n ) || emptyFile;\n }\n\n setActualInfo(infoElement);\n }\n }, [selectedVersion, distributedSetup, allInfoElements]);\n\n useEffect(() => {\n if (loadingObjectInfo && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setAllInfoElements(result);\n setVersions(result);\n const tVersionSize = result.reduce(\n (acc: number, currValue: IFileInfo) => {\n if (currValue?.size) {\n return acc + currValue.size;\n }\n return acc;\n },\n 0\n );\n\n setTotalVersionsSize(tVersionSize);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n setLoadingObjectInfo(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setLoadingObjectInfo(false);\n });\n }\n }, [\n loadingObjectInfo,\n bucketName,\n internalPaths,\n setErrorSnackMessage,\n distributedSetup,\n selectedVersion,\n setLoadingObjectInfo,\n ]);\n\n let tagKeys: string[] = [];\n\n if (actualInfo && actualInfo.tags) {\n tagKeys = Object.keys(actualInfo.tags);\n }\n\n const openRetentionModal = () => {\n setRetentionModalOpen(true);\n };\n\n const closeRetentionModal = (updateInfo: boolean) => {\n setRetentionModalOpen(false);\n if (updateInfo) {\n setLoadingObjectInfo(true);\n }\n };\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const closeDeleteModal = (closeAndReload: boolean) => {\n setDeleteOpen(false);\n\n if (closeAndReload && selectedVersion === \"\") {\n onClosePanel(true);\n } else {\n setLoadingVersions(true);\n setSelectedVersion(\"\");\n setLoadingObjectInfo(true);\n }\n };\n\n const closeAddTagModal = (reloadObjectData: boolean) => {\n setTagModalOpen(false);\n if (reloadObjectData) {\n setLoadingObjectInfo(true);\n }\n };\n\n const closeInspectModal = (reloadObjectData: boolean) => {\n setInspectModalOpen(false);\n if (reloadObjectData) {\n setLoadingObjectInfo(true);\n }\n };\n\n const closeLegalholdModal = (reload: boolean) => {\n setLegalholdOpen(false);\n if (reload) {\n setLoadingObjectInfo(true);\n }\n };\n\n if (!actualInfo) {\n return null;\n }\n\n const objectName =\n objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name;\n\n const multiActionButtons = [\n {\n action: () => {\n downloadObject(actualInfo);\n },\n label: \"Download\",\n disabled: !!actualInfo.is_delete_marker,\n icon: ,\n tooltip: \"Download this Object\",\n },\n {\n action: () => {\n shareObject();\n },\n label: \"Share\",\n disabled: !!actualInfo.is_delete_marker,\n icon: ,\n tooltip: \"Share this File\",\n },\n {\n action: () => {\n setPreviewOpen(true);\n },\n label: \"Preview\",\n disabled:\n !!actualInfo.is_delete_marker ||\n extensionPreview(currentItem) === \"none\",\n icon: ,\n tooltip: \"Preview this File\",\n },\n {\n action: () => {\n setLegalholdOpen(true);\n },\n label: \"Legal Hold\",\n disabled:\n !!actualInfo.is_delete_marker ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT_LEGAL_HOLD]) ||\n selectedVersion !== \"\",\n icon: ,\n tooltip: \"Change Legal Hold rules for this File\",\n },\n {\n action: openRetentionModal,\n label: \"Retention\",\n disabled:\n !!actualInfo.is_delete_marker ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_GET_OBJECT_RETENTION]) ||\n selectedVersion !== \"\",\n icon: ,\n tooltip: \"Change Retention rules for this File\",\n },\n {\n action: () => {\n setTagModalOpen(true);\n },\n label: \"Tags\",\n disabled: !!actualInfo.is_delete_marker || selectedVersion !== \"\",\n icon: ,\n tooltip: \"Change Tags for this File\",\n },\n {\n action: () => {\n setInspectModalOpen(true);\n },\n label: \"Inspect\",\n disabled: !!actualInfo.is_delete_marker || selectedVersion !== \"\",\n icon: ,\n tooltip: \"Inspect this file\",\n },\n {\n action: () => {\n setVersionsModeEnabled(!versionsMode, objectName);\n },\n label: versionsMode ? \"Hide Object Versions\" : \"Display Object Versions\",\n icon: ,\n disabled: !(actualInfo.version_id && actualInfo.version_id !== \"null\"),\n tooltip: \"Display Versions for this file\",\n },\n ];\n\n const calculateLastModifyTime = (lastModified: string) => {\n const currentTime = new Date();\n const modifiedTime = new Date(lastModified);\n\n const difTime = currentTime.getTime() - modifiedTime.getTime();\n\n const formatTime = niceDaysInt(difTime, \"ms\");\n\n return formatTime.trim() !== \"\" ? `${formatTime} ago` : \"Just now\";\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {retentionModalOpen && actualInfo && (\n \n )}\n {deleteOpen && (\n \n )}\n {legalholdOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {tagModalOpen && actualInfo && (\n \n )}\n {inspectModalOpen && actualInfo && (\n \n )}\n\n {!actualInfo && (\n \n \n \n )}\n\n \n {displayFileIconName(objectName, true)}\n {objectName}\n \n }\n items={multiActionButtons}\n />\n\n \n \n }\n color=\"secondary\"\n variant={\"outlined\"}\n onClick={() => {\n setDeleteOpen(true);\n }}\n disabled={selectedVersion === \"\" && actualInfo.is_delete_marker}\n sx={{\n width: \"calc(100% - 44px)\",\n margin: \"8px 0\",\n \"& svg.min-icon\": {\n width: 14,\n height: 14,\n },\n }}\n >\n Delete{selectedVersion !== \"\" ? \" version\" : \"\"}\n \n \n \n \n Object Info\n \n \n \n Name:\n
    \n {objectName}\n
    \n {selectedVersion !== \"\" && (\n \n Version ID:\n
    \n {selectedVersion}\n
    \n )}\n \n Size:\n
    \n {niceBytes(actualInfo.size || \"0\")}\n
    \n {actualInfo.version_id &&\n actualInfo.version_id !== \"null\" &&\n selectedVersion === \"\" && (\n \n Versions:\n
    \n {versions.length} version{versions.length !== 1 ? \"s\" : \"\"},{\" \"}\n {niceBytesInt(totalVersionsSize)}\n
    \n )}\n {selectedVersion === \"\" && (\n \n Last Modified:\n
    \n {calculateLastModifyTime(actualInfo.last_modified)}\n
    \n )}\n \n ETAG:\n
    \n {actualInfo.etag || \"N/A\"}\n
    \n \n Tags:\n
    \n {tagKeys.length === 0\n ? \"N/A\"\n : tagKeys.map((tagKey, index) => {\n return (\n \n {tagKey}:{get(actualInfo, `tags.${tagKey}`, \"\")}\n {index < tagKeys.length - 1 ? \", \" : \"\"}\n \n );\n })}\n
    \n \n \n \n Legal Hold:\n
    \n {actualInfo.legal_hold_status ? \"On\" : \"Off\"}\n
    \n \n
    \n \n \n \n Retention Policy:\n
    \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" ? (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n ) : (\n \n {actualInfo.retention_mode\n ? actualInfo.retention_mode.toLowerCase()\n : \"None\"}\n \n )}\n \n
    \n \n
    \n \n Metadata\n \n \n \n {actualInfo ? (\n \n ) : null}\n \n
    \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, system }: AppState) => ({\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n distributedSetup: get(system, \"distributedSetup\", false),\n versionsMode: get(objectBrowser, \"versionsMode\", false),\n selectedVersion: get(objectBrowser, \"selectedVersion\", \"\"),\n loadingObjectInfo: get(objectBrowser, \"loadingObjectInfo\", false),\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n setSnackBarMessage,\n setNewObject,\n updateProgress,\n completeObject,\n setVersionsModeEnabled,\n setLoadingObjectInfo,\n setLoadingVersions,\n setSelectedVersion,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(ObjectDetailPanel));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport * as reactMoment from \"react-moment\";\nimport { BucketObject } from \"./types\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport { displayFileIconName } from \"./utils\";\n\n// Functions\n\nexport const displayParsedDate = (object: BucketObject) => {\n if (object.name.endsWith(\"/\")) {\n return \"\";\n }\n return {object.last_modified};\n};\n\nexport const displayNiceBytes = (object: BucketObject) => {\n if (object.name.endsWith(\"/\") || !object.size) {\n return \"-\";\n }\n return niceBytes(String(object.size));\n};\n\nexport const displayDeleteFlag = (state: boolean) => {\n return state ? \"Yes\" : \"No\";\n};\n\n// Table Props\n\nexport const listModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Last Modified\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 60,\n contentTextAlign: \"center\",\n enableSort: true,\n },\n];\n\nexport const rewindModeColumns = [\n {\n label: \"Name\",\n elementKey: \"name\",\n renderFunction: displayFileIconName,\n enableSort: true,\n },\n {\n label: \"Object Date\",\n elementKey: \"last_modified\",\n renderFunction: displayParsedDate,\n renderFullObject: true,\n enableSort: true,\n },\n {\n label: \"Size\",\n elementKey: \"size\",\n renderFunction: displayNiceBytes,\n renderFullObject: true,\n width: 60,\n contentTextAlign: \"center\",\n enableSort: true,\n },\n {\n label: \"Deleted\",\n elementKey: \"delete_flag\",\n renderFunction: displayDeleteFlag,\n width: 60,\n contentTextAlign: \"center\",\n },\n];\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport { DialogContentText } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { modalBasic } from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport api from \"../../../../../../common/api\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport RecoverIcon from \"../../../../../../icons/RecoverIcon\";\n\ninterface IRestoreFileVersion {\n classes: any;\n restoreOpen: boolean;\n bucketName: string;\n versionID: string;\n objectPath: string;\n onCloseAndUpdate: (refresh: boolean) => void;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n });\n\nconst RestoreFileVersion = ({\n classes,\n versionID,\n bucketName,\n objectPath,\n restoreOpen,\n onCloseAndUpdate,\n}: IRestoreFileVersion) => {\n const [restoreLoading, setRestoreLoading] = useState(false);\n\n const restoreVersion = () => {\n setRestoreLoading(true);\n\n api\n .invoke(\n \"PUT\",\n `/api/v1/buckets/${bucketName}/objects/restore?prefix=${encodeFileName(\n objectPath\n )}&version_id=${versionID}`\n )\n .then((res: any) => {\n setRestoreLoading(false);\n onCloseAndUpdate(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setRestoreLoading(false);\n });\n };\n\n return (\n }\n onConfirm={restoreVersion}\n confirmButtonProps={{\n color: \"secondary\",\n variant: \"outlined\",\n disabled: restoreLoading,\n }}\n onClose={() => {\n onCloseAndUpdate(false);\n }}\n confirmationContent={\n \n Are you sure you want to restore
    \n {objectPath}
    with Version ID:\n
    \n {versionID}?\n
    \n }\n />\n );\n};\n\nconst mapStateToProps = null;\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(RestoreFileVersion));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\n\ninterface ISpecificVersionPillProps {\n type: \"null\" | \"current\" | \"deleted\";\n}\n\nconst SpecificVersionPill = ({ type }: ISpecificVersionPillProps) => {\n let bgColor = \"#000\";\n let message = \"\";\n\n switch (type) {\n case \"null\":\n bgColor = \"#07193E\";\n message = \"NULL VERSION\";\n break;\n case \"deleted\":\n bgColor = \"#868686\";\n message = \"DELETED\";\n break;\n default:\n bgColor = \"#174551\";\n message = \"CURRENT VERSION\";\n }\n\n return (\n \n {message}\n
    \n );\n};\n\nexport default SpecificVersionPill;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport * as reactMoment from \"react-moment\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { withStyles } from \"@mui/styles\";\nimport { displayFileIconName } from \"../ListObjects/utils\";\nimport { IFileInfo } from \"./types\";\nimport { IconButton, Tooltip } from \"@mui/material\";\nimport {\n DownloadIcon,\n PreviewIcon,\n RecoverIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport { niceBytes } from \"../../../../../../common/utils\";\nimport SpecificVersionPill from \"./SpecificVersionPill\";\n\ninterface IFileVersionItem {\n fileName: string;\n versionInfo: IFileInfo;\n index: number;\n isSelected?: boolean;\n onShare: (versionInfo: IFileInfo) => void;\n onDownload: (versionInfo: IFileInfo) => void;\n onRestore: (versionInfo: IFileInfo) => void;\n onPreview: (versionInfo: IFileInfo) => void;\n globalClick: (versionInfo: IFileInfo) => void;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n mainFileVersionItem: {\n borderBottom: \"#E2E2E2 1px solid\",\n padding: \"1rem 0\",\n margin: \"0 0.5rem 0 2.5rem\",\n cursor: \"pointer\",\n \"&.deleted\": {\n color: \"#868686\",\n },\n },\n intermediateLayer: {\n margin: \"0 1.5rem 0 1.5rem\",\n \"&:hover, &.selected\": {\n backgroundColor: \"#F8F8F8\",\n \"& > div\": {\n borderBottomColor: \"#F8F8F8\",\n },\n },\n },\n versionContainer: {\n fontSize: 16,\n fontWeight: \"bold\",\n display: \"flex\",\n alignItems: \"center\",\n \"& svg.min-icon\": {\n width: 18,\n height: 18,\n minWidth: 18,\n minHeight: 18,\n marginRight: 10,\n },\n },\n buttonContainer: {\n textAlign: \"right\",\n \"& button\": {\n marginLeft: \"1.5rem\",\n },\n },\n versionID: {\n fontSize: \"12px\",\n margin: \"2px 0\",\n },\n versionData: {\n marginRight: \"10px\",\n fontSize: 12,\n color: \"#868686\",\n },\n ctrItem: {\n position: \"relative\",\n \"&::before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n height: \"calc(100% + 2px)\",\n backgroundColor: \"#F8F8F8\",\n left: \"24px\",\n },\n },\n });\n\nconst FileVersionItem = ({\n classes,\n fileName,\n versionInfo,\n isSelected,\n onShare,\n onDownload,\n onRestore,\n onPreview,\n globalClick,\n index,\n}: IFileVersionItem) => {\n const disableButtons = versionInfo.is_delete_marker;\n\n const versionItemButtons = [\n {\n icon: ,\n action: onPreview,\n tooltip: \"Preview\",\n },\n {\n icon: ,\n action: onDownload,\n tooltip: \"Download this version\",\n },\n {\n icon: ,\n action: onShare,\n tooltip: \"Share this version\",\n },\n {\n icon: ,\n action: onRestore,\n tooltip: \"Restore this version\",\n },\n ];\n\n let pill: \"deleted\" | \"current\" | \"null\" | null = null;\n\n if (versionInfo.is_delete_marker) {\n pill = \"deleted\";\n } else if (versionInfo.is_latest) {\n pill = \"current\";\n } else if (versionInfo.version_id === \"null\") {\n pill = \"null\";\n }\n\n return (\n {\n globalClick(versionInfo);\n }}\n >\n \n \n \n \n \n {displayFileIconName(fileName, true)} v{index.toString()}\n {pill && }\n \n \n {versionItemButtons.map((button, index) => {\n return (\n \n {\n e.stopPropagation();\n if (!disableButtons) {\n button.action(versionInfo);\n } else {\n e.preventDefault();\n }\n }}\n sx={{\n backgroundColor: \"#F8F8F8\",\n borderRadius: \"100%\",\n width: \"28px\",\n height: \"28px\",\n padding: \"5px\",\n \"& .min-icon\": {\n width: \"14px\",\n height: \"14px\",\n },\n }}\n >\n {button.icon}\n \n \n );\n })}\n \n \n \n \n {versionInfo.version_id !== \"null\" ? versionInfo.version_id : \"-\"}\n \n \n \n Last modified:{\" \"}\n \n {versionInfo.last_modified}\n \n \n \n Size: {niceBytes(versionInfo.size || \"0\")}\n \n \n \n \n \n );\n};\n\nexport default withStyles(styles)(FileVersionItem);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { setErrorSnackMessage } from \"../../../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport { decodeFileName } from \"../../../../../../common/utils\";\nimport { ConfirmDeleteIcon } from \"../../../../../../icons\";\nimport ConfirmDialog from \"../../../../Common/ModalWrapper/ConfirmDialog\";\nimport api from \"../../../../../../common/api\";\nimport InputBoxWrapper from \"../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\n\ninterface IDeleteNonCurrentProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedObject: string;\n selectedBucket: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteNonCurrentVersions = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedBucket,\n selectedObject,\n setErrorSnackMessage,\n}: IDeleteNonCurrentProps) => {\n const [deleteLoading, setDeleteLoading] = useState(false);\n const [typeConfirm, setTypeConfirm] = useState(\"\");\n\n useEffect(() => {\n if (deleteLoading) {\n api\n .invoke(\n \"DELETE\",\n `/api/v1/buckets/${selectedBucket}/objects?path=${selectedObject}&non_current_versions=true`\n )\n .then(() => {\n closeDeleteModalAndRefresh(true);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setDeleteLoading(false);\n });\n }\n }, [\n deleteLoading,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n selectedObject,\n selectedBucket,\n ]);\n\n if (!selectedObject) {\n return null;\n }\n const onConfirmDelete = () => {\n setDeleteLoading(true);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={() => closeDeleteModalAndRefresh(false)}\n confirmButtonProps={{\n disabled: typeConfirm !== \"YES, PROCEED\" || deleteLoading,\n }}\n confirmationContent={\n \n Are you sure you want to delete all the non-current versions for:{\" \"}\n {decodeFileName(selectedObject)}?
    \n
    \n To continue please type YES, PROCEED in the box.\n \n ) => {\n setTypeConfirm(event.target.value);\n }}\n label=\"\"\n value={typeConfirm}\n />\n \n
    \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteNonCurrentVersions);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { withStyles } from \"@mui/styles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport ShareFile from \"./ShareFile\";\nimport {\n actionsTray,\n buttonsStyles,\n containerForHeader,\n hrClass,\n tableStyles,\n spacingUtils,\n textStyleUtils,\n objectBrowserExtras,\n objectBrowserCommon,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { IFileInfo } from \"./types\";\nimport { download } from \"../utils\";\nimport api from \"../../../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport { encodeFileName, niceBytesInt } from \"../../../../../../common/utils\";\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\nimport RestoreFileVersion from \"./RestoreFileVersion\";\nimport {\n completeObject,\n setLoadingObjectInfo,\n setLoadingVersions,\n setNewObject,\n setSelectedVersion,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\n\nimport { AppState } from \"../../../../../../store\";\nimport { DeleteNonCurrentIcon, VersionsIcon } from \"../../../../../../icons\";\nimport VirtualizedList from \"../../../../Common/VirtualizedList/VirtualizedList\";\nimport FileVersionItem from \"./FileVersionItem\";\nimport SelectWrapper from \"../../../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport PreviewFileModal from \"../Preview/PreviewFileModal\";\nimport RBIconButton from \"../../../BucketDetails/SummaryItems/RBIconButton\";\nimport DeleteNonCurrent from \"../ListObjects/DeleteNonCurrent\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n versionsContainer: {\n border: \"#EAEDEE 1px solid\",\n padding: 10,\n },\n noBottomBorder: {\n borderBottom: 0,\n },\n versionsVirtualPanel: {\n flexGrow: 1,\n height: \"calc(100% - 120px)\",\n overflow: \"auto\",\n },\n screenTitleContainer: {\n position: \"relative\",\n \"&::before\": {\n content: \"' '\",\n display: \"block\",\n position: \"absolute\",\n width: \"2px\",\n backgroundColor: \"#F8F8F8\",\n left: \"24px\",\n height: \"52px\",\n bottom: 0,\n },\n },\n sortByLabel: {\n color: \"#838383\",\n fontWeight: \"bold\",\n whiteSpace: \"nowrap\",\n marginRight: 12,\n fontSize: 14,\n },\n ...hrClass,\n ...buttonsStyles,\n ...actionsTray,\n ...tableStyles,\n ...spacingUtils,\n ...textStyleUtils,\n ...objectBrowserCommon,\n ...objectBrowserExtras,\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IVersionsNavigatorProps {\n classes: any;\n distributedSetup: boolean;\n internalPaths: string;\n bucketName: string;\n searchVersions: string;\n loadingVersions: boolean;\n selectedVersion: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n setSelectedVersion: typeof setSelectedVersion;\n setLoadingVersions: typeof setLoadingVersions;\n setLoadingObjectInfo: typeof setLoadingObjectInfo;\n}\n\nconst emptyFile: IFileInfo = {\n is_latest: true,\n last_modified: \"\",\n legal_hold_status: \"\",\n name: \"\",\n retention_mode: \"\",\n retention_until_date: \"\",\n size: \"0\",\n tags: {},\n version_id: null,\n};\n\nconst VersionsNavigator = ({\n classes,\n distributedSetup,\n setErrorSnackMessage,\n setNewObject,\n updateProgress,\n searchVersions,\n loadingVersions,\n selectedVersion,\n completeObject,\n internalPaths,\n bucketName,\n setSelectedVersion,\n setLoadingVersions,\n setLoadingObjectInfo,\n}: IVersionsNavigatorProps) => {\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [actualInfo, setActualInfo] = useState(null);\n const [objectToShare, setObjectToShare] = useState(null);\n const [versions, setVersions] = useState([]);\n const [restoreVersionOpen, setRestoreVersionOpen] = useState(false);\n const [restoreVersion, setRestoreVersion] = useState(\"\");\n const [sortValue, setSortValue] = useState(\"date\");\n const [previewOpen, setPreviewOpen] = useState(false);\n const [deleteNonCurrentOpen, setDeleteNonCurrentOpen] =\n useState(false);\n\n // calculate object name to display\n let objectNameArray: string[] = [];\n if (actualInfo) {\n objectNameArray = actualInfo.name.split(\"/\");\n }\n\n useEffect(() => {\n if (loadingVersions && internalPaths !== \"\") {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${internalPaths}${\n distributedSetup ? \"&with_versions=true\" : \"\"\n }`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n if (distributedSetup) {\n setActualInfo(\n result.find((el: IFileInfo) => el.is_latest) || emptyFile\n );\n setVersions(result);\n } else {\n setActualInfo(result[0]);\n setVersions([]);\n }\n\n setLoadingVersions(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setErrorSnackMessage(error);\n setLoadingVersions(false);\n });\n }\n }, [\n setLoadingVersions,\n loadingVersions,\n bucketName,\n internalPaths,\n setErrorSnackMessage,\n distributedSetup,\n ]);\n\n const shareObject = () => {\n setShareFileModalOpen(true);\n };\n\n const closeShareModal = () => {\n setObjectToShare(null);\n setShareFileModalOpen(false);\n setPreviewOpen(false);\n };\n\n const downloadObject = (object: IFileInfo) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n internalPaths,\n object.version_id,\n parseInt(object.size || \"0\"),\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const onShareItem = (item: IFileInfo) => {\n setObjectToShare(item);\n shareObject();\n };\n\n const onPreviewItem = (item: IFileInfo) => {\n setObjectToShare(item);\n setPreviewOpen(true);\n };\n\n const onRestoreItem = (item: IFileInfo) => {\n setRestoreVersion(item.version_id || \"\");\n setRestoreVersionOpen(true);\n };\n\n const onDownloadItem = (item: IFileInfo) => {\n downloadObject(item);\n };\n\n const onGlobalClick = (item: IFileInfo) => {\n setSelectedVersion(item.version_id || \"\");\n };\n\n const filteredRecords = versions.filter((version) => {\n if (version.version_id) {\n return version.version_id.includes(searchVersions);\n }\n return false;\n });\n\n const closeRestoreModal = (reloadObjectData: boolean) => {\n setRestoreVersionOpen(false);\n setRestoreVersion(\"\");\n\n if (reloadObjectData) {\n setLoadingVersions(true);\n setLoadingObjectInfo(true);\n }\n };\n\n const closeDeleteNonCurrent = (reloadAfterDelete: boolean) => {\n setDeleteNonCurrentOpen(false);\n\n if (reloadAfterDelete) {\n setLoadingVersions(true);\n setSelectedVersion(\"\");\n setLoadingObjectInfo(true);\n }\n };\n\n const totalSpace = versions.reduce((acc: number, currValue: IFileInfo) => {\n if (currValue.size) {\n return acc + parseInt(currValue.size);\n }\n return acc;\n }, 0);\n\n filteredRecords.sort((a, b) => {\n switch (sortValue) {\n case \"size\":\n if (a.size && b.size) {\n if (a.size < b.size) {\n return -1;\n }\n if (a.size > b.size) {\n return 1;\n }\n return 0;\n }\n return 0;\n default:\n const dateA = new Date(a.last_modified).getTime();\n const dateB = new Date(b.last_modified).getTime();\n\n if (dateA < dateB) {\n return 1;\n }\n if (dateA > dateB) {\n return -1;\n }\n return 0;\n }\n });\n\n const renderVersion = (elementIndex: number) => {\n const item = filteredRecords[elementIndex];\n const versOrd = versions.length - versions.indexOf(item);\n\n return (\n \n );\n };\n\n return (\n \n {shareFileModalOpen && actualInfo && (\n \n )}\n {restoreVersionOpen && actualInfo && (\n \n )}\n {previewOpen && actualInfo && (\n {\n setPreviewOpen(false);\n }}\n />\n )}\n {deleteNonCurrentOpen && (\n \n )}\n \n {!actualInfo && (\n \n \n \n )}\n\n {actualInfo && (\n \n \n \n \n \n }\n title={\n \n {objectNameArray.length > 0\n ? objectNameArray[objectNameArray.length - 1]\n : actualInfo.name}{\" \"}\n Versions\n \n }\n subTitle={\n \n \n \n \n {versions.length} Version\n {versions.length === 1 ? \"\" : \"s\"}   \n \n \n \n {niceBytesInt(totalSpace)}\n \n \n \n }\n actions={\n \n {\n setDeleteNonCurrentOpen(true);\n }}\n text={\"\"}\n icon={}\n color=\"secondary\"\n style={{ marginRight: 15 }}\n disabled={versions.length <= 1}\n />\n Sort by\n ) => {\n setSortValue(e.target.value as string);\n }}\n name={\"sort-by\"}\n options={[\n { label: \"Date\", value: \"date\" },\n {\n label: \"Size\",\n value: \"size\",\n },\n ]}\n />\n \n }\n className={classes.noBottomBorder}\n />\n \n \n {actualInfo.version_id && actualInfo.version_id !== \"null\" && (\n \n )}\n \n \n )}\n \n \n );\n};\n\nconst mapStateToProps = ({ system, objectBrowser }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n searchVersions: objectBrowser.searchVersions,\n loadingVersions: objectBrowser.loadingVersions,\n selectedVersion: objectBrowser.selectedVersion,\n});\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n setSnackBarMessage,\n setNewObject,\n updateProgress,\n completeObject,\n setSelectedVersion,\n setLoadingVersions,\n setLoadingObjectInfo,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(VersionsNavigator));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, {\n Fragment,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { connect } from \"react-redux\";\nimport { useDropzone } from \"react-dropzone\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { withRouter } from \"react-router-dom\";\nimport Grid from \"@mui/material/Grid\";\nimport get from \"lodash/get\";\nimport {\n BucketObject,\n BucketObjectsList,\n RewindObject,\n RewindObjectList,\n} from \"./types\";\nimport api from \"../../../../../../common/api\";\nimport TableWrapper, {\n ItemActions,\n} from \"../../../../Common/TableWrapper/TableWrapper\";\nimport {\n decodeFileName,\n encodeFileName,\n niceBytesInt,\n} from \"../../../../../../common/utils\";\n\nimport {\n actionsTray,\n containerForHeader,\n objectBrowserCommon,\n objectBrowserExtras,\n searchField,\n tableStyles,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\nimport { Badge, Typography } from \"@mui/material\";\nimport BrowserBreadcrumbs from \"../../../../ObjectBrowser/BrowserBreadcrumbs\";\nimport {\n completeObject,\n openList,\n resetRewind,\n setLoadingVersions,\n setNewObject,\n setSearchObjects,\n setShowDeletedObjects,\n setVersionsModeEnabled,\n updateProgress,\n} from \"../../../../ObjectBrowser/actions\";\nimport { Route } from \"../../../../ObjectBrowser/reducers\";\n\nimport { download, extensionPreview, sortListObjects } from \"../utils\";\nimport {\n setErrorSnackMessage,\n setSnackBarMessage,\n} from \"../../../../../../actions\";\nimport { BucketInfo, BucketQuota, BucketVersioning } from \"../../../types\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\n\nimport ScreenTitle from \"../../../../Common/ScreenTitle/ScreenTitle\";\n\nimport { setBucketDetailsLoad, setBucketInfo } from \"../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport PageLayout from \"../../../../Common/Layout/PageLayout\";\n\nimport { IAM_SCOPES } from \"../../../../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../../../Common/Components/withSuspense\";\nimport {\n BucketsIcon,\n DownloadIcon,\n PreviewIcon,\n ShareIcon,\n} from \"../../../../../../icons\";\nimport UploadFilesButton from \"../../UploadFilesButton\";\nimport DetailsListPanel from \"./DetailsListPanel\";\nimport ObjectDetailPanel from \"./ObjectDetailPanel\";\nimport RBIconButton from \"../../../BucketDetails/SummaryItems/RBIconButton\";\nimport ActionsListSection from \"./ActionsListSection\";\nimport { listModeColumns, rewindModeColumns } from \"./ListObjectsHelpers\";\nimport VersionsNavigator from \"../ObjectDetails/VersionsNavigator\";\nimport CheckboxWrapper from \"../../../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper\";\n\nconst HistoryIcon = React.lazy(\n () => import(\"../../../../../../icons/HistoryIcon\")\n);\nconst RefreshIcon = React.lazy(\n () => import(\"../../../../../../icons/RefreshIcon\")\n);\n\nconst DeleteIcon = React.lazy(\n () => import(\"../../../../../../icons/DeleteIcon\")\n);\n\nconst DeleteMultipleObjects = withSuspense(\n React.lazy(() => import(\"./DeleteMultipleObjects\"))\n);\nconst ShareFile = withSuspense(\n React.lazy(() => import(\"../ObjectDetails/ShareFile\"))\n);\nconst RewindEnable = withSuspense(React.lazy(() => import(\"./RewindEnable\")));\nconst PreviewFileModal = withSuspense(\n React.lazy(() => import(\"../Preview/PreviewFileModal\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n browsePaper: {\n height: \"calc(100vh - 210px)\",\n \"&.actionsPanelOpen\": {\n minHeight: \"100%\",\n },\n },\n \"@global\": {\n \".rowLine:hover .iconFileElm\": {\n backgroundImage: \"url(/images/ob_file_filled.svg)\",\n },\n \".rowLine:hover .iconFolderElm\": {\n backgroundImage: \"url(/images/ob_folder_filled.svg)\",\n },\n },\n\n badgeOverlap: {\n \"& .MuiBadge-badge\": {\n top: 10,\n right: 1,\n width: 5,\n height: 5,\n minWidth: 5,\n },\n },\n screenTitle: {\n borderBottom: 0,\n paddingTop: 0,\n paddingLeft: 0,\n paddingRight: 0,\n },\n ...tableStyles,\n ...actionsTray,\n ...searchField,\n\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n screenTitleContainer: {\n border: \"#EAEDEE 1px solid\",\n borderBottom: 0,\n padding: \"0.8rem 15px 0\",\n },\n labelStyle: {\n color: \"#969FA8\",\n fontSize: \"12px\",\n },\n ...objectBrowserExtras,\n ...objectBrowserCommon,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst baseDnDStyle = {\n borderWidth: 2,\n borderRadius: 2,\n borderColor: \"#eeeeee\",\n outline: \"none\",\n};\n\nconst activeDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#2196f3\",\n};\n\nconst acceptDnDStyle = {\n borderStyle: \"dashed\",\n backgroundColor: \"#fafafa\",\n borderColor: \"#00e676\",\n};\n\ninterface IListObjectsProps {\n classes: any;\n match: any;\n history: any;\n routesList: Route[];\n downloadingFiles: string[];\n rewindEnabled: boolean;\n rewindDate: any;\n bucketToRewind: string;\n searchObjects: string;\n showDeleted: boolean;\n setSnackBarMessage: typeof setSnackBarMessage;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n resetRewind: typeof resetRewind;\n loadingBucket: boolean;\n setBucketInfo: typeof setBucketInfo;\n bucketInfo: BucketInfo | null;\n versionsMode: boolean;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n setNewObject: typeof setNewObject;\n updateProgress: typeof updateProgress;\n completeObject: typeof completeObject;\n openList: typeof openList;\n setSearchObjects: typeof setSearchObjects;\n setVersionsModeEnabled: typeof setVersionsModeEnabled;\n setShowDeletedObjects: typeof setShowDeletedObjects;\n setLoadingVersions: typeof setLoadingVersions;\n}\n\nfunction useInterval(callback: any, delay: number) {\n const savedCallback = useRef(null);\n\n // Remember the latest callback.\n useEffect(() => {\n savedCallback.current = callback;\n }, [callback]);\n\n // Set up the interval.\n useEffect(() => {\n function tick() {\n if (savedCallback !== undefined && savedCallback.current) {\n savedCallback.current();\n }\n }\n\n if (delay !== null) {\n let id = setInterval(tick, delay);\n return () => clearInterval(id);\n }\n }, [delay]);\n}\n\nconst defLoading = Loading...;\n\nconst ListObjects = ({\n classes,\n match,\n history,\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n setSnackBarMessage,\n setErrorSnackMessage,\n resetRewind,\n setBucketDetailsLoad,\n loadingBucket,\n setBucketInfo,\n bucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n setSearchObjects,\n searchObjects,\n versionsMode,\n openList,\n setVersionsModeEnabled,\n showDeleted,\n setShowDeletedObjects,\n setLoadingVersions,\n}: IListObjectsProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(true);\n const [rewind, setRewind] = useState([]);\n const [loadingRewind, setLoadingRewind] = useState(false);\n const [deleteMultipleOpen, setDeleteMultipleOpen] = useState(false);\n const [loadingStartTime, setLoadingStartTime] = useState(0);\n const [loadingMessage, setLoadingMessage] =\n useState(defLoading);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [rewindSelect, setRewindSelect] = useState(false);\n const [selectedObjects, setSelectedObjects] = useState([]);\n const [previewOpen, setPreviewOpen] = useState(false);\n const [selectedPreview, setSelectedPreview] = useState(\n null\n );\n const [shareFileModalOpen, setShareFileModalOpen] = useState(false);\n const [sortDirection, setSortDirection] = useState<\n \"ASC\" | \"DESC\" | undefined\n >(\"ASC\");\n const [currentSortField, setCurrentSortField] = useState(\"name\");\n const [iniLoad, setIniLoad] = useState(false);\n const [canShareFile, setCanShareFile] = useState(false);\n const [canPreviewFile, setCanPreviewFile] = useState(false);\n const [detailsOpen, setDetailsOpen] = useState(false);\n const [selectedInternalPaths, setSelectedInternalPaths] = useState<\n string | null\n >(null);\n const [quota, setQuota] = useState(null);\n\n const internalPaths = get(match.params, \"subpaths\", \"\");\n const bucketName = match.params[\"bucketName\"];\n\n const fileUpload = useRef(null);\n const folderUpload = useRef(null);\n\n useEffect(() => {\n if (folderUpload.current !== null) {\n folderUpload.current.setAttribute(\"directory\", \"\");\n folderUpload.current.setAttribute(\"webkitdirectory\", \"\");\n }\n }, [folderUpload]);\n\n useEffect(() => {\n if (selectedObjects.length === 1) {\n const objectName = selectedObjects[0];\n\n if (extensionPreview(objectName) !== \"none\") {\n setCanPreviewFile(true);\n } else {\n setCanPreviewFile(false);\n }\n\n if (objectName.endsWith(\"/\")) {\n setCanShareFile(false);\n } else {\n setCanShareFile(true);\n }\n } else {\n setCanShareFile(false);\n setCanPreviewFile(false);\n }\n }, [selectedObjects]);\n\n useEffect(() => {\n if (!quota) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/quota`)\n .then((res: BucketQuota) => {\n let quotaVals = null;\n\n if (res.quota) {\n quotaVals = res;\n }\n\n setQuota(quotaVals);\n })\n .catch(() => {\n setQuota(null);\n });\n }\n }, [quota, bucketName]);\n\n useEffect(() => {\n if (selectedObjects.length > 0) {\n setDetailsOpen(true);\n return;\n }\n\n if (selectedObjects.length === 0 && selectedInternalPaths === null) {\n setDetailsOpen(false);\n }\n }, [selectedObjects, selectedInternalPaths]);\n\n const displayDeleteObject = hasPermission(bucketName, [\n IAM_SCOPES.S3_DELETE_OBJECT,\n ]);\n\n const displayListObjects = hasPermission(bucketName, [\n IAM_SCOPES.S3_LIST_BUCKET,\n ]);\n\n const updateMessage = () => {\n let timeDelta = Date.now() - loadingStartTime;\n\n if (timeDelta / 1000 >= 6) {\n setLoadingMessage(\n \n \n This operation is taking longer than expected... (\n {Math.ceil(timeDelta / 1000)}s)\n \n \n );\n } else if (timeDelta / 1000 >= 3) {\n setLoadingMessage(\n \n This operation is taking longer than expected...\n \n );\n }\n };\n\n useEffect(() => {\n if (!iniLoad) {\n setBucketDetailsLoad(true);\n setIniLoad(true);\n }\n }, [iniLoad, setBucketDetailsLoad, setIniLoad]);\n\n useInterval(() => {\n // Your custom logic here\n if (loading) {\n updateMessage();\n }\n }, 1000);\n\n useEffect(() => {\n if (loadingVersioning) {\n if (displayListObjects) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingVersioning(false);\n });\n } else {\n setLoadingVersioning(false);\n }\n }\n }, [bucketName, loadingVersioning, setErrorSnackMessage, displayListObjects]);\n\n // Rewind\n useEffect(() => {\n if (rewindEnabled) {\n if (bucketToRewind !== bucketName) {\n resetRewind();\n return;\n }\n\n if (rewindDate) {\n setLoadingRewind(true);\n const rewindParsed = rewindDate.toISOString();\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n setLoadingRewind(false);\n if (res.objects) {\n setRewind(res.objects);\n } else {\n setRewind([]);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setErrorSnackMessage(err);\n });\n }\n }\n }, [\n rewindEnabled,\n rewindDate,\n bucketToRewind,\n bucketName,\n match,\n setErrorSnackMessage,\n resetRewind,\n internalPaths,\n ]);\n\n useEffect(() => {\n setLoading(true);\n setDetailsOpen(false);\n setSearchObjects(\"\");\n }, [internalPaths, setSearchObjects]);\n\n useEffect(() => {\n if (loading) {\n if (displayListObjects) {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n let currentTimestamp = Date.now();\n setLoadingStartTime(currentTimestamp);\n setLoadingMessage(defLoading);\n\n let urlTake = `/api/v1/buckets/${bucketName}/objects`;\n\n if (showDeleted) {\n const currDate = new Date();\n const currDateISO = currDate.toISOString();\n\n urlTake = `/api/v1/buckets/${bucketName}/rewind/${currDateISO}`;\n }\n\n api\n .invoke(\n \"GET\",\n `${urlTake}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n const records: BucketObject[] = res.objects || [];\n const folders: BucketObject[] = [];\n const files: BucketObject[] = [];\n\n records.forEach((record) => {\n // this is a folder\n if (record.name.endsWith(\"/\")) {\n folders.push(record);\n } else {\n // this is a file\n files.push(record);\n }\n });\n const recordsInElement = [...folders, ...files];\n setRecords(recordsInElement);\n // In case no objects were retrieved, We check if item is a file\n if (!res.objects && pathPrefix !== \"\") {\n if (rewindEnabled) {\n const rewindParsed = rewindDate.toISOString();\n\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/rewind/${rewindParsed}${\n pathPrefix ? `?prefix=${encodeFileName(pathPrefix)}` : ``\n }`\n )\n .then((res: RewindObjectList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (res.objects === null) {\n //setFileModeEnabled(true);\n setLoadingRewind(false);\n setLoading(false);\n } else {\n // It is a folder, we remove loader\n setLoadingRewind(false);\n setLoading(false);\n //setFileModeEnabled(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingRewind(false);\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects${\n internalPaths ? `?prefix=${internalPaths}` : ``\n }`\n )\n .then((res: BucketObjectsList) => {\n //It is a file since it has elements in the object, setting file flag and waiting for component mount\n if (!res.objects) {\n // It is a folder, we remove loader\n //setFileModeEnabled(false);\n setLoading(false);\n } else {\n // This code prevents the program from opening a file when a substring of that file is entered as a new folder.\n // Previously, if there was a file test1.txt and the folder test was created with the same prefix, the program\n // would open test1.txt instead\n let found = false;\n let pathPrefixChopped = pathPrefix.slice(\n 0,\n pathPrefix.length - 1\n );\n for (let i = 0; i < res.objects.length; i++) {\n if (res.objects[i].name === pathPrefixChopped) {\n found = true;\n }\n }\n if (\n (res.objects.length === 1 &&\n res.objects[0].name.endsWith(\"/\")) ||\n !found\n ) {\n //setFileModeEnabled(false);\n } else {\n //setFileModeEnabled(true);\n }\n\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n }\n } else {\n //setFileModeEnabled(false);\n setLoading(false);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoadingRewind(false);\n setLoading(false);\n }\n }\n }, [\n loading,\n match,\n setErrorSnackMessage,\n bucketName,\n rewindEnabled,\n rewindDate,\n internalPaths,\n bucketInfo,\n showDeleted,\n displayListObjects,\n ]);\n\n // bucket info\n useEffect(() => {\n if (loadingBucket) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}`)\n .then((res: BucketInfo) => {\n setBucketDetailsLoad(false);\n setBucketInfo(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setBucketDetailsLoad(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n bucketName,\n loadingBucket,\n setBucketDetailsLoad,\n setBucketInfo,\n setErrorSnackMessage,\n ]);\n\n const closeDeleteMultipleModalAndRefresh = (refresh: boolean) => {\n setDeleteMultipleOpen(false);\n\n if (refresh) {\n setSnackBarMessage(`Objects deleted successfully.`);\n setSelectedObjects([]);\n setLoading(true);\n }\n };\n\n const handleUploadButton = (e: any) => {\n if (\n e === null ||\n e === undefined ||\n e.target.files === null ||\n e.target.files === undefined\n ) {\n return;\n }\n e.preventDefault();\n var newFiles: File[] = [];\n\n for (var i = 0; i < e.target.files.length; i++) {\n newFiles.push(e.target.files[i]);\n }\n uploadObject(newFiles, \"\");\n\n e.target.value = \"\";\n };\n\n const downloadObject = (object: BucketObject | RewindObject) => {\n const identityDownload = encodeFileName(\n `${bucketName}-${object.name}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identityDownload,\n percentage: 0,\n prefix: object.name,\n type: \"download\",\n waitingForFile: true,\n });\n\n download(\n bucketName,\n encodeFileName(object.name),\n object.version_id,\n object.size,\n (progress) => {\n updateProgress(identityDownload, progress);\n },\n () => {\n completeObject(identityDownload);\n }\n );\n };\n\n const openPath = (idElement: string) => {\n setSelectedObjects([]);\n if (idElement.endsWith(\"/\")) {\n const newPath = `/buckets/${bucketName}/browse${\n idElement ? `/${encodeFileName(idElement)}` : ``\n }`;\n history.push(newPath);\n return;\n }\n\n setDetailsOpen(true);\n setLoadingVersions(true);\n setSelectedInternalPaths(\n `${idElement ? `${encodeFileName(idElement)}` : ``}`\n );\n };\n\n const uploadObject = useCallback(\n (files: File[], folderPath: string): void => {\n let pathPrefix = \"\";\n if (internalPaths) {\n const decodedPath = decodeFileName(internalPaths);\n pathPrefix = decodedPath.endsWith(\"/\")\n ? decodedPath\n : decodedPath + \"/\";\n }\n\n const upload = (\n files: File[],\n bucketName: string,\n path: string,\n folderPath: string\n ) => {\n if (files.length > 0) {\n openList();\n let nextFile = files.pop();\n let uploadPromise = (file: File) => {\n return new Promise((resolve, reject) => {\n let uploadUrl = `api/v1/buckets/${bucketName}/objects/upload`;\n const fileName = file.name;\n const blobFile = new Blob([file], { type: file.type });\n\n let encodedPath = \"\";\n const relativeFolderPath =\n get(file, \"webkitRelativePath\", \"\") !== \"\"\n ? get(file, \"webkitRelativePath\", \"\")\n : folderPath;\n\n if (path !== \"\" || relativeFolderPath !== \"\") {\n const finalFolderPath = relativeFolderPath\n .split(\"/\")\n .slice(0, -1)\n .join(\"/\");\n\n encodedPath = encodeFileName(\n `${path}${finalFolderPath}${\n !finalFolderPath.endsWith(\"/\") ? \"/\" : \"\"\n }`\n );\n }\n\n if (encodedPath !== \"\") {\n uploadUrl = `${uploadUrl}?prefix=${encodedPath}`;\n }\n\n const identity = encodeFileName(\n `${bucketName}-${encodedPath}-${new Date().getTime()}-${Math.random()}`\n );\n\n setNewObject({\n bucketName,\n done: false,\n instanceID: identity,\n percentage: 0,\n prefix: `${decodeFileName(encodedPath)}${fileName}`,\n type: \"upload\",\n waitingForFile: false,\n });\n\n let xhr = new XMLHttpRequest();\n xhr.open(\"POST\", uploadUrl, true);\n\n const areMultipleFiles = files.length > 1;\n const errorMessage = `An error occurred while uploading the file${\n areMultipleFiles ? \"s\" : \"\"\n }.`;\n const okMessage = `Object${\n areMultipleFiles ? \"s\" : ``\n } uploaded successfully.`;\n\n xhr.withCredentials = false;\n xhr.onload = function (event) {\n if (\n xhr.status === 401 ||\n xhr.status === 403 ||\n xhr.status === 400 ||\n xhr.status === 500\n ) {\n if (xhr.response) {\n const err = JSON.parse(xhr.response);\n setSnackBarMessage(err.detailedMessage);\n } else {\n setSnackBarMessage(errorMessage);\n }\n }\n if (xhr.status === 413) {\n setSnackBarMessage(\"Error - File size too large\");\n }\n if (xhr.status === 200) {\n completeObject(identity);\n if (files.length === 0) {\n setSnackBarMessage(okMessage);\n }\n }\n resolve(xhr.status);\n if (files.length > 0) {\n let nFile = files.pop();\n if (nFile) {\n return uploadPromise(nFile);\n }\n }\n };\n\n xhr.upload.addEventListener(\"error\", (event) => {\n setSnackBarMessage(errorMessage);\n });\n\n xhr.upload.addEventListener(\"progress\", (event) => {\n const progress = Math.floor((event.loaded * 100) / event.total);\n\n updateProgress(identity, progress);\n });\n\n xhr.onerror = () => {\n setSnackBarMessage(errorMessage);\n reject(errorMessage);\n };\n xhr.onloadend = () => {\n if (files.length === 0) {\n setLoading(true);\n }\n };\n\n const formData = new FormData();\n if (file.size !== undefined) {\n formData.append(file.size.toString(), blobFile, fileName);\n\n xhr.send(formData);\n }\n });\n };\n\n if (nextFile) {\n uploadPromise(nextFile!)\n .then(() => {\n console.info(\"done uploading file\");\n })\n .catch((err) => {\n console.error(\"error uploading file,\", err);\n });\n }\n }\n };\n\n upload(files, bucketName, pathPrefix, folderPath);\n },\n [\n bucketName,\n completeObject,\n internalPaths,\n openList,\n setNewObject,\n setSnackBarMessage,\n updateProgress,\n ]\n );\n\n const onDrop = useCallback(\n (acceptedFiles) => {\n if (acceptedFiles && acceptedFiles.length > 0) {\n let newFolderPath: string = acceptedFiles[0].path;\n uploadObject(acceptedFiles, newFolderPath);\n }\n },\n [uploadObject]\n );\n\n const { getRootProps, getInputProps, isDragActive, isDragAccept } =\n useDropzone({\n noClick: true,\n onDrop,\n });\n\n const dndStyles = useMemo(\n () => ({\n ...baseDnDStyle,\n ...(isDragActive ? activeDnDStyle : {}),\n ...(isDragAccept ? acceptDnDStyle : {}),\n }),\n [isDragActive, isDragAccept]\n );\n\n const openPreview = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setPreviewOpen(true);\n }\n }\n };\n\n const openShare = () => {\n if (selectedObjects.length === 1) {\n let fileObject: BucketObject | undefined;\n\n const findFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n fileObject = filteredRecords.find(findFunction);\n\n if (fileObject) {\n setSelectedPreview(fileObject);\n setShareFileModalOpen(true);\n }\n }\n };\n\n const closeShareModal = () => {\n setShareFileModalOpen(false);\n setSelectedPreview(null);\n };\n\n const filteredRecords = records.filter((b: BucketObject) => {\n if (searchObjects === \"\") {\n return true;\n } else {\n const objectName = b.name.toLowerCase();\n if (objectName.indexOf(searchObjects.toLowerCase()) >= 0) {\n return true;\n } else {\n return false;\n }\n }\n });\n\n const rewindCloseModal = (refresh: boolean) => {\n setRewindSelect(false);\n };\n\n const closePreviewWindow = () => {\n setPreviewOpen(false);\n setSelectedPreview(null);\n };\n\n const selectListObjects = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selectedObjects]; // We clone the selectedBuckets array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedBucketsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedObjects(elements);\n setSelectedInternalPaths(null);\n\n return elements;\n };\n\n const sortChange = (sortData: any) => {\n const newSortDirection = get(sortData, \"sortDirection\", \"DESC\");\n setCurrentSortField(sortData.sortBy);\n setSortDirection(newSortDirection);\n setLoading(true);\n };\n\n const pageTitle = decodeFileName(internalPaths);\n const currentPath = pageTitle.split(\"/\").filter((i: string) => i !== \"\");\n\n const plSelect = rewindEnabled ? rewind : filteredRecords;\n\n const sortASC = plSelect.sort(sortListObjects(currentSortField));\n\n let payload: BucketObject[] | RewindObject[] = [];\n\n if (sortDirection === \"ASC\") {\n payload = sortASC;\n } else {\n payload = sortASC.reverse();\n }\n\n const selectAllItems = () => {\n setSelectedInternalPaths(null);\n\n if (selectedObjects.length === payload.length) {\n setSelectedObjects([]);\n return;\n }\n\n const elements = payload.map((item) => item.name);\n setSelectedObjects(elements);\n };\n\n const downloadSelected = () => {\n if (selectedObjects.length !== 0) {\n let itemsToDownload: BucketObject[] | RewindObject[] = [];\n\n const filterFunction = (currValue: BucketObject | RewindObject) =>\n selectedObjects.includes(currValue.name);\n\n if (rewindEnabled) {\n itemsToDownload = rewind.filter(filterFunction);\n } else {\n itemsToDownload = filteredRecords.filter(filterFunction);\n }\n\n itemsToDownload.forEach((filteredItem) => {\n downloadObject(filteredItem);\n });\n }\n };\n let uploadPath = [bucketName];\n if (currentPath.length > 0) {\n uploadPath = uploadPath.concat(currentPath);\n }\n\n const onClosePanel = (forceRefresh: boolean) => {\n setDetailsOpen(false);\n setSelectedInternalPaths(null);\n setSelectedObjects([]);\n setVersionsModeEnabled(false);\n\n if (forceRefresh) {\n setLoading(true);\n }\n };\n\n const setDeletedAction = () => {\n setShowDeletedObjects(!showDeleted);\n onClosePanel(true);\n };\n\n const tableActions: ItemActions[] = [\n {\n type: \"view\",\n label: \"View\",\n onClick: openPath,\n sendOnlyId: true,\n },\n ];\n\n const multiActionButtons = [\n {\n action: downloadSelected,\n label: \"Download\",\n disabled: selectedObjects.length === 0,\n icon: ,\n tooltip: \"Download Selected\",\n },\n {\n action: openShare,\n label: \"Share\",\n disabled: selectedObjects.length !== 1 || !canShareFile,\n icon: ,\n tooltip: \"Share Selected File\",\n },\n {\n action: openPreview,\n label: \"Preview\",\n disabled: selectedObjects.length !== 1 || !canPreviewFile,\n icon: ,\n tooltip: \"Preview Selected File\",\n },\n {\n action: () => {\n setDeleteMultipleOpen(true);\n },\n label: \"Delete\",\n icon: ,\n disabled:\n !hasPermission(bucketName, [IAM_SCOPES.S3_DELETE_OBJECT]) ||\n selectedObjects.length === 0 ||\n !displayDeleteObject,\n tooltip: \"Delete Selected Files\",\n },\n ];\n\n return (\n \n {shareFileModalOpen && selectedPreview && (\n \n )}\n {deleteMultipleOpen && (\n \n )}\n {rewindSelect && (\n \n )}\n {previewOpen && (\n \n )}\n \n \n \n \n \n }\n title={{bucketName}}\n subTitle={\n \n \n \n Created:   \n {bucketInfo?.creation_date || \"\"}\n \n \n Access:   \n {bucketInfo?.access || \"\"}\n \n {bucketInfo && (\n \n \n {bucketInfo.size && (\n {niceBytesInt(bucketInfo.size)}\n )}\n {bucketInfo.size && quota && (\n / {niceBytesInt(quota.quota)}\n )}\n {bucketInfo.size && bucketInfo.objects ? \" - \" : \"\"}\n {bucketInfo.objects && (\n \n {bucketInfo.objects} Object\n {bucketInfo.objects && bucketInfo.objects !== 1\n ? \"s\"\n : \"\"}\n \n )}\n \n \n )}\n \n \n }\n actions={\n \n \n \n \n }\n color=\"primary\"\n variant={\"outlined\"}\n onClick={() => {\n setRewindSelect(true);\n }}\n disabled={\n !isVersioned ||\n !hasPermission(bucketName, [IAM_SCOPES.S3_PUT_OBJECT])\n }\n />\n }\n color=\"primary\"\n variant={\"outlined\"}\n onClick={() => {\n if (versionsMode) {\n setLoadingVersions(true);\n } else {\n setLoading(true);\n }\n }}\n disabled={\n !hasPermission(bucketName, [IAM_SCOPES.S3_LIST_BUCKET]) ||\n rewindEnabled\n }\n />\n \n \n {\n if (fileUpload && fileUpload.current) {\n fileUpload.current.click();\n }\n closeMenu();\n }}\n uploadFolderFunction={(closeMenu) => {\n if (folderUpload && folderUpload.current) {\n folderUpload.current.click();\n }\n closeMenu();\n }}\n />\n \n }\n />\n \n \n \n \n \n )\n }\n />\n \n \n \n \n {versionsMode ? (\n \n {selectedInternalPaths !== null && (\n \n )}\n \n ) : (\n \n {\n if (payload[index]?.delete_flag) {\n return \"deleted\";\n }\n\n return \"\";\n }}\n />\n \n )}\n \n {\n onClosePanel(false);\n }}\n >\n {selectedObjects.length > 0 && (\n \n )}\n {selectedInternalPaths !== null && (\n \n )}\n \n \n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n routesList: get(objectBrowser, \"routesList\", []),\n downloadingFiles: get(objectBrowser, \"downloadingFiles\", []),\n rewindEnabled: get(objectBrowser, \"rewind.rewindEnabled\", false),\n rewindDate: get(objectBrowser, \"rewind.dateToRewind\", null),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n versionsMode: get(objectBrowser, \"versionsMode\", false),\n loadingBucket: buckets.bucketDetails.loadingBucket,\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n showDeleted: objectBrowser.showDeleted,\n});\n\nconst mapDispatchToProps = {\n setSnackBarMessage,\n setErrorSnackMessage,\n resetRewind,\n setBucketDetailsLoad,\n setBucketInfo,\n setNewObject,\n updateProgress,\n completeObject,\n openList,\n setSearchObjects,\n setVersionsModeEnabled,\n setShowDeletedObjects,\n setLoadingVersions,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withRouter(connector(withStyles(styles)(ListObjects)));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, IconButton, Tooltip } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport { AppState } from \"../../../../store\";\nimport { containerForHeader } from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n setSearchObjects,\n setVersionsModeEnabled,\n setSearchVersions,\n} from \"../../ObjectBrowser/actions\";\nimport ListObjects from \"../ListBuckets/Objects/ListObjects/ListObjects\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport SettingsIcon from \"../../../../icons/SettingsIcon\";\nimport { BucketInfo } from \"../types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport { SecureComponent } from \"../../../../common/SecureComponent\";\nimport {\n IAM_PERMISSIONS,\n IAM_ROLES,\n IAM_SCOPES,\n IAM_PAGES,\n} from \"../../../../common/SecureComponent/permissions\";\nimport SearchBox from \"../../Common/SearchBox\";\nimport BackLink from \"../../../../common/BackLink\";\n\ninterface IBrowserHandlerProps {\n versionsMode: boolean;\n match: any;\n history: any;\n classes: any;\n setVersionsModeEnabled: typeof setVersionsModeEnabled;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n bucketInfo: BucketInfo | null;\n searchObjects: string;\n versionedFile: string;\n searchVersions: string;\n setSearchObjects: typeof setSearchObjects;\n setSearchVersions: typeof setSearchVersions;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n backToBuckets: {\n color: \"#000\",\n fontSize: 14,\n padding: 0,\n marginTop: -8,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst BrowserHandler = ({\n versionsMode,\n match,\n history,\n classes,\n setVersionsModeEnabled,\n searchObjects,\n setSearchObjects,\n setSearchVersions,\n versionedFile,\n searchVersions,\n}: IBrowserHandlerProps) => {\n const bucketName = match.params[\"bucketName\"];\n const internalPaths = get(match.params, \"subpaths\", \"\");\n\n useEffect(() => {\n setVersionsModeEnabled(false);\n }, [internalPaths, setVersionsModeEnabled]);\n\n const openBucketConfiguration = () => {\n history.push(`/buckets/${bucketName}/admin`);\n };\n\n return (\n \n }\n actions={\n \n \n \n \n \n \n \n }\n middleComponent={\n \n {!versionsMode ? (\n \n {\n setSearchObjects(value);\n }}\n value={searchObjects}\n />\n \n ) : (\n \n {\n setSearchVersions(value);\n }}\n value={searchVersions}\n />\n \n )}\n \n }\n />\n \n \n \n \n );\n};\n\nconst mapStateToProps = ({ objectBrowser, buckets }: AppState) => ({\n versionsMode: get(objectBrowser, \"versionsMode\", false),\n bucketToRewind: get(objectBrowser, \"rewind.bucketToRewind\", \"\"),\n bucketInfo: buckets.bucketDetails.bucketInfo,\n searchObjects: objectBrowser.searchObjects,\n versionedFile: objectBrowser.versionedFile,\n searchVersions: objectBrowser.searchVersions,\n});\n\nconst mapDispatchToProps = {\n setVersionsModeEnabled,\n setErrorSnackMessage,\n setSearchObjects,\n setSearchVersions,\n};\n\nconst connector = connect(mapStateToProps, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(BrowserHandler));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport InputLabel from \"@mui/material/InputLabel\";\nimport moment from \"moment/moment\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport InputBoxWrapper from \"../InputBoxWrapper/InputBoxWrapper\";\n\ninterface IDaysSelector {\n classes: any;\n id: string;\n initialDate: Date;\n maxDays?: number;\n label: string;\n entity: string;\n onChange: (newDate: string, isValid: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n labelContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: 15,\n },\n fieldContainer: {\n ...fieldBasic.fieldContainer,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n paddingBottom: 10,\n marginTop: 11,\n marginBottom: 6,\n },\n dateContainer: {\n height: 20,\n textAlign: \"right\",\n color: \"#848484\",\n },\n dateInputContainer: {\n margin: \"0 10px\",\n },\n durationInputs: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n\n validityIndicator: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n invalidDurationText: {\n marginTop: 15,\n display: \"flex\",\n color: \"red\",\n fontSize: 11,\n },\n validityText: {\n fontSize: 14,\n fontWeight: 600,\n marginTop: 15,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst calculateNewTime = (\n initialDate: Date,\n days: number,\n hours: number,\n minutes: number\n) => {\n return moment(initialDate)\n .add(days, \"days\")\n .add(hours, \"hours\")\n .add(minutes, \"minutes\");\n};\n\nconst DaysSelector = ({\n classes,\n id,\n initialDate,\n label,\n maxDays,\n entity,\n onChange,\n}: IDaysSelector) => {\n const [selectedDays, setSelectedDays] = useState(7);\n const [selectedHours, setSelectedHours] = useState(0);\n const [selectedMinutes, setSelectedMinutes] = useState(0);\n const [validDate, setValidDate] = useState(true);\n const [dateSelected, setDateSelected] = useState(moment());\n\n useEffect(() => {\n setDateSelected(\n calculateNewTime(\n initialDate,\n selectedDays,\n selectedHours,\n selectedMinutes\n )\n );\n }, [initialDate, selectedDays, selectedHours, selectedMinutes]);\n\n useEffect(() => {\n if (validDate) {\n onChange(dateSelected.format(\"YYYY-MM-DDTHH:mm:ss\"), true);\n } else {\n onChange(\"0000-00-00\", false);\n }\n }, [dateSelected, onChange, validDate]);\n\n // Basic validation for inputs\n useEffect(() => {\n let valid = true;\n if (\n selectedDays < 0 ||\n (maxDays && selectedDays > maxDays) ||\n isNaN(selectedDays)\n ) {\n valid = false;\n }\n\n if (selectedHours < 0 || selectedHours > 23 || isNaN(selectedHours)) {\n valid = false;\n }\n\n if (selectedMinutes < 0 || selectedMinutes > 59 || isNaN(selectedMinutes)) {\n valid = false;\n }\n\n if (\n maxDays &&\n selectedDays === maxDays &&\n (selectedHours !== 0 || selectedMinutes !== 0)\n ) {\n valid = false;\n }\n\n setValidDate(valid);\n }, [\n dateSelected,\n maxDays,\n onChange,\n selectedDays,\n selectedHours,\n selectedMinutes,\n ]);\n\n const extraInputProps = {\n style: {\n textAlign: \"center\" as const,\n paddingRight: 10,\n paddingLeft: 10,\n width: 25,\n },\n className: \"removeArrows\" as const,\n };\n\n return (\n \n \n \n \n \n {label}\n \n \n \n \n {\n setSelectedDays(parseInt(e.target.value));\n }}\n value={selectedDays.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedHours(parseInt(e.target.value));\n }}\n value={selectedHours.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n {\n setSelectedMinutes(parseInt(e.target.value));\n }}\n value={selectedMinutes.toString()}\n extraInputProps={extraInputProps}\n noLabelMinWidth\n />\n \n \n \n \n {validDate ? (\n
    \n
    \n {entity} will be available until:\n
    {\" \"}\n
    \n {dateSelected.format(\"MM/DD/YYYY HH:mm:ss\")}\n
    \n
    \n ) : (\n
    \n Please select a valid duration.\n
    \n )}\n
    \n \n
    \n );\n};\n\nexport default withStyles(styles)(DaysSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport Grid from \"@mui/material/Grid\";\nimport Button from \"@mui/material/Button\";\nimport LinearProgress from \"@mui/material/LinearProgress\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../../../Common/FormComponents/common/styleLibrary\";\n\nimport { IFileInfo } from \"./types\";\nimport {\n setModalErrorSnackMessage,\n setModalSnackMessage,\n} from \"../../../../../../actions\";\nimport { AppState } from \"../../../../../../store\";\nimport { ErrorResponseHandler } from \"../../../../../../common/types\";\nimport api from \"../../../../../../common/api\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PredefinedList from \"../../../../Common/FormComponents/PredefinedList/PredefinedList\";\nimport DaysSelector from \"../../../../Common/FormComponents/DaysSelector/DaysSelector\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\n\nconst CopyIcon = React.lazy(() => import(\"../../../../../../icons/CopyIcon\"));\n\nconst styles = (theme: Theme) =>\n createStyles({\n shareLinkInfo: {\n fontSize: 13,\n fontWeight: 400,\n },\n copyShareLink: {\n display: \"flex\",\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n },\n copyShareLinkInput: {\n \"& div:first-child\": {\n marginTop: 0,\n },\n \"@media (max-width: 900px)\": {\n minWidth: 250,\n },\n },\n copyShareLinkBtn: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"@media (max-width: 900px)\": {\n marginTop: 10,\n },\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IShareFileProps {\n classes: any;\n open: boolean;\n bucketName: string;\n dataObject: IFileInfo;\n distributedSetup: boolean;\n closeModalAndRefresh: () => void;\n setModalSnackMessage: typeof setModalSnackMessage;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst ShareFile = ({\n classes,\n open,\n closeModalAndRefresh,\n bucketName,\n dataObject,\n distributedSetup,\n setModalSnackMessage,\n setModalErrorSnackMessage,\n}: IShareFileProps) => {\n const [shareURL, setShareURL] = useState(\"\");\n const [isLoadingVersion, setIsLoadingVersion] = useState(true);\n const [isLoadingFile, setIsLoadingFile] = useState(false);\n const [selectedDate, setSelectedDate] = useState(\"\");\n const [dateValid, setDateValid] = useState(true);\n const [versionID, setVersionID] = useState(\"null\");\n\n const initialDate = new Date();\n\n const dateChanged = (newDate: string, isValid: boolean) => {\n setDateValid(isValid);\n if (isValid) {\n setSelectedDate(newDate);\n return;\n }\n setSelectedDate(\"\");\n setShareURL(\"\");\n };\n\n useEffect(() => {\n // In case version is undefined, we get the latest version of the object\n if (dataObject.version_id === undefined) {\n // In case it is not distributed setup, then we default to \"null\";\n if (distributedSetup) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects?prefix=${encodeFileName(\n dataObject.name\n )}${distributedSetup ? \"&with_versions=true\" : \"\"}`\n )\n .then((res: IFileInfo[]) => {\n const result = get(res, \"objects\", []);\n\n const latestVersion = result.find(\n (elem: IFileInfo) => elem.is_latest\n );\n\n if (latestVersion) {\n setVersionID(latestVersion.version_id);\n return;\n }\n\n // Version couldn't ve retrieved, we default\n setVersionID(\"null\");\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n });\n\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(\"null\");\n setIsLoadingVersion(false);\n return;\n }\n setVersionID(dataObject.version_id || \"null\");\n setIsLoadingVersion(false);\n }, [bucketName, dataObject, distributedSetup, setModalErrorSnackMessage]);\n\n useEffect(() => {\n if (dateValid && !isLoadingVersion) {\n setIsLoadingFile(true);\n setShareURL(\"\");\n\n const slDate = new Date(`${selectedDate}`);\n const currDate = new Date();\n\n const diffDate = Math.ceil(\n (slDate.getTime() - currDate.getTime()) / 1000\n );\n\n if (diffDate > 0) {\n api\n .invoke(\n \"GET\",\n `/api/v1/buckets/${bucketName}/objects/share?prefix=${encodeFileName(\n dataObject.name\n )}&version_id=${versionID}${\n selectedDate !== \"\" ? `&expires=${diffDate}s` : \"\"\n }`\n )\n .then((res: string) => {\n setShareURL(res);\n setIsLoadingFile(false);\n })\n .catch((error: ErrorResponseHandler) => {\n setModalErrorSnackMessage(error);\n setShareURL(\"\");\n setIsLoadingFile(false);\n });\n }\n }\n }, [\n dataObject,\n selectedDate,\n bucketName,\n dateValid,\n setShareURL,\n setModalErrorSnackMessage,\n distributedSetup,\n isLoadingVersion,\n versionID,\n ]);\n\n return (\n \n {\n closeModalAndRefresh();\n }}\n >\n {isLoadingVersion && (\n \n \n \n )}\n {!isLoadingVersion && (\n \n \n This is a temporary URL with integrated access credentials for\n sharing objects valid for up to 7 days.\n
    \n The temporary URL expires after the configured time limit.\n
    \n \n \n \n \n \n \n \n\n \n \n }\n onClick={() => {\n setModalSnackMessage(\"Share URL Copied to clipboard\");\n }}\n disabled={shareURL === \"\" || isLoadingFile}\n >\n Copy\n \n \n \n \n
    \n )}\n \n
    \n );\n};\n\nconst mapStateToProps = ({ system }: AppState) => ({\n distributedSetup: get(system, \"distributedSetup\", false),\n});\n\nconst connector = connect(mapStateToProps, {\n setModalSnackMessage,\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ShareFile));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid, LinearProgress } from \"@mui/material\";\nimport { BucketObject } from \"../ListObjects/types\";\nimport { extensionPreview } from \"../utils\";\nimport { encodeFileName } from \"../../../../../../common/utils\";\nimport clsx from \"clsx\";\n\nconst styles = () =>\n createStyles({\n iframeContainer: {\n border: \"0px\",\n flex: \"1 1 auto\",\n width: \"100%\",\n height: 250,\n backgroundColor: \"transparent\",\n borderRadius: 5,\n\n \"&.image\": {\n height: 500,\n },\n \"&.text\": {\n height: 700,\n },\n \"&.audio\": {\n height: 150,\n },\n \"&.video\": {\n height: 350,\n },\n \"&.fullHeight\": {\n height: \"calc(100vh - 185px)\",\n },\n },\n iframeBase: {\n backgroundColor: \"#fff\",\n },\n iframeHidden: {\n display: \"none\",\n },\n });\n\ninterface IPreviewFileProps {\n bucketName: string;\n object: BucketObject | null;\n isFullscreen?: boolean;\n classes: any;\n}\n\nconst PreviewFile = ({\n bucketName,\n object,\n isFullscreen = false,\n classes,\n}: IPreviewFileProps) => {\n const [loading, setLoading] = useState(true);\n\n let path = \"\";\n\n if (object) {\n const encodedPath = encodeFileName(object.name);\n let basename = document.baseURI.replace(window.location.origin, \"\");\n path = `${window.location.origin}${basename}api/v1/buckets/${bucketName}/objects/download?preview=true&prefix=${encodedPath}`;\n if (object.version_id) {\n path = path.concat(`&version_id=${object.version_id}`);\n }\n }\n\n const objectType = extensionPreview(object?.name || \"\");\n\n const iframeLoaded = () => {\n setLoading(false);\n };\n\n return (\n \n {loading && (\n \n \n \n )}\n {objectType === \"video\" && (\n \n \n \n )}\n {objectType === \"audio\" && (\n \n \n \n )}\n {objectType === \"image\" && (\n \n )}\n {objectType !== \"video\" &&\n objectType !== \"audio\" &&\n objectType !== \"image\" && (\n \n \n File couldn't be loaded. Please try Download instead\n \n \n )}\n \n );\n};\nexport default withStyles(styles)(PreviewFile);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport ModalWrapper from \"../../../../Common/ModalWrapper/ModalWrapper\";\nimport PreviewFileContent from \"./PreviewFileContent\";\nimport { BucketObject } from \"../ListObjects/types\";\nimport { ObjectPreviewIcon } from \"../../../../../../icons\";\n\ninterface IPreviewFileProps {\n open: boolean;\n bucketName: string;\n object: BucketObject | null;\n onClosePreview: () => void;\n}\n\nconst PreviewFileModal = ({\n open,\n bucketName,\n object,\n onClosePreview,\n}: IPreviewFileProps) => {\n return (\n \n }\n >\n \n \n \n );\n};\n\nexport default PreviewFileModal;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { BucketObject, RewindObject } from \"./ListObjects/types\";\n\nexport const download = (\n bucketName: string,\n objectPath: string,\n versionID: any,\n fileSize: number,\n progressCallback: (progress: number) => void,\n completeCallback: () => void\n) => {\n const anchor = document.createElement(\"a\");\n document.body.appendChild(anchor);\n let path = `/api/v1/buckets/${bucketName}/objects/download?prefix=${objectPath}`;\n if (versionID) {\n path = path.concat(`&version_id=${versionID}`);\n }\n\n var req = new XMLHttpRequest();\n req.open(\"GET\", path, true);\n req.addEventListener(\n \"progress\",\n function (evt) {\n var percentComplete = Math.round((evt.loaded / fileSize) * 100);\n\n if (progressCallback) {\n progressCallback(percentComplete);\n }\n },\n false\n );\n\n req.responseType = \"blob\";\n req.onreadystatechange = () => {\n if (req.readyState === 4 && req.status === 200) {\n const rspHeader = req.getResponseHeader(\"Content-Disposition\");\n\n let filename = \"download\";\n if (rspHeader) {\n let rspHeaderDecoded = decodeURIComponent(rspHeader);\n filename = rspHeaderDecoded.split('\"')[1];\n }\n\n if (completeCallback) {\n completeCallback();\n }\n\n var link = document.createElement(\"a\");\n link.href = window.URL.createObjectURL(req.response);\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }\n };\n req.send();\n};\n\n// Review file extension by name & returns the type of preview browser that can be used\nexport const extensionPreview = (\n fileName: string\n): \"image\" | \"text\" | \"audio\" | \"video\" | \"none\" => {\n const imageExtensions = [\n \"jif\",\n \"jfif\",\n \"apng\",\n \"avif\",\n \"svg\",\n \"webp\",\n \"bmp\",\n \"ico\",\n \"jpg\",\n \"jpe\",\n \"jpeg\",\n \"gif\",\n \"png\",\n \"heic\",\n ];\n const textExtensions = [\"pdf\", \"txt\", \"json\"];\n const audioExtensions = [\"wav\", \"mp3\", \"alac\", \"aiff\", \"dsd\", \"pcm\"];\n const videoExtensions = [\n \"mp4\",\n \"avi\",\n \"mpg\",\n \"webm\",\n \"mov\",\n \"flv\",\n \"mkv\",\n \"wmv\",\n \"avchd\",\n \"mpeg-4\",\n ];\n\n let fileExtension = fileName.split(\".\").pop();\n\n if (!fileExtension) {\n return \"none\";\n }\n\n fileExtension = fileExtension.toLowerCase();\n\n if (imageExtensions.includes(fileExtension)) {\n return \"image\";\n }\n\n if (textExtensions.includes(fileExtension)) {\n return \"text\";\n }\n\n if (audioExtensions.includes(fileExtension)) {\n return \"audio\";\n }\n\n if (videoExtensions.includes(fileExtension)) {\n return \"video\";\n }\n\n return \"none\";\n};\n\nexport const sortListObjects = (fieldSort: string) => {\n switch (fieldSort) {\n case \"name\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n a.name.localeCompare(b.name);\n case \"last_modified\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n new Date(a.last_modified).getTime() -\n new Date(b.last_modified).getTime();\n case \"size\":\n return (a: BucketObject | RewindObject, b: BucketObject | RewindObject) =>\n (a.size || -1) - (b.size || -1);\n }\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

    (\n WrappedComponent: ComponentType

    ,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n

    \n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n
    \n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
    \n
    \n\n \n {switchComponent}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport Grid from \"@mui/material/Grid\";\nimport RadioGroup from \"@mui/material/RadioGroup\";\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\nimport Radio, { RadioProps } from \"@mui/material/Radio\";\nimport { InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { fieldBasic, radioIcons, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface SelectorTypes {\n label: string;\n value: string;\n}\n\ninterface RadioGroupProps {\n selectorOptions: SelectorTypes[];\n currentSelection: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n disableOptions?: boolean;\n onChange: (e: React.ChangeEvent) => void;\n classes: any;\n displayInColumn?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n optionLabel: {\n \"&.Mui-disabled\": {\n \"& .MuiFormControlLabel-label\": {\n color: \"#9c9c9c\",\n },\n },\n \"&:last-child\": {\n marginRight: 0,\n },\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n },\n },\n checkedOption: {\n \"& .MuiFormControlLabel-label\": {\n fontSize: 12,\n color: \"#07193E\",\n fontWeight: 700,\n },\n },\n });\n\nconst radioStyles = makeStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"transparent\",\n },\n },\n ...radioIcons,\n});\n\nconst RadioButton = (props: RadioProps) => {\n const classes = radioStyles();\n\n return (\n }\n icon={}\n {...props}\n />\n );\n};\n\nexport const RadioGroupSelector = ({\n selectorOptions = [],\n currentSelection,\n label,\n id,\n name,\n onChange,\n tooltip = \"\",\n disableOptions = false,\n classes,\n displayInColumn = false,\n}: RadioGroupProps) => {\n return (\n \n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n
    \n \n \n {selectorOptions.map((selectorOption) => {\n return (\n }\n label={selectorOption.label}\n disabled={disableOptions}\n className={clsx(classes.optionLabel, {\n [classes.checkedOption]:\n selectorOption.value === currentSelection,\n })}\n />\n );\n })}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(RadioGroupSelector);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
    \n {icon ?
    {icon}
    : null}\n
    \n

    {title}

    \n {subTitle}\n
    \n
    \n\n
    {actions}
    \n
    \n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, ReactElement } from \"react\";\nimport { FixedSizeList as List } from \"react-window\";\nimport InfiniteLoader from \"react-window-infinite-loader\";\nimport { AutoSizer } from \"react-virtualized\";\n\ninterface IVirtualizedList {\n rowRenderFunction: (index: number) => ReactElement | null;\n totalItems: number;\n defaultHeight?: number;\n}\n\nlet itemStatusMap: any = {};\nconst LOADING = 1;\nconst LOADED = 2;\n\nconst VirtualizedList = ({\n rowRenderFunction,\n totalItems,\n defaultHeight,\n}: IVirtualizedList) => {\n const isItemLoaded = (index: any) => !!itemStatusMap[index];\n\n const loadMoreItems = (startIndex: number, stopIndex: number) => {\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADING;\n }\n\n for (let index = startIndex; index <= stopIndex; index++) {\n itemStatusMap[index] = LOADED;\n }\n };\n\n const RenderItemLine = ({ index, style }: any) => {\n return
    {rowRenderFunction(index)}
    ;\n };\n\n return (\n \n \n {({ onItemsRendered, ref }) => (\n \n {({ width, height }) => {\n return (\n \n {RenderItemLine}\n \n );\n }}\n \n )}\n \n \n );\n};\n\nexport default VirtualizedList;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { Box, Button } from \"@mui/material\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport { CopyIcon } from \"../../../icons\";\nimport { useState } from \"react\";\nconst KeyRevealer = ({ value }: { value: string }) => {\n const [shown, setShown] = useState(false);\n\n return (\n \n {}}\n value={value}\n overlayIcon={}\n extraInputProps={{\n readOnly: true,\n }}\n overlayAction={() => navigator.clipboard.writeText(value)}\n />\n\n setShown(!shown)}\n >\n Show/Hide\n \n \n );\n};\n\nexport default KeyRevealer;\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","justifyContent","textDecoration","maxWidth","color","palette","primary","light","icon","marginRight","height","width","borderRadius","background","label","padding","fontSize","fontWeight","to","classes","className","executeOnClick","sx","onClick","CreateFolderModal","withSuspense","React","mapDispatchToProps","setVersionsModeEnabled","connector","connect","objectBrowser","rewindEnabled","get","versionsMode","versionedFile","objectBrowserCommon","bucketName","internalPaths","existingFiles","additionalOptions","useState","createFolderOpen","setCreateFolderOpen","paths","splitPaths","split","filter","path","breadcrumbsMap","map","objectItem","index","subSplit","slice","join","route","encodeFileName","Fragment","toString","versionsItem","listBreadcrumbs","modalOpen","folderName","onClose","Grid","item","xs","breadcrumbs","IconButton","history","border","backgroundColor","borderLeft","Tooltip","title","id","disabled","hasPermission","IAM_SCOPES","disableTouchRipple","disableRipple","focusRipple","paddingLeft","breadcrumbsList","dir","listUploadIcons","fill","uploadPath","forceDisable","uploadFileFunction","uploadFolderFunction","anchorEl","setAnchorEl","openUploadMenu","Boolean","handleCloseUpload","uploadObjectAllowed","uploadFolderAllowed","uploadEnabled","RBIconButton","tooltip","undefined","event","currentTarget","text","variant","Menu","open","anchorOrigin","vertical","horizontal","transformOrigin","MenuItem","ListItemIcon","ListItemText","detailsList","borderColor","borderWidth","borderStyle","borderBottomLeftRadius","borderBottomRightRadius","transitionDuration","overflowX","overflowY","position","opacity","marginLeft","minWidth","borderTopWidth","borderBottomWidth","borderRightWidth","borderLeftWidth","closePanel","right","top","children","months","value","days","Array","from","_","num","currentYear","Date","getFullYear","years","numYear","SelectStyled","root","input","borderBottom","InputBase","DateSelector","forwardRef","ref","disableOptions","addSwitch","onDateChange","useImperativeHandle","resetDate","dateEnabled","setDateEnabled","month","setMonth","day","setDay","year","setYear","useEffect","valueSplit","parseInt","currentDate","parse","isNaN","parsedMonth","parsedDay","monthForString","dayForString","parsedDate","toISOString","dateString","validDate","isValid","isDateDisabled","clsx","fieldContainer","fieldContainerBorder","labelContainer","container","InputLabel","htmlFor","inputLabel","tooltipContainer","placement","HelpIcon","FormSwitchWrapper","indicatorLabels","checked","name","onChange","e","target","switchOnly","FormControl","dateInput","Select","displayEmpty","option","dayNumber","fieldBasic","tooltipHelper","flex","paddingBottom","marginTop","marginBottom","setModalErrorSnackMessage","formFieldStyles","modalStyleUtils","spacingUtils","dateSelector","closeModalAndRefresh","objectName","objectInfo","statusEnabled","setStatusEnabled","type","setType","date","setDate","isDateValid","setIsDateValid","isSaving","setIsSaving","alreadyConfigured","setAlreadyConfigured","retention_mode","toLowerCase","retention_until_date","valueDate","getMonth","getDate","dateElement","useRef","resetForm","current","showSwitcher","ModalWrapper","spacerBottom","noValidate","autoComplete","onSubmit","preventDefault","formFieldRow","RadioGroupSelector","currentSelection","selectorOptions","modalButtonBar","Button","selectedObject","versionId","version_id","expireDate","api","expires","mode","then","res","catch","error","addRetention","disableRetention","setErrorSnackMessage","closeDeleteModalAndRefresh","deleteOpen","selectedBucket","versioning","selectedVersion","useApi","err","deleteLoading","invokeDeleteApi","deleteVersions","setDeleteVersions","ConfirmDialog","confirmText","isOpen","titleIcon","isLoading","onConfirm","recursive","decodeFileName","endsWith","confirmationContent","DialogContentText","description","actualInfo","legalHoldEnabled","setLegalHoldEnabled","status","propertiesIcon","capitalizeFirst","textTransform","titleCol","titleItem","detailsPanel","linear","metaData","setMetaData","metadata","invokeMetaDataApi","metaKeys","Object","keys","loadMetaData","useCallback","element","renderItem","isArray","decodeURIComponent","Box","metadataLinear","style","Table","table","TableBody","TableRow","TableCell","component","scope","align","margin","whiteSpace","restProps","startIcon","items","titleLabel","objectActions","actionItem","action","fileName","fileNameText","overflow","textOverflow","props","strings","length","FileBookIcon","FileCodeIcon","FileConfigIcon","FileDbIcon","FileFontIcon","FileImageIcon","FileLockIcon","FileMissingIcon","FileMusicIcon","FilePdfIcon","FilePptIcon","FileTxtIcon","FileVideoIcon","FileXlsIcon","FileZipIcon","extensionToIcon","extensions","displayFileIconName","returnOnlyIcon","elementString","ObjectBrowserIcon","ObjectBrowserFolderIcon","substr","lowercaseElement","etc","ext","indexOf","splitItem","system","distributedSetup","pathLabel","newTileHeader","onCloseAndUpdate","newKey","setNewKey","newLabel","setNewLabel","isSending","setIsSending","deleteEnabled","setDeleteEnabled","deleteKey","setDeleteKey","deleteLabel","setDeleteLabel","currentTags","tags","currTagKeys","currentItem","pop","wrapText","cleanObject","verID","SecureComponent","scopes","resource","flexFlow","tagKey","tag","matchAll","errorProps","deleteIcon","onDelete","Chip","size","Close","onDeleteTag","InputBoxWrapper","placeholder","trim","newTag","newTagList","closeInspectModalAndRefresh","inspectOpen","inspectPath","volumeName","isEncrypt","setIsEncrypt","decryptionKey","setDecryptionKey","insFileName","setInsFileName","makeRequest","url","fetch","method","performInspect","file","encodeURIComponent","volume","urlOfInspectApi","ok","json","resErr","errorMessage","message","detailedError","code","blob","filename","headers","decryptKey","getCookieValue","performDownload","deleteCookie","KeyRevealer","emptyFile","is_latest","last_modified","legal_hold_status","setSnackBarMessage","setNewObject","updateProgress","completeObject","setLoadingObjectInfo","setLoadingVersions","setSelectedVersion","rewindDate","bucketToRewind","loadingObjectInfo","ObjectDetailsTitle","objectNameContainer","headerForSection","buttonsStyles","actionsTray","textStyleUtils","onClosePanel","shareFileModalOpen","setShareFileModalOpen","retentionModalOpen","setRetentionModalOpen","tagModalOpen","setTagModalOpen","legalholdOpen","setLegalholdOpen","inspectModalOpen","setInspectModalOpen","setActualInfo","allInfoElements","setAllInfoElements","objectToShare","setObjectToShare","versions","setVersions","setDeleteOpen","previewOpen","setPreviewOpen","totalVersionsSize","setTotalVersionsSize","objectNameArray","infoElement","find","el","result","tVersionSize","reduce","acc","currValue","tagKeys","multiActionButtons","object","identityDownload","getTime","Math","random","done","instanceID","percentage","prefix","waitingForFile","download","progress","downloadObject","is_delete_marker","extensionPreview","ShareFile","dataObject","updateInfo","closeAndReload","reload","PreviewFileModal","content_type","onClosePreview","TagsModal","reloadObjectData","LinearProgress","textAlign","containsResource","detailContainer","niceBytes","niceBytesInt","lastModified","currentTime","modifiedTime","difTime","formatTime","niceDaysInt","calculateLastModifyTime","etag","displayParsedDate","displayNiceBytes","String","listModeColumns","elementKey","renderFunction","enableSort","renderFullObject","contentTextAlign","rewindModeColumns","state","modalBasic","versionID","objectPath","restoreOpen","restoreLoading","setRestoreLoading","RecoverIcon","confirmButtonProps","bgColor","mainFileVersionItem","cursor","intermediateLayer","borderBottomColor","versionContainer","minHeight","buttonContainer","versionData","ctrItem","content","left","versionInfo","isSelected","onShare","onDownload","onRestore","onPreview","globalClick","disableButtons","versionItemButtons","pill","button","spacing","buttonDisabled","stopPropagation","setDeleteLoading","typeConfirm","setTypeConfirm","searchVersions","loadingVersions","versionsContainer","noBottomBorder","versionsVirtualPanel","flexGrow","screenTitleContainer","bottom","sortByLabel","hrClass","tableStyles","objectBrowserExtras","containerForHeader","restoreVersionOpen","setRestoreVersionOpen","restoreVersion","setRestoreVersion","sortValue","setSortValue","deleteNonCurrentOpen","setDeleteNonCurrentOpen","onShareItem","onPreviewItem","onRestoreItem","onDownloadItem","onGlobalClick","filteredRecords","version","includes","totalSpace","sort","a","b","dateA","dateB","DeleteNonCurrent","reloadAfterDelete","ScreenTitle","listIcon","titleSpacer","subTitle","bucketDetails","detailsSpacer","actions","SelectWrapper","options","VirtualizedList","rowRenderFunction","elementIndex","versOrd","totalItems","defaultHeight","HistoryIcon","RefreshIcon","DeleteIcon","DeleteMultipleObjects","RewindEnable","baseDnDStyle","outline","activeDnDStyle","acceptDnDStyle","defLoading","Typography","resetRewind","setBucketDetailsLoad","setBucketInfo","openList","setSearchObjects","setShowDeletedObjects","buckets","routesList","downloadingFiles","loadingBucket","bucketInfo","searchObjects","showDeleted","withRouter","browsePaper","backgroundImage","badgeOverlap","screenTitle","paddingTop","paddingRight","searchField","labelStyle","match","records","setRecords","loading","setLoading","rewind","setRewind","loadingRewind","setLoadingRewind","deleteMultipleOpen","setDeleteMultipleOpen","loadingStartTime","setLoadingStartTime","loadingMessage","setLoadingMessage","loadingVersioning","setLoadingVersioning","isVersioned","setIsVersioned","rewindSelect","setRewindSelect","selectedObjects","setSelectedObjects","selectedPreview","setSelectedPreview","sortDirection","setSortDirection","currentSortField","setCurrentSortField","iniLoad","setIniLoad","canShareFile","setCanShareFile","canPreviewFile","setCanPreviewFile","detailsOpen","setDetailsOpen","selectedInternalPaths","setSelectedInternalPaths","quota","setQuota","params","fileUpload","folderUpload","setAttribute","quotaVals","displayDeleteObject","displayListObjects","callback","delay","savedCallback","setInterval","clearInterval","useInterval","timeDelta","now","ceil","updateMessage","is_versioned","rewindParsed","pathPrefix","decodedPath","objects","currentTimestamp","urlTake","currDateISO","folders","files","forEach","record","push","recordsInElement","pathPrefixChopped","i","handleUploadButton","newFiles","uploadObject","folderPath","nextFile","uploadPromise","Promise","resolve","reject","uploadUrl","blobFile","Blob","encodedPath","relativeFolderPath","finalFolderPath","identity","xhr","XMLHttpRequest","areMultipleFiles","okMessage","withCredentials","onload","response","JSON","detailedMessage","nFile","upload","addEventListener","floor","loaded","total","onerror","onloadend","formData","FormData","append","send","console","info","onDrop","acceptedFiles","newFolderPath","useDropzone","noClick","getRootProps","getInputProps","isDragActive","isDragAccept","dndStyles","useMemo","pageTitle","currentPath","sortASC","sortListObjects","payload","reverse","concat","forceRefresh","tableActions","idElement","newPath","sendOnlyId","filterFunction","filteredItem","fileObject","refresh","PageLayout","creation_date","access","Badge","badgeContent","invisible","multiple","closeMenu","click","CheckboxWrapper","overrideLabelClasses","noTopMargin","tableBlock","TableWrapper","itemActions","columns","entityName","idField","customPaperHeight","selectedItems","onSelect","targetD","elements","customEmptyMessage","sortConfig","currentSort","currentDirection","triggerSort","sortData","newSortDirection","sortBy","onSelectAll","rowStyle","delete_flag","setSearchVersions","breadcrumLink","backToBuckets","PageHeader","BackLink","IAM_PAGES","IAM_PERMISSIONS","IAM_ROLES","SettingsIcon","middleComponent","SearchBox","useStyles","makeStyles","tgtColor","main","contrastText","secondary","getButtonColor","dateContainer","dateInputContainer","durationInputs","validityIndicator","invalidDurationText","validityText","initialDate","maxDays","entity","selectedDays","setSelectedDays","selectedHours","setSelectedHours","selectedMinutes","setSelectedMinutes","setValidDate","moment","dateSelected","setDateSelected","hours","minutes","add","calculateNewTime","format","valid","extraInputProps","min","max","noLabelMinWidth","validityLabel","validTill","CopyIcon","setModalSnackMessage","shareLinkInfo","copyShareLink","copyShareLinkInput","copyShareLinkBtn","shareURL","setShareURL","isLoadingVersion","setIsLoadingVersion","isLoadingFile","setIsLoadingFile","selectedDate","setSelectedDate","dateValid","setDateValid","setVersionID","latestVersion","elem","slDate","currDate","diffDate","newDate","PredefinedList","endIcon","iframeContainer","iframeBase","iframeHidden","isFullscreen","basename","document","baseURI","replace","window","location","origin","objectType","iframeLoaded","autoPlay","controls","muted","playsInline","onPlay","src","alt","onLoad","allowTransparency","wideLimit","PreviewFileContent","fileSize","progressCallback","completeCallback","anchor","createElement","body","appendChild","req","evt","percentComplete","round","responseType","onreadystatechange","readyState","rspHeader","getResponseHeader","href","URL","createObjectURL","removeChild","fileExtension","fieldSort","localeCompare","contained","dark","rest","WrappedComponent","fallback","ComponentWithSuspense","Suspense","StyledSwitch","switchBase","transform","common","white","boxShadow","thumb","track","transition","transitions","create","focusVisible","switchContainer","Switch","divContainer","indicatorLabelOn","indicatorLabel","fieldDescription","switchComponent","inputProps","disableFocusRipple","sm","md","inputStyles","inputFieldStyles","InputField","InputProps","textBoxContainer","overlayAction","maxHeight","multiline","required","overlayId","overlayIcon","overlayObject","pattern","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","predefinedList","multiLine","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","radioStyles","radioIcons","RadioButton","checkedIcon","radioSelectedIcon","radioUnselectedIcon","optionLabel","checkedOption","displayInColumn","radioOptionsLayout","row","selectorOption","control","lineHeight","onSuccess","onError","setIsLoading","data","deleteDialogStyles","onCancel","cancelText","cancelButtonProps","reason","titleText","closeContainer","closeButton","cancelButton","confirmButton","loadingPosition","modalSnackMessage","modalSnackBar","customDialogSize","snackBarCommon","noContentPadding","openSnackbar","setOpenSnackbar","customSize","paper","detailedErrorMsg","scroll","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","toggleList","sidebarOpen","operatorMode","managerObjects","objectManager","objectsToManage","features","session","headerContainer","rightMenu","logo","direction","headerBarIcon","headerBarSubheader","titleColumn","leftItems","rightItems","adornment","adornmentPosition","overrideClass","disableUnderline","itemStatusMap","RenderItemLine","isItemLoaded","loadMoreItems","startIndex","stopIndex","itemCount","onItemsRendered","itemSize","shown","setShown","readOnly","navigator","clipboard","writeText"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3617.c5deb048.chunk.js b/portal-ui/build/static/js/3617.c5deb048.chunk.js deleted file mode 100644 index 5911a1926..000000000 --- a/portal-ui/build/static/js/3617.c5deb048.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3617],{29316:function(e,t,n){n(50390);var o=n(6369),r=n(86509),a=n(4285),i=n(86362),l=n(62559);t.Z=(0,a.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var t=e.to,n=e.label,r=e.classes,a=e.className,s=e.executeOnClick;return(0,l.jsxs)(o.rU,{to:t,className:"".concat(r.link," ").concat(a||""),onClick:function(){s&&s()},children:[(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(i.xN,{})}),(0,l.jsx)("div",{className:r.label,children:n})]})}))},37882:function(e,t,n){var o=n(18489),r=n(50390),a=n(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,a.jsx)(r.Suspense,{fallback:t,children:(0,a.jsx)(e,(0,o.Z)({},n))})}return n}},25534:function(e,t,n){var o=n(18489),r=(n(50390),n(25594)),a=n(86509),i=n(4285),l=n(72462),s=n(62559);t.Z=(0,i.Z)((function(e){return(0,a.Z)((0,o.Z)({},l.Bw))}))((function(e){var t=e.classes,n=e.className,o=void 0===n?"":n,a=e.children;return(0,s.jsx)("div",{className:t.contentSpacer,children:(0,s.jsx)(r.ZP,{container:!0,children:(0,s.jsx)(r.ZP,{item:!0,xs:12,className:o,children:a})})})}))},35721:function(e,t,n){var o=n(50390),r=n(34424),a=n(25594),i=n(86509),l=n(4285),s=n(35477),c=n(95467),d=n(26805),p=n(44078),u=n(5265),m=n(86362),g=n(62559),f={toggleList:u.kQ},h=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);t.Z=h((0,l.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,r=e.actions,i=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,f=e.toggleList,h=e.middleComponent;return e.features.includes("hide-menu")?(0,g.jsx)(o.Fragment,{}):(0,g.jsxs)(a.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,g.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,g.jsx)("div",{className:t.logo,children:l?(0,g.jsx)(d.Z,{}):(0,g.jsx)(p.Z,{})}),(0,g.jsx)(s.Z,{variant:"h4",className:t.labelStyle,children:n})]}),h&&(0,g.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:h}),(0,g.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:h?3:6,className:t.rightMenu,children:[r&&r,u&&u.length>0&&(0,g.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,g.jsx)(m.gx,{})})]})]})})))},73617:function(e,t,n){n.r(t);var o=n(23430),r=n(18489),a=n(50390),i=n(34424),l=n(38342),s=n.n(l),c=n(25594),d=n(86509),p=n(4285),u=n(66946),m=n(30324),g=n(44149),f=n(65433),h=n(72462),y=n(35721),b=n(24442),S=n(37882),v=n(29316),T=n(25534),x=n(49495),k=n(62559),E=(0,S.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(3152),n.e(2066),n.e(9769),n.e(9056),n.e(2805)]).then(n.bind(n,62805))}))),N=(0,S.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(3152),n.e(2066),n.e(9056),n.e(6873)]).then(n.bind(n,96873))}))),j=(0,S.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(3152),n.e(2066),n.e(9769),n.e(9056),n.e(428)]).then(n.bind(n,70428))}))),A={serverNeedsRestart:g.o8,setErrorSnackMessage:g.Ih},_=(0,i.$j)(null,A);t.default=_((0,p.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},h.oO),h.Je),{},{lambdaNotif:{background:"linear-gradient(90deg, rgba(249,249,250,1) 0%, rgba(250,250,251,1) 68%, rgba(254,254,254,1) 100%)",border:"#E5E5E5 1px solid",borderRadius:5,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,cursor:"pointer",padding:0,overflow:"hidden"},lambdaNotifIcon:{backgroundColor:"#FEFEFE",display:"flex",alignItems:"center",justifyContent:"center",width:80,height:80,"& img":{maxWidth:46,maxHeight:46}},lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},formBox:{border:"1px solid #EAEAEA",padding:15}}))}))((function(e){var t=e.match,n=e.saveAndRefresh,r=e.serverNeedsRestart,i=e.classes,l=e.setErrorSnackMessage,d=(0,a.useState)([]),p=(0,o.Z)(d,2),g=p[0],h=p[1],S=(0,a.useState)(!1),A=(0,o.Z)(S,2),_=A[0],L=A[1],Z=t.params.service;(0,a.useEffect)((function(){if(_){var e={key_values:(0,f.DD)(g)};m.Z.invoke("PUT","/api/v1/configs/".concat(Z),e).then((function(){L(!1),r(!0),b.Z.push(x.gA.NOTIFICATIONS_ENDPOINTS)})).catch((function(e){L(!1),l(e)}))}}),[_,r,Z,g,n,l]);var C,w=(0,a.useCallback)((function(e){h(e)}),[h]);switch(Z){case f.ee:C=(0,k.jsx)(j,{onChange:w});break;case f.dM:C=(0,k.jsx)(E,{onChange:w});break;default:var q=s()(f.oj,Z,[]);C=(0,k.jsx)(N,{fields:q,onChange:w})}var P=f.BR.find((function(e){return e.actionTrigger===Z}));return(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)(y.Z,{label:"Notifications"}),(0,k.jsx)(v.Z,{to:"/notification-endpoints/add",label:" Back To Supported Services"}),(0,k.jsx)(T.Z,{children:(0,k.jsx)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),L(!0)},children:""!==Z&&(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)(c.ZP,{item:!0,xs:12,children:P&&(0,k.jsxs)("div",{className:i.lambdaNotif,children:[(0,k.jsx)("div",{className:i.lambdaNotifIcon,children:(0,k.jsx)("img",{src:P.logo,className:i.logoButton,alt:P.targetTitle})}),(0,k.jsx)("div",{className:i.lambdaNotifTitle,children:(0,k.jsxs)("b",{children:[P?P.targetTitle:"","Notification Endpoint"]})})]},"icon-".concat(P.targetTitle))}),(0,k.jsxs)("div",{className:i.formBox,children:[(0,k.jsx)(c.ZP,{item:!0,xs:12,className:i.configForm,children:C}),(0,k.jsx)(c.ZP,{item:!0,xs:12,className:i.settingsButtonContainer,children:(0,k.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",disabled:_,children:"Save Notification Target"})})]})]})})})]})})))},65433:function(e,t,n){n.d(t,{ee:function(){return a},dM:function(){return i},fk:function(){return f},BR:function(){return h},DD:function(){return b},oj:function(){return S}});var o,r=n(36222),a="notify_postgres",i="notify_mysql",l="notify_kafka",s="notify_amqp",c="notify_mqtt",d="notify_redis",p="notify_nats",u="notify_elasticsearch",m="notify_webhook",g="notify_nsq",f=function(e){return e.map((function(e){return{service_name:"".concat(e.service,":").concat(e.account_id),status:e.status}}))},h=[{actionTrigger:a,targetTitle:"PostgreSQL",logo:"/postgres-logo.svg"},{actionTrigger:l,targetTitle:"Kafka",logo:"/kafka-logo.svg"},{actionTrigger:s,targetTitle:"AMQP",logo:"/amqp-logo.svg"},{actionTrigger:c,targetTitle:"MQTT",logo:"/mqtt-logo.svg"},{actionTrigger:d,targetTitle:"Redis",logo:"/redis-logo.svg"},{actionTrigger:p,targetTitle:"NATS",logo:"/nats-logo.svg"},{actionTrigger:i,targetTitle:"Mysql",logo:"/mysql-logo.svg"},{actionTrigger:u,targetTitle:"Elastic Search",logo:"/elasticsearch-logo.svg"},{actionTrigger:m,targetTitle:"Webhook",logo:"/webhooks-logo.svg"},{actionTrigger:g,targetTitle:"NSQ",logo:"/nsq-logo.svg"}],y=[{name:"queue-dir",label:"Queue Directory",required:!0,tooltip:"staging dir for undelivered messages e.g. '/home/events'",type:"string",placeholder:"Enter Queue Directory"},{name:"queue-limit",label:"Queue Limit",required:!1,tooltip:"maximum limit for undelivered messages, defaults to '10000'",type:"number",placeholder:"Enter Queue Limit"},{name:"comment",label:"Comment",required:!1,type:"comment",placeholder:"Enter custom notes if any"}],b=function(e){return e.filter((function(e){return""!==e.value}))},S=(o={},(0,r.Z)(o,l,[{name:"brokers",label:"Brokers",required:!0,tooltip:"Comma separated list of Kafka broker addresses",type:"string",placeholder:"Enter Brokers"},{name:"topic",label:"Topic",tooltip:"Kafka topic used for bucket notifications",type:"string",placeholder:"Enter Topic"},{name:"sasl_username",label:"SASL Username",tooltip:"Username for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Username"},{name:"sasl_password",label:"SASL Password",tooltip:"Password for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Password"},{name:"sasl_mechanism",label:"SASL Mechanism",tooltip:"SASL authentication mechanism, default 'PLAIN'",type:"string"},{name:"tls_client_auth",label:"TLS Client Auth",tooltip:"Client Auth determines the Kafka server's policy for TLS client auth",type:"string",placeholder:"Enter TLS Client Auth"},{name:"sasl",label:"SASL",tooltip:"Set to 'on' to enable SASL authentication",type:"on|off"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS skip verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"client_tls_cert",label:"client TLS cert",tooltip:"Path to client certificate for mTLS auth",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS auth",type:"path",placeholder:"Enter TLS Client Key"},{name:"version",label:"Version",tooltip:"Specify the version of the Kafka cluster e.g '2.2.0'",type:"string",placeholder:"Enter Kafka Version"}].concat(y)),(0,r.Z)(o,s,[{name:"url",required:!0,label:"URL",tooltip:"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`",type:"url"},{name:"exchange",label:"Exchange",tooltip:"Name of the AMQP exchange",type:"string",placeholder:"Enter Exchange"},{name:"exchange_type",label:"Exchange Type",tooltip:"AMQP exchange type",type:"string",placeholder:"Enter Exchange Type"},{name:"routing_key",label:"Routing Key",tooltip:"Routing key for publishing",type:"string",placeholder:"Enter Routing Key"},{name:"mandatory",label:"Mandatory",tooltip:"Quietly ignore undelivered messages when set to 'off', default is 'on'",type:"on|off"},{name:"durable",label:"Durable",tooltip:"Persist queue across broker restarts when set to 'on', default is 'off'",type:"on|off"},{name:"no_wait",label:"No Wait",tooltip:"Non-blocking message delivery when set to 'on', default is 'off'",type:"on|off"},{name:"internal",label:"Internal",tooltip:"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges",type:"on|off"},{name:"auto_deleted",label:"Auto Deleted",tooltip:"Auto delete queue when set to 'on', when there are no consumers",type:"on|off"},{name:"delivery_mode",label:"Delivery Mode",tooltip:"Set to '1' for non-persistent or '2' for persistent queue",type:"number",placeholder:"Enter Delivery Mode"}].concat(y)),(0,r.Z)(o,d,[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address. For example: `localhost:6379`",type:"address",placeholder:"Enter Address"},{name:"key",required:!0,label:"Key",tooltip:"Redis key to store/update events, key is auto-created",type:"string",placeholder:"Enter Key"},{name:"password",label:"Password",tooltip:"Redis server password",type:"string",placeholder:"Enter Password"}].concat(y)),(0,r.Z)(o,c,[{name:"broker",required:!0,label:"Broker",tooltip:"MQTT server endpoint e.g. `tcp://localhost:1883`",type:"uri",placeholder:"Enter Brokers"},{name:"topic",required:!0,label:"Topic",tooltip:"name of the MQTT topic to publish",type:"string",placeholder:"Enter Topic"},{name:"username",label:"Username",tooltip:"MQTT username",type:"string",placeholder:"Enter Username"},{name:"password",label:"Password",tooltip:"MQTT password",type:"string",placeholder:"Enter Password"},{name:"qos",label:"QOS",tooltip:"Set the quality of service priority, defaults to '0'",type:"number",placeholder:"Enter QOS"},{name:"keep_alive_interval",label:"Keep Alive Interval",tooltip:"Keep-alive interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Keep Alive Internal"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"}].concat(y)),(0,r.Z)(o,p,[{name:"address",required:!0,label:"Address",tooltip:"NATS server address e.g. '0.0.0.0:4222'",type:"address",placeholder:"Enter Address"},{name:"subject",required:!0,label:"Subject",tooltip:"NATS subscription subject",type:"string",placeholder:"Enter NATS Subject"},{name:"username",label:"Username",tooltip:"NATS username",type:"string",placeholder:"Enter NATS Username"},{name:"password",label:"Password",tooltip:"NATS password",type:"string",placeholder:"Enter NATS password"},{name:"token",label:"Token",tooltip:"NATS token",type:"string",placeholder:"Enter NATS token"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"ping_interval",label:"Ping Interval",tooltip:"Client ping commands interval in s,m,h,d. Disabled by default",type:"duration",placeholder:"Enter Ping Interval"},{name:"streaming",label:"Streaming",tooltip:"Set to 'on', to use streaming NATS server",type:"on|off"},{name:"streaming_async",label:"Streaming async",tooltip:"Set to 'on', to enable asynchronous publish",type:"on|off"},{name:"streaming_max_pub_acks_in_flight",label:"Streaming max publish ACKS in flight",tooltip:"Number of messages to publish without waiting for ACKs",type:"number",placeholder:"Enter Streaming in flight value"},{name:"streaming_cluster_id",label:"Streaming Cluster ID",tooltip:"Unique ID for NATS streaming cluster",type:"string",placeholder:"Enter Streaming Cluster ID"},{name:"cert_authority",label:"Cert Authority",tooltip:"Path to certificate chain of the target NATS server",type:"string",placeholder:"Enter Cert Authority"},{name:"client_cert",label:"Client Cert",tooltip:"Client cert for NATS mTLS auth",type:"string",placeholder:"Enter Client Cert"},{name:"client_key",label:"Client Key",tooltip:"Client cert key for NATS mTLS auth",type:"string",placeholder:"Enter Client Key"}].concat(y)),(0,r.Z)(o,u,[{name:"url",required:!0,label:"URL",tooltip:"Elasticsearch server's address, with optional authentication info",type:"url",placeholder:"Enter URL"},{name:"index",required:!0,label:"Index",tooltip:"Elasticsearch index to store/update events, index is auto-created",type:"string",placeholder:"Enter Index"},{name:"format",required:!0,label:"Format",tooltip:"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'",type:"enum",placeholder:"Enter Format"}].concat(y)),(0,r.Z)(o,m,[{name:"endpoint",required:!0,label:"Endpoint",tooltip:"webhook server endpoint e.g. http://localhost:8080/minio/events",type:"url",placeholder:"Enter Endpoint"},{name:"auth_token",label:"Auth Token",tooltip:"opaque string or JWT authorization token",type:"string",placeholder:"Enter auth_token"}].concat(y)),(0,r.Z)(o,g,[{name:"nsqd_address",required:!0,label:"NSQD Address",tooltip:"NSQ server address e.g. '127.0.0.1:4150'",type:"address",placeholder:"Enter nsqd_address"},{name:"topic",required:!0,label:"Topic",tooltip:"NSQ topic",type:"string",placeholder:"Enter Topic"},{name:"tls",label:"TLS",tooltip:"set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'trust server TLS without verification, defaults to "on" (verify)',type:"on|off"}].concat(y)),o)}}]); -//# sourceMappingURL=3617.c5deb048.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3617.c5deb048.chunk.js.map b/portal-ui/build/static/js/3617.c5deb048.chunk.js.map deleted file mode 100644 index ecca7c371..000000000 --- a/portal-ui/build/static/js/3617.c5deb048.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3617.c5deb048.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx","screens/Console/NotificationEndpoints/utils.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
    \n \n
    \n
    {label}
    \n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

    (\n WrappedComponent: ComponentType

    ,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button } from \"@mui/material\";\n\nimport api from \"../../../common/api\";\nimport { serverNeedsRestart, setErrorSnackMessage } from \"../../../actions\";\nimport {\n notificationEndpointsFields,\n notifyMysql,\n notifyPostgres,\n removeEmptyFields,\n} from \"./utils\";\nimport {\n modalBasic,\n settingsCommon,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { servicesList } from \"./utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport { IElementValue } from \"../Configurations/types\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport history from \"../../../history\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport BackLink from \"../../../common/BackLink\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\nconst ConfMySql = withSuspense(\n React.lazy(() => import(\"./CustomForms/ConfMySql\"))\n);\n\nconst ConfTargetGeneric = withSuspense(\n React.lazy(() => import(\"./ConfTargetGeneric\"))\n);\n\nconst ConfPostgres = withSuspense(\n React.lazy(() => import(\"./CustomForms/ConfPostgres\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n lambdaNotif: {\n background:\n \"linear-gradient(90deg, rgba(249,249,250,1) 0%, rgba(250,250,251,1) 68%, rgba(254,254,254,1) 100%)\",\n border: \"#E5E5E5 1px solid\",\n borderRadius: 5,\n height: 80,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"start\",\n marginBottom: 16,\n cursor: \"pointer\",\n padding: 0,\n overflow: \"hidden\",\n },\n lambdaNotifIcon: {\n backgroundColor: \"#FEFEFE\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: 80,\n height: 80,\n\n \"& img\": {\n maxWidth: 46,\n maxHeight: 46,\n },\n },\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Lato,sans-serif\",\n paddingLeft: 18,\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n padding: 15,\n },\n });\n\ninterface IAddNotificationEndpointProps {\n match: any;\n saveAndRefresh: any;\n serverNeedsRestart: typeof serverNeedsRestart;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\nconst AddNotificationEndpoint = ({\n match,\n saveAndRefresh,\n serverNeedsRestart,\n classes,\n setErrorSnackMessage,\n}: IAddNotificationEndpointProps) => {\n //Local States\n const [valuesArr, setValueArr] = useState([]);\n const [saving, setSaving] = useState(false);\n const service = match.params[\"service\"];\n //Effects\n\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesArr),\n };\n api\n .invoke(\"PUT\", `/api/v1/configs/${service}`, payload)\n .then(() => {\n setSaving(false);\n serverNeedsRestart(true);\n history.push(IAM_PAGES.NOTIFICATIONS_ENDPOINTS);\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n saving,\n serverNeedsRestart,\n service,\n valuesArr,\n saveAndRefresh,\n setErrorSnackMessage,\n ]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n const onValueChange = useCallback(\n (newValue) => {\n setValueArr(newValue);\n },\n [setValueArr]\n );\n\n let srvComponent;\n switch (service) {\n case notifyPostgres: {\n srvComponent = ;\n break;\n }\n case notifyMysql: {\n srvComponent = ;\n break;\n }\n default: {\n const fields = get(notificationEndpointsFields, service, []);\n\n srvComponent = (\n \n );\n }\n }\n\n const targetElement = servicesList.find(\n (element) => element.actionTrigger === service\n );\n\n return (\n \n \n \n\n \n
    \n {service !== \"\" && (\n \n \n {targetElement && (\n \n
    \n \n
    \n\n
    \n \n {targetElement ? targetElement.targetTitle : \"\"}\n Notification Endpoint\n \n
    \n \n )}\n
    \n
    \n \n {srvComponent}\n \n \n \n Save Notification Target\n \n \n
    \n
    \n )}\n
    \n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n serverNeedsRestart,\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(AddNotificationEndpoint));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { NotificationEndpointItem } from \"./types\";\n\nimport { IElementValue } from \"../Configurations/types\";\n\nexport const notifyPostgres = \"notify_postgres\";\nexport const notifyMysql = \"notify_mysql\";\nexport const notifyKafka = \"notify_kafka\";\nexport const notifyAmqp = \"notify_amqp\";\nexport const notifyMqtt = \"notify_mqtt\";\nexport const notifyRedis = \"notify_redis\";\nexport const notifyNats = \"notify_nats\";\nexport const notifyElasticsearch = \"notify_elasticsearch\";\nexport const notifyWebhooks = \"notify_webhook\";\nexport const notifyNsq = \"notify_nsq\";\n\nexport const notificationTransform = (\n notificationElements: NotificationEndpointItem[]\n) => {\n return notificationElements.map((element) => {\n return {\n service_name: `${element.service}:${element.account_id}`,\n status: element.status,\n };\n });\n};\n\nexport const servicesList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: \"/postgres-logo.svg\",\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: \"/kafka-logo.svg\",\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: \"/amqp-logo.svg\",\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: \"/mqtt-logo.svg\",\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: \"/redis-logo.svg\",\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: \"/nats-logo.svg\",\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: \"/mysql-logo.svg\",\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: \"/elasticsearch-logo.svg\",\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: \"/webhooks-logo.svg\",\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: \"/nsq-logo.svg\",\n },\n];\n\nconst commonFields = [\n {\n name: \"queue-dir\",\n label: \"Queue Directory\",\n required: true,\n\n tooltip: \"staging dir for undelivered messages e.g. '/home/events'\",\n type: \"string\",\n placeholder: \"Enter Queue Directory\",\n },\n {\n name: \"queue-limit\",\n label: \"Queue Limit\",\n required: false,\n\n tooltip: \"maximum limit for undelivered messages, defaults to '10000'\",\n type: \"number\",\n placeholder: \"Enter Queue Limit\",\n },\n {\n name: \"comment\",\n label: \"Comment\",\n required: false,\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n];\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const notificationEndpointsFields: any = {\n [notifyKafka]: [\n {\n name: \"brokers\",\n label: \"Brokers\",\n required: true,\n\n tooltip: \"Comma separated list of Kafka broker addresses\",\n type: \"string\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n label: \"Topic\",\n tooltip: \"Kafka topic used for bucket notifications\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"sasl_username\",\n label: \"SASL Username\",\n tooltip: \"Username for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Username\",\n },\n {\n name: \"sasl_password\",\n label: \"SASL Password\",\n tooltip: \"Password for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Password\",\n },\n {\n name: \"sasl_mechanism\",\n label: \"SASL Mechanism\",\n tooltip: \"SASL authentication mechanism, default 'PLAIN'\",\n type: \"string\",\n },\n {\n name: \"tls_client_auth\",\n label: \"TLS Client Auth\",\n tooltip:\n \"Client Auth determines the Kafka server's policy for TLS client auth\",\n type: \"string\",\n placeholder: \"Enter TLS Client Auth\",\n },\n {\n name: \"sasl\",\n label: \"SASL\",\n tooltip: \"Set to 'on' to enable SASL authentication\",\n type: \"on|off\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS skip verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"client_tls_cert\",\n label: \"client TLS cert\",\n tooltip: \"Path to client certificate for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Cert\",\n },\n {\n name: \"client_tls_key\",\n label: \"client TLS key\",\n tooltip: \"Path to client key for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Key\",\n },\n {\n name: \"version\",\n label: \"Version\",\n tooltip: \"Specify the version of the Kafka cluster e.g '2.2.0'\",\n type: \"string\",\n placeholder: \"Enter Kafka Version\",\n },\n ...commonFields,\n ],\n [notifyAmqp]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`\",\n type: \"url\",\n },\n {\n name: \"exchange\",\n label: \"Exchange\",\n tooltip: \"Name of the AMQP exchange\",\n type: \"string\",\n placeholder: \"Enter Exchange\",\n },\n {\n name: \"exchange_type\",\n label: \"Exchange Type\",\n tooltip: \"AMQP exchange type\",\n type: \"string\",\n placeholder: \"Enter Exchange Type\",\n },\n {\n name: \"routing_key\",\n label: \"Routing Key\",\n tooltip: \"Routing key for publishing\",\n type: \"string\",\n placeholder: \"Enter Routing Key\",\n },\n {\n name: \"mandatory\",\n label: \"Mandatory\",\n tooltip:\n \"Quietly ignore undelivered messages when set to 'off', default is 'on'\",\n type: \"on|off\",\n },\n {\n name: \"durable\",\n label: \"Durable\",\n tooltip:\n \"Persist queue across broker restarts when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"no_wait\",\n label: \"No Wait\",\n tooltip:\n \"Non-blocking message delivery when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"internal\",\n label: \"Internal\",\n tooltip:\n \"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges\",\n type: \"on|off\",\n },\n {\n name: \"auto_deleted\",\n label: \"Auto Deleted\",\n tooltip:\n \"Auto delete queue when set to 'on', when there are no consumers\",\n type: \"on|off\",\n },\n {\n name: \"delivery_mode\",\n label: \"Delivery Mode\",\n tooltip: \"Set to '1' for non-persistent or '2' for persistent queue\",\n type: \"number\",\n placeholder: \"Enter Delivery Mode\",\n },\n ...commonFields,\n ],\n [notifyRedis]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"Redis server's address. For example: `localhost:6379`\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"key\",\n required: true,\n label: \"Key\",\n tooltip: \"Redis key to store/update events, key is auto-created\",\n type: \"string\",\n placeholder: \"Enter Key\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"Redis server password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n ...commonFields,\n ],\n [notifyMqtt]: [\n {\n name: \"broker\",\n required: true,\n label: \"Broker\",\n tooltip: \"MQTT server endpoint e.g. `tcp://localhost:1883`\",\n type: \"uri\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"name of the MQTT topic to publish\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"MQTT username\",\n type: \"string\",\n placeholder: \"Enter Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"MQTT password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n {\n name: \"qos\",\n label: \"QOS\",\n tooltip: \"Set the quality of service priority, defaults to '0'\",\n type: \"number\",\n placeholder: \"Enter QOS\",\n },\n {\n name: \"keep_alive_interval\",\n label: \"Keep Alive Interval\",\n tooltip: \"Keep-alive interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Keep Alive Internal\",\n },\n {\n name: \"reconnect_interval\",\n label: \"Reconnect Interval\",\n tooltip: \"Reconnect interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Reconnect Interval\",\n },\n ...commonFields,\n ],\n [notifyNats]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"NATS server address e.g. '0.0.0.0:4222'\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"subject\",\n required: true,\n label: \"Subject\",\n tooltip: \"NATS subscription subject\",\n type: \"string\",\n placeholder: \"Enter NATS Subject\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"NATS username\",\n type: \"string\",\n placeholder: \"Enter NATS Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"NATS password\",\n type: \"string\",\n placeholder: \"Enter NATS password\",\n },\n {\n name: \"token\",\n label: \"Token\",\n tooltip: \"NATS token\",\n type: \"string\",\n placeholder: \"Enter NATS token\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"ping_interval\",\n label: \"Ping Interval\",\n tooltip: \"Client ping commands interval in s,m,h,d. Disabled by default\",\n type: \"duration\",\n placeholder: \"Enter Ping Interval\",\n },\n {\n name: \"streaming\",\n label: \"Streaming\",\n tooltip: \"Set to 'on', to use streaming NATS server\",\n type: \"on|off\",\n },\n {\n name: \"streaming_async\",\n label: \"Streaming async\",\n tooltip: \"Set to 'on', to enable asynchronous publish\",\n type: \"on|off\",\n },\n {\n name: \"streaming_max_pub_acks_in_flight\",\n label: \"Streaming max publish ACKS in flight\",\n tooltip: \"Number of messages to publish without waiting for ACKs\",\n type: \"number\",\n placeholder: \"Enter Streaming in flight value\",\n },\n {\n name: \"streaming_cluster_id\",\n label: \"Streaming Cluster ID\",\n tooltip: \"Unique ID for NATS streaming cluster\",\n type: \"string\",\n placeholder: \"Enter Streaming Cluster ID\",\n },\n {\n name: \"cert_authority\",\n label: \"Cert Authority\",\n tooltip: \"Path to certificate chain of the target NATS server\",\n type: \"string\",\n placeholder: \"Enter Cert Authority\",\n },\n {\n name: \"client_cert\",\n label: \"Client Cert\",\n tooltip: \"Client cert for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_key\",\n label: \"Client Key\",\n tooltip: \"Client cert key for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Key\",\n },\n ...commonFields,\n ],\n [notifyElasticsearch]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"Elasticsearch server's address, with optional authentication info\",\n type: \"url\",\n placeholder: \"Enter URL\",\n },\n {\n name: \"index\",\n required: true,\n label: \"Index\",\n tooltip:\n \"Elasticsearch index to store/update events, index is auto-created\",\n type: \"string\",\n placeholder: \"Enter Index\",\n },\n {\n name: \"format\",\n required: true,\n label: \"Format\",\n tooltip:\n \"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\",\n type: \"enum\",\n placeholder: \"Enter Format\",\n },\n ...commonFields,\n ],\n [notifyWebhooks]: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n tooltip:\n \"webhook server endpoint e.g. http://localhost:8080/minio/events\",\n type: \"url\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n label: \"Auth Token\",\n tooltip: \"opaque string or JWT authorization token\",\n type: \"string\",\n placeholder: \"Enter auth_token\",\n },\n ...commonFields,\n ],\n [notifyNsq]: [\n {\n name: \"nsqd_address\",\n required: true,\n label: \"NSQD Address\",\n tooltip: \"NSQ server address e.g. '127.0.0.1:4150'\",\n type: \"address\",\n placeholder: \"Enter nsqd_address\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"NSQ topic\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n ...commonFields,\n ],\n};\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","main","middleComponent","actions","includes","Fragment","direction","sm","md","sx","paddingTop","variant","length","component","id","size","ConfMySql","withSuspense","React","ConfTargetGeneric","ConfPostgres","serverNeedsRestart","setErrorSnackMessage","modalBasic","settingsCommon","lambdaNotif","background","border","borderRadius","height","marginBottom","cursor","overflow","lambdaNotifIcon","maxHeight","lambdaNotifTitle","fontFamily","paddingLeft","formBox","match","saveAndRefresh","useState","valuesArr","setValueArr","saving","setSaving","service","params","useEffect","payload","key_values","removeEmptyFields","api","then","history","IAM_PAGES","catch","err","srvComponent","onValueChange","useCallback","newValue","notifyPostgres","onChange","notifyMysql","fields","get","notificationEndpointsFields","targetElement","servicesList","element","actionTrigger","noValidate","onSubmit","event","preventDefault","src","logoButton","alt","targetTitle","configForm","settingsButtonContainer","type","disabled","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationTransform","notificationElements","map","service_name","account_id","status","commonFields","name","required","tooltip","placeholder","formFields","filter","field","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3617.f650b975.chunk.js b/portal-ui/build/static/js/3617.f650b975.chunk.js new file mode 100644 index 000000000..676c92505 --- /dev/null +++ b/portal-ui/build/static/js/3617.f650b975.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3617],{29316:function(e,t,n){n(50390);var o=n(6369),r=n(86509),a=n(4285),i=n(14549),l=n(56805),s=n(62559);t.Z=(0,a.Z)((function(e){return(0,r.Z)({link:{display:"inline-block",alignItems:"center",justifyContent:"center",textDecoration:"none",maxWidth:"40px","&:active":{color:e.palette.primary.light}},icon:{marginRight:"11px",display:"flex",alignItems:"center",justifyContent:"center",height:"35px",width:"35px",borderRadius:"2px","&:hover":{background:"rgba(234,237,238)"},"& svg.min-icon":{width:"18px",height:"12px"}},label:{display:"flex",alignItems:"center",height:"35px",padding:"0 0px 0 5px",fontSize:"18px",fontWeight:600,color:e.palette.primary.light}})}))((function(e){var t=e.to,n=e.label,r=e.classes,a=e.className,c=e.executeOnClick;return(0,s.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,s.jsx)(o.rU,{to:t,className:"".concat(r.link," ").concat(a||""),onClick:function(){c&&c()},children:(0,s.jsx)("div",{className:r.icon,children:(0,s.jsx)(i.xC,{})})}),(0,s.jsx)("div",{className:r.label,children:n})]})}))},37882:function(e,t,n){var o=n(18489),r=n(50390),a=n(62559);t.Z=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function n(n){return(0,a.jsx)(r.Suspense,{fallback:t,children:(0,a.jsx)(e,(0,o.Z)({},n))})}return n}},25534:function(e,t,n){var o=n(18489),r=(n(50390),n(25594)),a=n(86509),i=n(4285),l=n(72462),s=n(62559);t.Z=(0,i.Z)((function(e){return(0,a.Z)((0,o.Z)({},l.Bw))}))((function(e){var t=e.classes,n=e.className,o=void 0===n?"":n,a=e.children;return(0,s.jsx)("div",{className:t.contentSpacer,children:(0,s.jsx)(r.ZP,{container:!0,children:(0,s.jsx)(r.ZP,{item:!0,xs:12,className:o,children:a})})})}))},35721:function(e,t,n){var o=n(50390),r=n(34424),a=n(25594),i=n(86509),l=n(4285),s=n(35477),c=n(95467),d=n(26805),p=n(44078),u=n(5265),m=n(14549),g=n(62559),h={toggleList:u.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),h);t.Z=f((0,l.Z)((function(e){return(0,i.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,r=e.actions,i=e.sidebarOpen,l=e.operatorMode,u=e.managerObjects,h=e.toggleList,f=e.middleComponent;return e.features.includes("hide-menu")?(0,g.jsx)(o.Fragment,{}):(0,g.jsxs)(a.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,g.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!i&&(0,g.jsx)("div",{className:t.logo,children:l?(0,g.jsx)(d.Z,{}):(0,g.jsx)(p.Z,{})}),(0,g.jsx)(s.Z,{variant:"h4",className:t.labelStyle,children:n})]}),f&&(0,g.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,g.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.rightMenu,children:[r&&r,u&&u.length>0&&(0,g.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},id:"object-manager-toggle",size:"large",children:(0,g.jsx)(m.gx,{})})]})]})})))},73617:function(e,t,n){n.r(t);var o=n(23430),r=n(18489),a=n(50390),i=n(34424),l=n(38342),s=n.n(l),c=n(25594),d=n(86509),p=n(4285),u=n(66946),m=n(30324),g=n(44149),h=n(65433),f=n(72462),y=n(35721),b=n(24442),x=n(37882),S=n(29316),v=n(25534),T=n(49495),k=n(62559),E=(0,x.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(3152),n.e(2066),n.e(9769),n.e(9056),n.e(2805)]).then(n.bind(n,62805))}))),j=(0,x.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(3152),n.e(2066),n.e(9056),n.e(6873)]).then(n.bind(n,96873))}))),N=(0,x.Z)(a.lazy((function(){return Promise.all([n.e(14),n.e(3152),n.e(2066),n.e(9769),n.e(9056),n.e(428)]).then(n.bind(n,70428))}))),A={serverNeedsRestart:g.o8,setErrorSnackMessage:g.Ih},_=(0,i.$j)(null,A);t.default=_((0,p.Z)((function(e){return(0,d.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},f.oO),f.Je),{},{lambdaNotif:{background:"linear-gradient(90deg, rgba(249,249,250,1) 0%, rgba(250,250,251,1) 68%, rgba(254,254,254,1) 100%)",border:"#E5E5E5 1px solid",borderRadius:5,height:80,display:"flex",alignItems:"center",justifyContent:"start",marginBottom:16,cursor:"pointer",padding:0,overflow:"hidden"},lambdaNotifIcon:{backgroundColor:"#FEFEFE",display:"flex",alignItems:"center",justifyContent:"center",width:80,height:80,"& img":{maxWidth:46,maxHeight:46}},lambdaNotifTitle:{color:"#07193E",fontSize:16,fontFamily:"Lato,sans-serif",paddingLeft:18},formBox:{border:"1px solid #EAEAEA",padding:15}}))}))((function(e){var t=e.match,n=e.saveAndRefresh,r=e.serverNeedsRestart,i=e.classes,l=e.setErrorSnackMessage,d=(0,a.useState)([]),p=(0,o.Z)(d,2),g=p[0],f=p[1],x=(0,a.useState)(!1),A=(0,o.Z)(x,2),_=A[0],C=A[1],L=t.params.service;(0,a.useEffect)((function(){if(_){var e={key_values:(0,h.DD)(g)};m.Z.invoke("PUT","/api/v1/configs/".concat(L),e).then((function(){C(!1),r(!0),b.Z.push(T.gA.NOTIFICATIONS_ENDPOINTS)})).catch((function(e){C(!1),l(e)}))}}),[_,r,L,g,n,l]);var Z,w=(0,a.useCallback)((function(e){f(e)}),[f]);switch(L){case h.ee:Z=(0,k.jsx)(N,{onChange:w});break;case h.dM:Z=(0,k.jsx)(E,{onChange:w});break;default:var q=s()(h.oj,L,[]);Z=(0,k.jsx)(j,{fields:q,onChange:w})}var P=h.BR.find((function(e){return e.actionTrigger===L}));return(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)(y.Z,{label:(0,k.jsx)(a.Fragment,{children:(0,k.jsx)(S.Z,{to:T.gA.NOTIFICATIONS_ENDPOINTS_ADD,label:"Notification Endpoint"})}),actions:(0,k.jsx)(a.Fragment,{})}),(0,k.jsx)(v.Z,{children:(0,k.jsx)("form",{noValidate:!0,onSubmit:function(e){e.preventDefault(),C(!0)},children:""!==L&&(0,k.jsxs)(a.Fragment,{children:[(0,k.jsx)(c.ZP,{item:!0,xs:12,children:P&&(0,k.jsxs)("div",{className:i.lambdaNotif,children:[(0,k.jsx)("div",{className:i.lambdaNotifIcon,children:(0,k.jsx)("img",{src:P.logo,className:i.logoButton,alt:P.targetTitle})}),(0,k.jsx)("div",{className:i.lambdaNotifTitle,children:(0,k.jsxs)("b",{children:[P?P.targetTitle:"","Notification Endpoint"]})})]},"icon-".concat(P.targetTitle))}),(0,k.jsxs)("div",{className:i.formBox,children:[(0,k.jsx)(c.ZP,{item:!0,xs:12,className:i.configForm,children:Z}),(0,k.jsx)(c.ZP,{item:!0,xs:12,className:i.settingsButtonContainer,children:(0,k.jsx)(u.Z,{type:"submit",variant:"contained",color:"primary",disabled:_,children:"Save Notification Target"})})]})]})})})]})})))},65433:function(e,t,n){n.d(t,{ee:function(){return a},dM:function(){return i},fk:function(){return h},BR:function(){return f},DD:function(){return b},oj:function(){return x}});var o,r=n(36222),a="notify_postgres",i="notify_mysql",l="notify_kafka",s="notify_amqp",c="notify_mqtt",d="notify_redis",p="notify_nats",u="notify_elasticsearch",m="notify_webhook",g="notify_nsq",h=function(e){return e.map((function(e){return{service_name:"".concat(e.service,":").concat(e.account_id),status:e.status}}))},f=[{actionTrigger:a,targetTitle:"PostgreSQL",logo:"/postgres-logo.svg"},{actionTrigger:l,targetTitle:"Kafka",logo:"/kafka-logo.svg"},{actionTrigger:s,targetTitle:"AMQP",logo:"/amqp-logo.svg"},{actionTrigger:c,targetTitle:"MQTT",logo:"/mqtt-logo.svg"},{actionTrigger:d,targetTitle:"Redis",logo:"/redis-logo.svg"},{actionTrigger:p,targetTitle:"NATS",logo:"/nats-logo.svg"},{actionTrigger:i,targetTitle:"Mysql",logo:"/mysql-logo.svg"},{actionTrigger:u,targetTitle:"Elastic Search",logo:"/elasticsearch-logo.svg"},{actionTrigger:m,targetTitle:"Webhook",logo:"/webhooks-logo.svg"},{actionTrigger:g,targetTitle:"NSQ",logo:"/nsq-logo.svg"}],y=[{name:"queue-dir",label:"Queue Directory",required:!0,tooltip:"staging dir for undelivered messages e.g. '/home/events'",type:"string",placeholder:"Enter Queue Directory"},{name:"queue-limit",label:"Queue Limit",required:!1,tooltip:"maximum limit for undelivered messages, defaults to '10000'",type:"number",placeholder:"Enter Queue Limit"},{name:"comment",label:"Comment",required:!1,type:"comment",placeholder:"Enter custom notes if any"}],b=function(e){return e.filter((function(e){return""!==e.value}))},x=(o={},(0,r.Z)(o,l,[{name:"brokers",label:"Brokers",required:!0,tooltip:"Comma separated list of Kafka broker addresses",type:"string",placeholder:"Enter Brokers"},{name:"topic",label:"Topic",tooltip:"Kafka topic used for bucket notifications",type:"string",placeholder:"Enter Topic"},{name:"sasl_username",label:"SASL Username",tooltip:"Username for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Username"},{name:"sasl_password",label:"SASL Password",tooltip:"Password for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Password"},{name:"sasl_mechanism",label:"SASL Mechanism",tooltip:"SASL authentication mechanism, default 'PLAIN'",type:"string"},{name:"tls_client_auth",label:"TLS Client Auth",tooltip:"Client Auth determines the Kafka server's policy for TLS client auth",type:"string",placeholder:"Enter TLS Client Auth"},{name:"sasl",label:"SASL",tooltip:"Set to 'on' to enable SASL authentication",type:"on|off"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS skip verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"client_tls_cert",label:"client TLS cert",tooltip:"Path to client certificate for mTLS auth",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS auth",type:"path",placeholder:"Enter TLS Client Key"},{name:"version",label:"Version",tooltip:"Specify the version of the Kafka cluster e.g '2.2.0'",type:"string",placeholder:"Enter Kafka Version"}].concat(y)),(0,r.Z)(o,s,[{name:"url",required:!0,label:"URL",tooltip:"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`",type:"url"},{name:"exchange",label:"Exchange",tooltip:"Name of the AMQP exchange",type:"string",placeholder:"Enter Exchange"},{name:"exchange_type",label:"Exchange Type",tooltip:"AMQP exchange type",type:"string",placeholder:"Enter Exchange Type"},{name:"routing_key",label:"Routing Key",tooltip:"Routing key for publishing",type:"string",placeholder:"Enter Routing Key"},{name:"mandatory",label:"Mandatory",tooltip:"Quietly ignore undelivered messages when set to 'off', default is 'on'",type:"on|off"},{name:"durable",label:"Durable",tooltip:"Persist queue across broker restarts when set to 'on', default is 'off'",type:"on|off"},{name:"no_wait",label:"No Wait",tooltip:"Non-blocking message delivery when set to 'on', default is 'off'",type:"on|off"},{name:"internal",label:"Internal",tooltip:"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges",type:"on|off"},{name:"auto_deleted",label:"Auto Deleted",tooltip:"Auto delete queue when set to 'on', when there are no consumers",type:"on|off"},{name:"delivery_mode",label:"Delivery Mode",tooltip:"Set to '1' for non-persistent or '2' for persistent queue",type:"number",placeholder:"Enter Delivery Mode"}].concat(y)),(0,r.Z)(o,d,[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address. For example: `localhost:6379`",type:"address",placeholder:"Enter Address"},{name:"key",required:!0,label:"Key",tooltip:"Redis key to store/update events, key is auto-created",type:"string",placeholder:"Enter Key"},{name:"password",label:"Password",tooltip:"Redis server password",type:"string",placeholder:"Enter Password"}].concat(y)),(0,r.Z)(o,c,[{name:"broker",required:!0,label:"Broker",tooltip:"MQTT server endpoint e.g. `tcp://localhost:1883`",type:"uri",placeholder:"Enter Brokers"},{name:"topic",required:!0,label:"Topic",tooltip:"name of the MQTT topic to publish",type:"string",placeholder:"Enter Topic"},{name:"username",label:"Username",tooltip:"MQTT username",type:"string",placeholder:"Enter Username"},{name:"password",label:"Password",tooltip:"MQTT password",type:"string",placeholder:"Enter Password"},{name:"qos",label:"QOS",tooltip:"Set the quality of service priority, defaults to '0'",type:"number",placeholder:"Enter QOS"},{name:"keep_alive_interval",label:"Keep Alive Interval",tooltip:"Keep-alive interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Keep Alive Internal"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"}].concat(y)),(0,r.Z)(o,p,[{name:"address",required:!0,label:"Address",tooltip:"NATS server address e.g. '0.0.0.0:4222'",type:"address",placeholder:"Enter Address"},{name:"subject",required:!0,label:"Subject",tooltip:"NATS subscription subject",type:"string",placeholder:"Enter NATS Subject"},{name:"username",label:"Username",tooltip:"NATS username",type:"string",placeholder:"Enter NATS Username"},{name:"password",label:"Password",tooltip:"NATS password",type:"string",placeholder:"Enter NATS password"},{name:"token",label:"Token",tooltip:"NATS token",type:"string",placeholder:"Enter NATS token"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"ping_interval",label:"Ping Interval",tooltip:"Client ping commands interval in s,m,h,d. Disabled by default",type:"duration",placeholder:"Enter Ping Interval"},{name:"streaming",label:"Streaming",tooltip:"Set to 'on', to use streaming NATS server",type:"on|off"},{name:"streaming_async",label:"Streaming async",tooltip:"Set to 'on', to enable asynchronous publish",type:"on|off"},{name:"streaming_max_pub_acks_in_flight",label:"Streaming max publish ACKS in flight",tooltip:"Number of messages to publish without waiting for ACKs",type:"number",placeholder:"Enter Streaming in flight value"},{name:"streaming_cluster_id",label:"Streaming Cluster ID",tooltip:"Unique ID for NATS streaming cluster",type:"string",placeholder:"Enter Streaming Cluster ID"},{name:"cert_authority",label:"Cert Authority",tooltip:"Path to certificate chain of the target NATS server",type:"string",placeholder:"Enter Cert Authority"},{name:"client_cert",label:"Client Cert",tooltip:"Client cert for NATS mTLS auth",type:"string",placeholder:"Enter Client Cert"},{name:"client_key",label:"Client Key",tooltip:"Client cert key for NATS mTLS auth",type:"string",placeholder:"Enter Client Key"}].concat(y)),(0,r.Z)(o,u,[{name:"url",required:!0,label:"URL",tooltip:"Elasticsearch server's address, with optional authentication info",type:"url",placeholder:"Enter URL"},{name:"index",required:!0,label:"Index",tooltip:"Elasticsearch index to store/update events, index is auto-created",type:"string",placeholder:"Enter Index"},{name:"format",required:!0,label:"Format",tooltip:"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'",type:"enum",placeholder:"Enter Format"}].concat(y)),(0,r.Z)(o,m,[{name:"endpoint",required:!0,label:"Endpoint",tooltip:"webhook server endpoint e.g. http://localhost:8080/minio/events",type:"url",placeholder:"Enter Endpoint"},{name:"auth_token",label:"Auth Token",tooltip:"opaque string or JWT authorization token",type:"string",placeholder:"Enter auth_token"}].concat(y)),(0,r.Z)(o,g,[{name:"nsqd_address",required:!0,label:"NSQD Address",tooltip:"NSQ server address e.g. '127.0.0.1:4150'",type:"address",placeholder:"Enter nsqd_address"},{name:"topic",required:!0,label:"Topic",tooltip:"NSQ topic",type:"string",placeholder:"Enter Topic"},{name:"tls",label:"TLS",tooltip:"set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'trust server TLS without verification, defaults to "on" (verify)',type:"on|off"}].concat(y)),o)}}]); +//# sourceMappingURL=3617.f650b975.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3617.f650b975.chunk.js.map b/portal-ui/build/static/js/3617.f650b975.chunk.js.map new file mode 100644 index 000000000..d348e20f6 --- /dev/null +++ b/portal-ui/build/static/js/3617.f650b975.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3617.f650b975.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/NotificationEndpoints/AddNotificationEndpoint.tsx","screens/Console/NotificationEndpoints/utils.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackIcon } from \"../icons\";\nimport { Box } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"inline-block\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textDecoration: \"none\",\n maxWidth: \"40px\",\n \"&:active\": {\n color: theme.palette.primary.light,\n },\n },\n icon: {\n marginRight: \"11px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"35px\",\n width: \"35px\",\n borderRadius: \"2px\",\n \"&:hover\": {\n background: \"rgba(234,237,238)\",\n },\n \"& svg.min-icon\": {\n width: \"18px\",\n height: \"12px\",\n },\n },\n label: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"35px\",\n padding: \"0 0px 0 5px\",\n fontSize: \"18px\",\n fontWeight: 600,\n color: theme.palette.primary.light,\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n \n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
    \n \n
    \n \n
    {label}
    \n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

    (\n WrappedComponent: ComponentType

    ,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button } from \"@mui/material\";\n\nimport api from \"../../../common/api\";\nimport { serverNeedsRestart, setErrorSnackMessage } from \"../../../actions\";\nimport {\n notificationEndpointsFields,\n notifyMysql,\n notifyPostgres,\n removeEmptyFields,\n} from \"./utils\";\nimport {\n modalBasic,\n settingsCommon,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { servicesList } from \"./utils\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport { IElementValue } from \"../Configurations/types\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport history from \"../../../history\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport BackLink from \"../../../common/BackLink\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\nconst ConfMySql = withSuspense(\n React.lazy(() => import(\"./CustomForms/ConfMySql\"))\n);\n\nconst ConfTargetGeneric = withSuspense(\n React.lazy(() => import(\"./ConfTargetGeneric\"))\n);\n\nconst ConfPostgres = withSuspense(\n React.lazy(() => import(\"./CustomForms/ConfPostgres\"))\n);\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalBasic,\n ...settingsCommon,\n lambdaNotif: {\n background:\n \"linear-gradient(90deg, rgba(249,249,250,1) 0%, rgba(250,250,251,1) 68%, rgba(254,254,254,1) 100%)\",\n border: \"#E5E5E5 1px solid\",\n borderRadius: 5,\n height: 80,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"start\",\n marginBottom: 16,\n cursor: \"pointer\",\n padding: 0,\n overflow: \"hidden\",\n },\n lambdaNotifIcon: {\n backgroundColor: \"#FEFEFE\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: 80,\n height: 80,\n\n \"& img\": {\n maxWidth: 46,\n maxHeight: 46,\n },\n },\n lambdaNotifTitle: {\n color: \"#07193E\",\n fontSize: 16,\n fontFamily: \"Lato,sans-serif\",\n paddingLeft: 18,\n },\n formBox: {\n border: \"1px solid #EAEAEA\",\n padding: 15,\n },\n });\n\ninterface IAddNotificationEndpointProps {\n match: any;\n saveAndRefresh: any;\n serverNeedsRestart: typeof serverNeedsRestart;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n classes: any;\n}\n\nconst AddNotificationEndpoint = ({\n match,\n saveAndRefresh,\n serverNeedsRestart,\n classes,\n setErrorSnackMessage,\n}: IAddNotificationEndpointProps) => {\n //Local States\n const [valuesArr, setValueArr] = useState([]);\n const [saving, setSaving] = useState(false);\n const service = match.params[\"service\"];\n //Effects\n\n useEffect(() => {\n if (saving) {\n const payload = {\n key_values: removeEmptyFields(valuesArr),\n };\n api\n .invoke(\"PUT\", `/api/v1/configs/${service}`, payload)\n .then(() => {\n setSaving(false);\n serverNeedsRestart(true);\n history.push(IAM_PAGES.NOTIFICATIONS_ENDPOINTS);\n })\n .catch((err: ErrorResponseHandler) => {\n setSaving(false);\n setErrorSnackMessage(err);\n });\n }\n }, [\n saving,\n serverNeedsRestart,\n service,\n valuesArr,\n saveAndRefresh,\n setErrorSnackMessage,\n ]);\n\n //Fetch Actions\n const submitForm = (event: React.FormEvent) => {\n event.preventDefault();\n setSaving(true);\n };\n\n const onValueChange = useCallback(\n (newValue) => {\n setValueArr(newValue);\n },\n [setValueArr]\n );\n\n let srvComponent;\n switch (service) {\n case notifyPostgres: {\n srvComponent = ;\n break;\n }\n case notifyMysql: {\n srvComponent = ;\n break;\n }\n default: {\n const fields = get(notificationEndpointsFields, service, []);\n\n srvComponent = (\n \n );\n }\n }\n\n const targetElement = servicesList.find(\n (element) => element.actionTrigger === service\n );\n\n return (\n \n \n \n \n }\n actions={}\n />\n\n \n
    \n {service !== \"\" && (\n \n \n {targetElement && (\n \n
    \n \n
    \n\n
    \n \n {targetElement ? targetElement.targetTitle : \"\"}\n Notification Endpoint\n \n
    \n \n )}\n
    \n
    \n \n {srvComponent}\n \n \n \n Save Notification Target\n \n \n
    \n
    \n )}\n
    \n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n serverNeedsRestart,\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(AddNotificationEndpoint));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { NotificationEndpointItem } from \"./types\";\n\nimport { IElementValue } from \"../Configurations/types\";\n\nexport const notifyPostgres = \"notify_postgres\";\nexport const notifyMysql = \"notify_mysql\";\nexport const notifyKafka = \"notify_kafka\";\nexport const notifyAmqp = \"notify_amqp\";\nexport const notifyMqtt = \"notify_mqtt\";\nexport const notifyRedis = \"notify_redis\";\nexport const notifyNats = \"notify_nats\";\nexport const notifyElasticsearch = \"notify_elasticsearch\";\nexport const notifyWebhooks = \"notify_webhook\";\nexport const notifyNsq = \"notify_nsq\";\n\nexport const notificationTransform = (\n notificationElements: NotificationEndpointItem[]\n) => {\n return notificationElements.map((element) => {\n return {\n service_name: `${element.service}:${element.account_id}`,\n status: element.status,\n };\n });\n};\n\nexport const servicesList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: \"/postgres-logo.svg\",\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: \"/kafka-logo.svg\",\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: \"/amqp-logo.svg\",\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: \"/mqtt-logo.svg\",\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: \"/redis-logo.svg\",\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: \"/nats-logo.svg\",\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: \"/mysql-logo.svg\",\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: \"/elasticsearch-logo.svg\",\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: \"/webhooks-logo.svg\",\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: \"/nsq-logo.svg\",\n },\n];\n\nconst commonFields = [\n {\n name: \"queue-dir\",\n label: \"Queue Directory\",\n required: true,\n\n tooltip: \"staging dir for undelivered messages e.g. '/home/events'\",\n type: \"string\",\n placeholder: \"Enter Queue Directory\",\n },\n {\n name: \"queue-limit\",\n label: \"Queue Limit\",\n required: false,\n\n tooltip: \"maximum limit for undelivered messages, defaults to '10000'\",\n type: \"number\",\n placeholder: \"Enter Queue Limit\",\n },\n {\n name: \"comment\",\n label: \"Comment\",\n required: false,\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n];\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const notificationEndpointsFields: any = {\n [notifyKafka]: [\n {\n name: \"brokers\",\n label: \"Brokers\",\n required: true,\n\n tooltip: \"Comma separated list of Kafka broker addresses\",\n type: \"string\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n label: \"Topic\",\n tooltip: \"Kafka topic used for bucket notifications\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"sasl_username\",\n label: \"SASL Username\",\n tooltip: \"Username for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Username\",\n },\n {\n name: \"sasl_password\",\n label: \"SASL Password\",\n tooltip: \"Password for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Password\",\n },\n {\n name: \"sasl_mechanism\",\n label: \"SASL Mechanism\",\n tooltip: \"SASL authentication mechanism, default 'PLAIN'\",\n type: \"string\",\n },\n {\n name: \"tls_client_auth\",\n label: \"TLS Client Auth\",\n tooltip:\n \"Client Auth determines the Kafka server's policy for TLS client auth\",\n type: \"string\",\n placeholder: \"Enter TLS Client Auth\",\n },\n {\n name: \"sasl\",\n label: \"SASL\",\n tooltip: \"Set to 'on' to enable SASL authentication\",\n type: \"on|off\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS skip verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"client_tls_cert\",\n label: \"client TLS cert\",\n tooltip: \"Path to client certificate for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Cert\",\n },\n {\n name: \"client_tls_key\",\n label: \"client TLS key\",\n tooltip: \"Path to client key for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Key\",\n },\n {\n name: \"version\",\n label: \"Version\",\n tooltip: \"Specify the version of the Kafka cluster e.g '2.2.0'\",\n type: \"string\",\n placeholder: \"Enter Kafka Version\",\n },\n ...commonFields,\n ],\n [notifyAmqp]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`\",\n type: \"url\",\n },\n {\n name: \"exchange\",\n label: \"Exchange\",\n tooltip: \"Name of the AMQP exchange\",\n type: \"string\",\n placeholder: \"Enter Exchange\",\n },\n {\n name: \"exchange_type\",\n label: \"Exchange Type\",\n tooltip: \"AMQP exchange type\",\n type: \"string\",\n placeholder: \"Enter Exchange Type\",\n },\n {\n name: \"routing_key\",\n label: \"Routing Key\",\n tooltip: \"Routing key for publishing\",\n type: \"string\",\n placeholder: \"Enter Routing Key\",\n },\n {\n name: \"mandatory\",\n label: \"Mandatory\",\n tooltip:\n \"Quietly ignore undelivered messages when set to 'off', default is 'on'\",\n type: \"on|off\",\n },\n {\n name: \"durable\",\n label: \"Durable\",\n tooltip:\n \"Persist queue across broker restarts when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"no_wait\",\n label: \"No Wait\",\n tooltip:\n \"Non-blocking message delivery when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"internal\",\n label: \"Internal\",\n tooltip:\n \"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges\",\n type: \"on|off\",\n },\n {\n name: \"auto_deleted\",\n label: \"Auto Deleted\",\n tooltip:\n \"Auto delete queue when set to 'on', when there are no consumers\",\n type: \"on|off\",\n },\n {\n name: \"delivery_mode\",\n label: \"Delivery Mode\",\n tooltip: \"Set to '1' for non-persistent or '2' for persistent queue\",\n type: \"number\",\n placeholder: \"Enter Delivery Mode\",\n },\n ...commonFields,\n ],\n [notifyRedis]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"Redis server's address. For example: `localhost:6379`\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"key\",\n required: true,\n label: \"Key\",\n tooltip: \"Redis key to store/update events, key is auto-created\",\n type: \"string\",\n placeholder: \"Enter Key\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"Redis server password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n ...commonFields,\n ],\n [notifyMqtt]: [\n {\n name: \"broker\",\n required: true,\n label: \"Broker\",\n tooltip: \"MQTT server endpoint e.g. `tcp://localhost:1883`\",\n type: \"uri\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"name of the MQTT topic to publish\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"MQTT username\",\n type: \"string\",\n placeholder: \"Enter Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"MQTT password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n {\n name: \"qos\",\n label: \"QOS\",\n tooltip: \"Set the quality of service priority, defaults to '0'\",\n type: \"number\",\n placeholder: \"Enter QOS\",\n },\n {\n name: \"keep_alive_interval\",\n label: \"Keep Alive Interval\",\n tooltip: \"Keep-alive interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Keep Alive Internal\",\n },\n {\n name: \"reconnect_interval\",\n label: \"Reconnect Interval\",\n tooltip: \"Reconnect interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Reconnect Interval\",\n },\n ...commonFields,\n ],\n [notifyNats]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"NATS server address e.g. '0.0.0.0:4222'\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"subject\",\n required: true,\n label: \"Subject\",\n tooltip: \"NATS subscription subject\",\n type: \"string\",\n placeholder: \"Enter NATS Subject\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"NATS username\",\n type: \"string\",\n placeholder: \"Enter NATS Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"NATS password\",\n type: \"string\",\n placeholder: \"Enter NATS password\",\n },\n {\n name: \"token\",\n label: \"Token\",\n tooltip: \"NATS token\",\n type: \"string\",\n placeholder: \"Enter NATS token\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"ping_interval\",\n label: \"Ping Interval\",\n tooltip: \"Client ping commands interval in s,m,h,d. Disabled by default\",\n type: \"duration\",\n placeholder: \"Enter Ping Interval\",\n },\n {\n name: \"streaming\",\n label: \"Streaming\",\n tooltip: \"Set to 'on', to use streaming NATS server\",\n type: \"on|off\",\n },\n {\n name: \"streaming_async\",\n label: \"Streaming async\",\n tooltip: \"Set to 'on', to enable asynchronous publish\",\n type: \"on|off\",\n },\n {\n name: \"streaming_max_pub_acks_in_flight\",\n label: \"Streaming max publish ACKS in flight\",\n tooltip: \"Number of messages to publish without waiting for ACKs\",\n type: \"number\",\n placeholder: \"Enter Streaming in flight value\",\n },\n {\n name: \"streaming_cluster_id\",\n label: \"Streaming Cluster ID\",\n tooltip: \"Unique ID for NATS streaming cluster\",\n type: \"string\",\n placeholder: \"Enter Streaming Cluster ID\",\n },\n {\n name: \"cert_authority\",\n label: \"Cert Authority\",\n tooltip: \"Path to certificate chain of the target NATS server\",\n type: \"string\",\n placeholder: \"Enter Cert Authority\",\n },\n {\n name: \"client_cert\",\n label: \"Client Cert\",\n tooltip: \"Client cert for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_key\",\n label: \"Client Key\",\n tooltip: \"Client cert key for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Key\",\n },\n ...commonFields,\n ],\n [notifyElasticsearch]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"Elasticsearch server's address, with optional authentication info\",\n type: \"url\",\n placeholder: \"Enter URL\",\n },\n {\n name: \"index\",\n required: true,\n label: \"Index\",\n tooltip:\n \"Elasticsearch index to store/update events, index is auto-created\",\n type: \"string\",\n placeholder: \"Enter Index\",\n },\n {\n name: \"format\",\n required: true,\n label: \"Format\",\n tooltip:\n \"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\",\n type: \"enum\",\n placeholder: \"Enter Format\",\n },\n ...commonFields,\n ],\n [notifyWebhooks]: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n tooltip:\n \"webhook server endpoint e.g. http://localhost:8080/minio/events\",\n type: \"url\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n label: \"Auth Token\",\n tooltip: \"opaque string or JWT authorization token\",\n type: \"string\",\n placeholder: \"Enter auth_token\",\n },\n ...commonFields,\n ],\n [notifyNsq]: [\n {\n name: \"nsqd_address\",\n required: true,\n label: \"NSQD Address\",\n tooltip: \"NSQ server address e.g. '127.0.0.1:4150'\",\n type: \"address\",\n placeholder: \"Enter nsqd_address\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"NSQ topic\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n ...commonFields,\n ],\n};\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","justifyContent","textDecoration","maxWidth","color","palette","primary","light","icon","marginRight","height","width","borderRadius","background","label","padding","fontSize","fontWeight","to","classes","className","executeOnClick","sx","onClick","WrappedComponent","fallback","ComponentWithSuspense","props","Suspense","pageContentStyles","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","marginLeft","marginTop","rightMenu","textAlign","logo","fill","main","middleComponent","actions","includes","Fragment","direction","sm","md","paddingTop","variant","length","component","id","size","ConfMySql","withSuspense","React","ConfTargetGeneric","ConfPostgres","serverNeedsRestart","setErrorSnackMessage","modalBasic","settingsCommon","lambdaNotif","border","marginBottom","cursor","overflow","lambdaNotifIcon","maxHeight","lambdaNotifTitle","fontFamily","paddingLeft","formBox","match","saveAndRefresh","useState","valuesArr","setValueArr","saving","setSaving","service","params","useEffect","payload","key_values","removeEmptyFields","api","then","history","IAM_PAGES","catch","err","srvComponent","onValueChange","useCallback","newValue","notifyPostgres","onChange","notifyMysql","fields","get","notificationEndpointsFields","targetElement","servicesList","element","actionTrigger","noValidate","onSubmit","event","preventDefault","src","logoButton","alt","targetTitle","configForm","settingsButtonContainer","type","disabled","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationTransform","notificationElements","map","service_name","account_id","status","commonFields","name","required","tooltip","placeholder","formFields","filter","field","value"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3806.8464efb7.chunk.js b/portal-ui/build/static/js/3806.3f0f185b.chunk.js similarity index 70% rename from portal-ui/build/static/js/3806.8464efb7.chunk.js rename to portal-ui/build/static/js/3806.3f0f185b.chunk.js index 12ed02efb..2739dec70 100644 --- a/portal-ui/build/static/js/3806.8464efb7.chunk.js +++ b/portal-ui/build/static/js/3806.3f0f185b.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3806],{8235:function(e,n,t){t(50390);var r=t(86509),i=t(4285),o=t(25594),a=t(62559);n.Z=(0,i.Z)((function(e){return(0,r.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,r=e.title,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},53224:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,r=n.color,i=e.palette.primary.main;return"primary"===r&&"contained"===t?i=e.palette.primary.contrastText:"primary"===r&&"outlined"===t?i=e.palette.primary.main:"secondary"===r&&(i=e.palette.secondary.main),i}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,i.Z)(e,l);return(0,s.jsxs)(o.Z,(0,r.Z)((0,r.Z)({classes:n,tooltip:m||d,variant:"outlined",onClick:t,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},11835:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(86509)),a=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,a.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var n=e.classes,t=e.children,o=(0,i.Z)(e,l);return(0,s.jsx)("button",(0,r.Z)((0,r.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var r=t(18489),i=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,o.Z)(e,p),f=(0,u.jsx)(l.Z,(0,r.Z)((0,r.Z)({},h),{},{className:(0,d.Z)(n.root,(0,i.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:f})}):f}))},37882:function(e,n,t){var r=t(18489),i=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(i.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,r.Z)({},t))})}return t}},25534:function(e,n,t){var r=t(18489),i=(t(50390),t(25594)),o=t(86509),a=t(4285),s=t(72462),l=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,o=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,n,t){var r=t(50390),i=t(34424),o=t(25594),a=t(86509),s=t(4285),l=t(35477),c=t(95467),d=t(26805),u=t(44078),p=t(5265),m=t(86362),h=t(62559),f={toggleList:p.kQ},x=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);n.Z=x((0,s.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,a=e.sidebarOpen,s=e.operatorMode,p=e.managerObjects,f=e.toggleList,x=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(r.Fragment,{}):(0,h.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,h.jsx)("div",{className:n.logo,children:s?(0,h.jsx)(d.Z,{}):(0,h.jsx)(u.Z,{})}),(0,h.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,h.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,h.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[i&&i,p&&p.length>0&&(0,h.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var r=t(36222),i=t(18489),o=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,i=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,h=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:i.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||i.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},83806:function(e,n,t){t.r(n);var r=t(23430),i=t(18489),o=t(50390),a=t(34424),s=t(86509),l=t(4285),c=t(25594),d=t(81378),u=t(86362),p=t(44149),m=t(25233),h=t(72462),f=t(30324),x=t(8174),g=t(35721),Z=t(8235),b=t(24442),v=t(11835),j=t(25534),y=t(23165),C=t(49495),S=t(30140),P=t(37882),F=t(53224),E=t(62559),I=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(875),t.e(4860)]).then(t.bind(t,65284))}))),M=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(5245)]).then(t.bind(t,39251))}))),N=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(6549)]).then(t.bind(t,16549))}))),R={setErrorSnackMessage:p.Ih},k=(0,a.$j)(null,R);n.default=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({tableBlock:(0,i.Z)((0,i.Z)({},h.VX.tableBlock),{},{marginTop:15})},h.OR),{},{searchField:(0,i.Z)((0,i.Z)({},h.qg.searchField),{},{maxWidth:380})},(0,h.Bz)(e.spacing(4))))}))(k((function(e){var n=e.classes,t=e.setErrorSnackMessage,i=(0,o.useState)(!1),a=(0,r.Z)(i,2),s=a[0],l=a[1],p=(0,o.useState)(null),h=(0,r.Z)(p,2),P=h[0],R=h[1],k=(0,o.useState)(!1),w=(0,r.Z)(k,2),A=w[0],O=w[1],T=(0,o.useState)(!1),_=(0,r.Z)(T,2),L=_[0],G=_[1],B=(0,o.useState)([]),z=(0,r.Z)(B,2),D=z[0],U=z[1],K=(0,o.useState)(""),V=(0,r.Z)(K,2),W=V[0],q=V[1],H=(0,o.useState)(!1),Q=(0,r.Z)(H,2),$=Q[0],X=Q[1];(0,o.useEffect)((function(){G(!0)}),[]),(0,o.useEffect)((function(){G(!0)}),[]);var Y=(0,S.F)(C.C3,[C.Ft.ADMIN_LIST_GROUPS]),J=(0,S.F)(C.C3,[C.Ft.ADMIN_REMOVE_USER_FROM_GROUP]),ee=(0,S.F)(C.C3,[C.Ft.ADMIN_GET_GROUP]);(0,o.useEffect)((function(){if(L)if(Y){f.Z.invoke("GET","/api/v1/groups").then((function(e){var n=[];null!==e.groups&&(n=e.groups.sort(m.V2)),U(n),G(!1)})).catch((function(e){t(e),G(!1)}))}else G(!1)}),[L,t,Y]);var ne=D.filter((function(e){return e.includes(W)})),te=[{type:"view",onClick:function(e){b.Z.push("".concat(C.gA.GROUPS,"/").concat(e))},disableButtonFunction:function(){return!ee}},{type:"delete",onClick:function(e){O(!0),R(e)},disableButtonFunction:function(){return!J}}];return(0,E.jsxs)(o.Fragment,{children:[s&&(0,E.jsx)(M,{open:s,selectedGroup:P,closeModalAndRefresh:function(){l(!1),G(!0)}}),A&&(0,E.jsx)(I,{deleteOpen:A,selectedGroup:P,closeDeleteModalAndRefresh:function(e){O(!1),e&&G(!0)}}),X&&(0,E.jsx)(N,{open:$,selectedGroup:P,selectedUser:null,closeModalAndRefresh:function(){X(!1)}}),(0,E.jsx)(g.Z,{label:"Groups"}),(0,E.jsxs)(j.Z,{children:[(0,E.jsxs)(c.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,E.jsx)(S.s,{resource:C.C3,scopes:[C.Ft.ADMIN_LIST_GROUPS],errorProps:{disabled:!0},children:(0,E.jsx)(y.Z,{placeholder:"Search Groups",onChange:q,overrideClass:n.searchField,value:W})}),(0,E.jsx)(S.s,{resource:C.C3,scopes:[C.Ft.ADMIN_ADD_USER_TO_GROUP,C.Ft.ADMIN_LIST_USERS],matchAll:!0,errorProps:{disabled:!0},children:(0,E.jsx)(F.Z,{tooltip:"Create Group",text:"Create Group",variant:"contained",color:"primary",icon:(0,E.jsx)(u.dt,{}),onClick:function(){R(null),l(!0)}})})]}),L&&(0,E.jsx)(d.Z,{}),!L&&(0,E.jsxs)(o.Fragment,{children:[D.length>0&&(0,E.jsxs)(o.Fragment,{children:[(0,E.jsx)(c.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,E.jsx)(S.s,{resource:C.C3,scopes:[C.Ft.ADMIN_LIST_GROUPS],errorProps:{disabled:!0},children:(0,E.jsx)(x.Z,{itemActions:te,columns:[{label:"Name",elementKey:""}],isLoading:L,records:ne,entityName:"Groups",idField:""})})}),(0,E.jsx)(c.ZP,{item:!0,xs:12,children:(0,E.jsx)(Z.Z,{title:"Groups",iconComponent:(0,E.jsx)(u.ww,{}),help:(0,E.jsxs)(o.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,E.jsx)("br",{}),(0,E.jsx)("br",{}),"You can learn more at our"," ",(0,E.jsx)("a",{href:"https://docs.min.io/minio/k8s/tutorials/group-management.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===D.length&&(0,E.jsx)(c.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,E.jsx)(c.ZP,{item:!0,xs:8,children:(0,E.jsx)(Z.Z,{title:"Groups",iconComponent:(0,E.jsx)(u.oy,{}),help:(0,E.jsxs)(o.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,E.jsxs)(S.s,{resource:C.C3,scopes:[C.Ft.ADMIN_ADD_USER_TO_GROUP,C.Ft.ADMIN_LIST_USERS],matchAll:!0,children:[(0,E.jsx)("br",{}),(0,E.jsx)("br",{}),"To get started,"," ",(0,E.jsx)(v.Z,{onClick:function(){R(null),l(!0)},children:"Create a Group"}),"."]})]})})})})]})]})]})})))},25233:function(e,n,t){t.d(n,{LQ:function(){return r},g4:function(){return i},V2:function(){return o}});var r=function(e,n){return e.accessKey>n.accessKey?1:e.accessKeyn.name?1:e.namen?1:e=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}t.d(n,{Z:function(){return r}})}}]); -//# sourceMappingURL=3806.8464efb7.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3806],{8235:function(e,n,t){t(50390);var r=t(86509),i=t(4285),o=t(25594),a=t(62559);n.Z=(0,i.Z)((function(e){return(0,r.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,r=e.title,i=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(o.ZP,{container:!0,children:[(0,a.jsxs)(o.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,r]}),(0,a.jsx)(o.ZP,{item:!0,xs:12,className:n.helpText,children:i})]})})}))},53224:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,r=n.color,i=e.palette.primary.main;return"primary"===r&&"contained"===t?i=e.palette.primary.contrastText:"primary"===r&&"outlined"===t?i=e.palette.primary.main:"secondary"===r&&(i=e.palette.secondary.main),i}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,i.Z)(e,l);return(0,s.jsxs)(o.Z,(0,r.Z)((0,r.Z)({classes:n,tooltip:m||d,variant:"outlined",onClick:t,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},11835:function(e,n,t){var r=t(18489),i=t(83738),o=(t(50390),t(86509)),a=t(4285),s=t(62559),l=["classes","children"];n.Z=(0,a.Z)((function(e){return(0,o.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var n=e.classes,t=e.children,o=(0,i.Z)(e,l);return(0,s.jsx)("button",(0,r.Z)((0,r.Z)({},o),{},{className:n.root,children:t}))}))},70758:function(e,n,t){var r=t(18489),i=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,o.Z)(e,p),f=(0,u.jsx)(l.Z,(0,r.Z)((0,r.Z)({},h),{},{className:(0,d.Z)(n.root,(0,i.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:f})}):f}))},37882:function(e,n,t){var r=t(18489),i=t(50390),o=t(62559);n.Z=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;function t(t){return(0,o.jsx)(i.Suspense,{fallback:n,children:(0,o.jsx)(e,(0,r.Z)({},t))})}return t}},25534:function(e,n,t){var r=t(18489),i=(t(50390),t(25594)),o=t(86509),a=t(4285),s=t(72462),l=t(62559);n.Z=(0,a.Z)((function(e){return(0,o.Z)((0,r.Z)({},s.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,o=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:r,children:o})})})}))},35721:function(e,n,t){var r=t(50390),i=t(34424),o=t(25594),a=t(86509),s=t(4285),l=t(35477),c=t(95467),d=t(26805),u=t(44078),p=t(5265),m=t(14549),h=t(62559),f={toggleList:p.kQ},x=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);n.Z=x((0,s.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,a=e.sidebarOpen,s=e.operatorMode,p=e.managerObjects,f=e.toggleList,x=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(r.Fragment,{}):(0,h.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,h.jsx)("div",{className:n.logo,children:s?(0,h.jsx)(d.Z,{}):(0,h.jsx)(u.Z,{})}),(0,h.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,h.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,h.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[i&&i,p&&p.length>0&&(0,h.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var r=t(36222),i=t(18489),o=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,i.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,i=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,h=(0,r.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(o.Z,{position:d,className:i.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||i.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},83806:function(e,n,t){t.r(n);var r=t(23430),i=t(18489),o=t(50390),a=t(34424),s=t(86509),l=t(4285),c=t(25594),d=t(81378),u=t(14549),p=t(44149),m=t(25233),h=t(72462),f=t(30324),x=t(8174),g=t(35721),Z=t(8235),b=t(24442),v=t(11835),j=t(25534),y=t(23165),C=t(49495),S=t(30140),P=t(37882),F=t(53224),E=t(62559),I=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(875),t.e(4860)]).then(t.bind(t,65284))}))),M=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(5245)]).then(t.bind(t,39251))}))),N=(0,P.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(6549)]).then(t.bind(t,16549))}))),R={setErrorSnackMessage:p.Ih},k=(0,a.$j)(null,R);n.default=(0,l.Z)((function(e){return(0,s.Z)((0,i.Z)((0,i.Z)({tableBlock:(0,i.Z)((0,i.Z)({},h.VX.tableBlock),{},{marginTop:15})},h.OR),{},{searchField:(0,i.Z)((0,i.Z)({},h.qg.searchField),{},{maxWidth:380})},(0,h.Bz)(e.spacing(4))))}))(k((function(e){var n=e.classes,t=e.setErrorSnackMessage,i=(0,o.useState)(!1),a=(0,r.Z)(i,2),s=a[0],l=a[1],p=(0,o.useState)(null),h=(0,r.Z)(p,2),P=h[0],R=h[1],k=(0,o.useState)(!1),w=(0,r.Z)(k,2),A=w[0],O=w[1],T=(0,o.useState)(!1),_=(0,r.Z)(T,2),L=_[0],G=_[1],B=(0,o.useState)([]),z=(0,r.Z)(B,2),D=z[0],U=z[1],K=(0,o.useState)(""),V=(0,r.Z)(K,2),W=V[0],q=V[1],H=(0,o.useState)(!1),Q=(0,r.Z)(H,2),$=Q[0],X=Q[1];(0,o.useEffect)((function(){G(!0)}),[]),(0,o.useEffect)((function(){G(!0)}),[]);var Y=(0,S.F)(C.C3,[C.Ft.ADMIN_LIST_GROUPS]),J=(0,S.F)(C.C3,[C.Ft.ADMIN_REMOVE_USER_FROM_GROUP]),ee=(0,S.F)(C.C3,[C.Ft.ADMIN_GET_GROUP]);(0,o.useEffect)((function(){if(L)if(Y){f.Z.invoke("GET","/api/v1/groups").then((function(e){var n=[];null!==e.groups&&(n=e.groups.sort(m.V2)),U(n),G(!1)})).catch((function(e){t(e),G(!1)}))}else G(!1)}),[L,t,Y]);var ne=D.filter((function(e){return e.includes(W)})),te=[{type:"view",onClick:function(e){b.Z.push("".concat(C.gA.GROUPS,"/").concat(e))},disableButtonFunction:function(){return!ee}},{type:"delete",onClick:function(e){O(!0),R(e)},disableButtonFunction:function(){return!J}}];return(0,E.jsxs)(o.Fragment,{children:[s&&(0,E.jsx)(M,{open:s,selectedGroup:P,closeModalAndRefresh:function(){l(!1),G(!0)}}),A&&(0,E.jsx)(I,{deleteOpen:A,selectedGroup:P,closeDeleteModalAndRefresh:function(e){O(!1),e&&G(!0)}}),X&&(0,E.jsx)(N,{open:$,selectedGroup:P,selectedUser:null,closeModalAndRefresh:function(){X(!1)}}),(0,E.jsx)(g.Z,{label:"Groups"}),(0,E.jsxs)(j.Z,{children:[(0,E.jsxs)(c.ZP,{item:!0,xs:12,className:n.actionsTray,children:[(0,E.jsx)(S.s,{resource:C.C3,scopes:[C.Ft.ADMIN_LIST_GROUPS],errorProps:{disabled:!0},children:(0,E.jsx)(y.Z,{placeholder:"Search Groups",onChange:q,overrideClass:n.searchField,value:W})}),(0,E.jsx)(S.s,{resource:C.C3,scopes:[C.Ft.ADMIN_ADD_USER_TO_GROUP,C.Ft.ADMIN_LIST_USERS],matchAll:!0,errorProps:{disabled:!0},children:(0,E.jsx)(F.Z,{tooltip:"Create Group",text:"Create Group",variant:"contained",color:"primary",icon:(0,E.jsx)(u.dt,{}),onClick:function(){R(null),l(!0)}})})]}),L&&(0,E.jsx)(d.Z,{}),!L&&(0,E.jsxs)(o.Fragment,{children:[D.length>0&&(0,E.jsxs)(o.Fragment,{children:[(0,E.jsx)(c.ZP,{item:!0,xs:12,className:n.tableBlock,children:(0,E.jsx)(S.s,{resource:C.C3,scopes:[C.Ft.ADMIN_LIST_GROUPS],errorProps:{disabled:!0},children:(0,E.jsx)(x.Z,{itemActions:te,columns:[{label:"Name",elementKey:""}],isLoading:L,records:ne,entityName:"Groups",idField:""})})}),(0,E.jsx)(c.ZP,{item:!0,xs:12,marginTop:"25px",children:(0,E.jsx)(Z.Z,{title:"Groups",iconComponent:(0,E.jsx)(u.ww,{}),help:(0,E.jsxs)(o.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,E.jsx)("br",{}),(0,E.jsx)("br",{}),"You can learn more at our"," ",(0,E.jsx)("a",{href:"https://docs.min.io/minio/k8s/tutorials/group-management.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===D.length&&(0,E.jsx)(c.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,E.jsx)(c.ZP,{item:!0,xs:8,children:(0,E.jsx)(Z.Z,{title:"Groups",iconComponent:(0,E.jsx)(u.oy,{}),help:(0,E.jsxs)(o.Fragment,{children:["A group can have one attached IAM policy, where all users with membership in that group inherit that policy. Groups support more simplified management of user permissions on the MinIO Tenant.",(0,E.jsxs)(S.s,{resource:C.C3,scopes:[C.Ft.ADMIN_ADD_USER_TO_GROUP,C.Ft.ADMIN_LIST_USERS],matchAll:!0,children:[(0,E.jsx)("br",{}),(0,E.jsx)("br",{}),"To get started,"," ",(0,E.jsx)(v.Z,{onClick:function(){R(null),l(!0)},children:"Create a Group"}),"."]})]})})})})]})]})]})})))},25233:function(e,n,t){t.d(n,{LQ:function(){return r},g4:function(){return i},V2:function(){return o}});var r=function(e,n){return e.accessKey>n.accessKey?1:e.accessKeyn.name?1:e.namen?1:e=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}t.d(n,{Z:function(){return r}})}}]); +//# sourceMappingURL=3806.3f0f185b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3806.3f0f185b.chunk.js.map b/portal-ui/build/static/js/3806.3f0f185b.chunk.js.map new file mode 100644 index 000000000..2f4f382bd --- /dev/null +++ b/portal-ui/build/static/js/3806.3f0f185b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3806.3f0f185b.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Groups/Groups.tsx","utils/sortFunctions.ts","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
    \n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

    (\n WrappedComponent: ComponentType

    ,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\nimport { AddIcon, GroupsIcon, UsersIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { GroupsList } from \"./types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport history from \"../../../history\";\nimport AButton from \"../Common/AButton/AButton\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst DeleteGroup = withSuspense(React.lazy(() => import(\"./DeleteGroup\")));\nconst AddGroup = withSuspense(React.lazy(() => import(\"../Groups/AddGroup\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\n\ninterface IGroupsProps {\n classes: any;\n openGroupModal: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...actionsTray,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Groups = ({ classes, setErrorSnackMessage }: IGroupsProps) => {\n const [addGroupOpen, setGroupOpen] = useState(false);\n const [selectedGroup, setSelectedGroup] = useState(null);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [loading, isLoading] = useState(false);\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [policyOpen, setPolicyOpen] = useState(false);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n const displayGroups = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n ]);\n\n const deleteGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_REMOVE_USER_FROM_GROUP,\n ]);\n\n const getGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\n ]);\n\n useEffect(() => {\n if (loading) {\n if (displayGroups) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let resGroups: string[] = [];\n if (res.groups !== null) {\n resGroups = res.groups.sort(stringSort);\n }\n setRecords(resGroups);\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n isLoading(false);\n });\n };\n fetchRecords();\n } else {\n isLoading(false);\n }\n }\n }, [loading, setErrorSnackMessage, displayGroups]);\n\n const closeAddModalAndRefresh = () => {\n setGroupOpen(false);\n isLoading(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n isLoading(true);\n }\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter)\n );\n\n const viewAction = (group: any) => {\n history.push(`${IAM_PAGES.GROUPS}/${group}`);\n };\n\n const deleteAction = (group: any) => {\n setDeleteOpen(true);\n setSelectedGroup(group);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n {\n type: \"delete\",\n onClick: deleteAction,\n disableButtonFunction: () => !deleteGroup,\n },\n ];\n\n return (\n \n {addGroupOpen && (\n \n )}\n {deleteOpen && (\n \n )}\n {setPolicyOpen && (\n {\n setPolicyOpen(false);\n }}\n />\n )}\n \n\n \n \n \n \n \n\n \n }\n onClick={() => {\n setSelectedGroup(null);\n setGroupOpen(true);\n }}\n />\n \n \n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n
    \n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n \n
    \n
    \n To get started,{\" \"}\n {\n setSelectedGroup(null);\n setGroupOpen(true);\n }}\n >\n Create a Group\n \n .\n \n
    \n }\n />\n
    \n \n )}\n
    \n )}\n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(Groups));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","includes","Fragment","direction","sm","md","length","component","id","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","InputProps","e","target","DeleteGroup","withSuspense","React","AddGroup","SetPolicy","setErrorSnackMessage","tableBlock","tableStyles","actionsTray","maxWidth","containerForHeader","spacing","useState","addGroupOpen","setGroupOpen","selectedGroup","setSelectedGroup","deleteOpen","setDeleteOpen","loading","isLoading","records","setRecords","filter","setFilter","policyOpen","setPolicyOpen","useEffect","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deleteGroup","getGroup","api","then","res","resGroups","groups","sort","stringSort","catch","err","filteredRecords","elementItem","tableActions","type","group","history","IAM_PAGES","disableButtonFunction","open","closeModalAndRefresh","closeDeleteModalAndRefresh","refresh","selectedUser","resource","scopes","errorProps","matchAll","itemActions","columns","elementKey","entityName","idField","href","rel","alignContent","usersSort","a","b","accessKey","policySort","name","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3806.8464efb7.chunk.js.map b/portal-ui/build/static/js/3806.8464efb7.chunk.js.map deleted file mode 100644 index 4ccdc422a..000000000 --- a/portal-ui/build/static/js/3806.8464efb7.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3806.8464efb7.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Components/withSuspense.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Groups/Groups.tsx","utils/sortFunctions.ts","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
    \n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ComponentType, Suspense, SuspenseProps } from \"react\";\n\nfunction withSuspense

    (\n WrappedComponent: ComponentType

    ,\n fallback: SuspenseProps[\"fallback\"] = null\n) {\n function ComponentWithSuspense(props: P) {\n return (\n \n \n \n );\n }\n\n return ComponentWithSuspense;\n}\n\nexport default withSuspense;\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n

    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { LinearProgress } from \"@mui/material\";\nimport { AddIcon, GroupsIcon, UsersIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { GroupsList } from \"./types\";\nimport { stringSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport history from \"../../../history\";\nimport AButton from \"../Common/AButton/AButton\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst DeleteGroup = withSuspense(React.lazy(() => import(\"./DeleteGroup\")));\nconst AddGroup = withSuspense(React.lazy(() => import(\"../Groups/AddGroup\")));\nconst SetPolicy = withSuspense(\n React.lazy(() => import(\"../Policies/SetPolicy\"))\n);\n\ninterface IGroupsProps {\n classes: any;\n openGroupModal: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...actionsTray,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Groups = ({ classes, setErrorSnackMessage }: IGroupsProps) => {\n const [addGroupOpen, setGroupOpen] = useState(false);\n const [selectedGroup, setSelectedGroup] = useState(null);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [loading, isLoading] = useState(false);\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [policyOpen, setPolicyOpen] = useState(false);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n isLoading(true);\n }, []);\n\n const displayGroups = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n ]);\n\n const deleteGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_REMOVE_USER_FROM_GROUP,\n ]);\n\n const getGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\n ]);\n\n useEffect(() => {\n if (loading) {\n if (displayGroups) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/groups`)\n .then((res: GroupsList) => {\n let resGroups: string[] = [];\n if (res.groups !== null) {\n resGroups = res.groups.sort(stringSort);\n }\n setRecords(resGroups);\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n isLoading(false);\n });\n };\n fetchRecords();\n } else {\n isLoading(false);\n }\n }\n }, [loading, setErrorSnackMessage, displayGroups]);\n\n const closeAddModalAndRefresh = () => {\n setGroupOpen(false);\n isLoading(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n isLoading(true);\n }\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.includes(filter)\n );\n\n const viewAction = (group: any) => {\n history.push(`${IAM_PAGES.GROUPS}/${group}`);\n };\n\n const deleteAction = (group: any) => {\n setDeleteOpen(true);\n setSelectedGroup(group);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !getGroup,\n },\n {\n type: \"delete\",\n onClick: deleteAction,\n disableButtonFunction: () => !deleteGroup,\n },\n ];\n\n return (\n \n {addGroupOpen && (\n \n )}\n {deleteOpen && (\n \n )}\n {setPolicyOpen && (\n {\n setPolicyOpen(false);\n }}\n />\n )}\n \n\n \n \n \n \n \n\n \n }\n onClick={() => {\n setSelectedGroup(null);\n setGroupOpen(true);\n }}\n />\n \n \n {loading && }\n {!loading && (\n \n {records.length > 0 && (\n \n \n \n \n \n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n
    \n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n A group can have one attached IAM policy, where all\n users with membership in that group inherit that policy.\n Groups support more simplified management of user\n permissions on the MinIO Tenant.\n \n
    \n
    \n To get started,{\" \"}\n {\n setSelectedGroup(null);\n setGroupOpen(true);\n }}\n >\n Create a Group\n \n .\n \n
    \n }\n />\n
    \n \n )}\n
    \n )}\n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(Groups));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\ninterface userInterface {\n accessKey: string;\n}\n\ninterface policyInterface {\n name: string;\n}\n\nexport const usersSort = (a: userInterface, b: userInterface) => {\n if (a.accessKey > b.accessKey) {\n return 1;\n }\n if (a.accessKey < b.accessKey) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const policySort = (a: policyInterface, b: policyInterface) => {\n if (a.name > b.name) {\n return 1;\n }\n if (a.name < b.name) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n\nexport const stringSort = (a: string, b: string) => {\n if (a > b) {\n return 1;\n }\n if (a < b) {\n return -1;\n }\n // a must be equal to b\n return 0;\n};\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","WrappedComponent","fallback","ComponentWithSuspense","Suspense","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","includes","Fragment","direction","sm","md","length","component","id","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","InputProps","e","target","DeleteGroup","withSuspense","React","AddGroup","SetPolicy","setErrorSnackMessage","tableBlock","tableStyles","actionsTray","maxWidth","containerForHeader","spacing","useState","addGroupOpen","setGroupOpen","selectedGroup","setSelectedGroup","deleteOpen","setDeleteOpen","loading","isLoading","records","setRecords","filter","setFilter","policyOpen","setPolicyOpen","useEffect","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deleteGroup","getGroup","api","then","res","resGroups","groups","sort","stringSort","catch","err","filteredRecords","elementItem","tableActions","type","group","history","IAM_PAGES","disableButtonFunction","open","closeModalAndRefresh","closeDeleteModalAndRefresh","refresh","selectedUser","resource","scopes","errorProps","matchAll","itemActions","columns","elementKey","entityName","idField","href","rel","alignContent","usersSort","a","b","accessKey","policySort","name","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3816.c0b2fb6b.chunk.js b/portal-ui/build/static/js/3816.c0b2fb6b.chunk.js deleted file mode 100644 index a0d4d5516..000000000 --- a/portal-ui/build/static/js/3816.c0b2fb6b.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3816],{95239:function(e,t,o){o.r(t);var n=o(23430),i=o(18489),a=o(50390),r=o(34424),l=o(66946),c=o(86509),s=o(4285),d=o(25594),u=o(72462),p=o(44149),m=o(30324),f=o(51002),g=o(67754),x=o(86362),Z=o(70014),h=o(62559);(0,c.Z)((0,i.Z)((0,i.Z)({},u.ID),u.bK));var b=(0,r.$j)(null,{setModalErrorSnackMessage:p.zb});t.default=(0,s.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({codeMirrorContainer:{marginBottom:20,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},u.DF),u.ID),u.bK))}))(b((function(e){var t=e.classes,o=e.open,i=e.bucketName,r=e.actualPolicy,c=e.actualDefinition,s=e.closeModalAndRefresh,u=e.setModalErrorSnackMessage,p=(0,a.useState)(!1),b=(0,n.Z)(p,2),v=b[0],C=b[1],j=(0,a.useState)(""),k=(0,n.Z)(j,2),y=k[0],M=k[1],S=(0,a.useState)(""),B=(0,n.Z)(S,2),P=B[0],N=B[1];return(0,a.useEffect)((function(){M(r),N(c?JSON.stringify(JSON.parse(c),null,4):"")}),[M,r,N,c]),(0,h.jsx)(f.Z,{title:"Change Access Policy",modalOpen:o,onClose:function(){s()},titleIcon:(0,h.jsx)(x.QX,{}),children:(0,h.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),v||(C(!0),m.Z.invoke("PUT","/api/v1/buckets/".concat(i,"/set-policy"),{access:y,definition:P}).then((function(e){C(!1),s()})).catch((function(e){C(!1),u(e)})))},children:(0,h.jsxs)(d.ZP,{container:!0,children:[(0,h.jsxs)(d.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,h.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,h.jsx)(g.Z,{value:y,label:"Access Policy",id:"select-access-policy",name:"select-access-policy",onChange:function(e){M(e.target.value)},options:[{value:"PRIVATE",label:"Private"},{value:"PUBLIC",label:"Public"},{value:"CUSTOM",label:"Custom"}]})}),"CUSTOM"===y&&(0,h.jsx)(d.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:(0,h.jsx)(Z.Z,{label:"Write Policy",value:P,onBeforeChange:function(e,t,o){N(o)},editorHeight:"350px"})})]}),(0,h.jsxs)(d.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,h.jsx)(l.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){s()},disabled:v,children:"Cancel"}),(0,h.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:v||"CUSTOM"===y&&!P,children:"Set"})]})]})})})})))},70014:function(e,t,o){var n=o(35531),i=o(23430),a=o(18489),r=o(50390),l=o(25594),c=(o(2574),o(20704)),s=o(54880),d=o(21563),u=o(36297),p=o(36554),m=o(94187),f=o(56805),g=o(86509),x=o(4285),Z=o(97538),h=o(72462),b=o(86362),v=o(53224),C=o(33034),j=o.n(C),k=o(53357),y=o(62559),M={json:d.AV,yaml:function(){return s.i.define(u.r)}},S=k.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),B=k.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,x.Z)((function(e){return(0,g.Z)((0,a.Z)((0,a.Z)({},h.YI),{},{inputLabel:(0,a.Z)((0,a.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.value,o=e.label,a=void 0===o?"":o,s=e.tooltip,d=void 0===s?"":s,u=e.mode,g=void 0===u?"json":u,x=e.classes,h=e.onBeforeChange,C=e.readOnly,k=void 0!==C&&C,P=e.editorHeight,N=void 0===P?"250px":P,I=(0,r.useState)(!1),F=(0,i.Z)(I,2),w=F[0],L=F[1],O=[];return M[g]&&(O=[].concat((0,n.Z)(O),[M[g]()])),(0,y.jsxs)(r.Fragment,{children:[(0,y.jsxs)(p.Z,{className:x.inputLabel,children:[(0,y.jsx)("span",{children:a}),""!==d&&(0,y.jsx)("div",{className:x.tooltipContainer,children:(0,y.jsx)(m.Z,{title:d,placement:"top-start",children:(0,y.jsx)("div",{className:x.tooltip,children:(0,y.jsx)(Z.Z,{})})})})]}),(0,y.jsx)(l.ZP,{item:!0,xs:12,children:(0,y.jsx)("br",{})}),(0,y.jsxs)(l.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,y.jsx)(l.ZP,{item:!0,xs:12,children:(0,y.jsx)(c.ZP,{value:t,theme:w?B:S,extensions:O,editable:!k,basicSetup:!0,height:N,onChange:function(e,t){h(null,null,e)}})}),(0,y.jsx)(l.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:w?"#282c34":"#f7f7f7"},children:(0,y.jsxs)(f.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:[(0,y.jsx)(v.Z,{tooltip:"Change theme",onClick:function(){L(!w)},text:"",icon:(0,y.jsx)(b.EO,{}),color:"primary",variant:"outlined"}),(0,y.jsx)(j(),{text:t,children:(0,y.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,y.jsx)(b.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},67754:function(e,t,o){var n=o(18489),i=o(50390),a=o(25594),r=o(46413),l=o(36554),c=o(94187),s=o(47554),d=o(43965),u=o(31680),p=o(86509),m=o(4285),f=o(72462),g=o(97538),x=o(62559),Z=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},f.YI),f.Hr),{},{inputLabel:(0,n.Z)((0,n.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,o=e.id,n=e.name,r=e.onChange,p=e.options,m=e.label,f=e.tooltip,h=void 0===f?"":f,b=e.value,v=e.disabled,C=void 0!==v&&v;return(0,x.jsx)(i.Fragment,{children:(0,x.jsxs)(a.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,x.jsxs)(l.Z,{htmlFor:o,className:t.inputLabel,children:[(0,x.jsx)("span",{children:m}),""!==h&&(0,x.jsx)("div",{className:t.tooltipContainer,children:(0,x.jsx)(c.Z,{title:h,placement:"top-start",children:(0,x.jsx)("div",{className:t.tooltip,children:(0,x.jsx)(g.Z,{})})})})]}),(0,x.jsx)(s.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:o,name:n,value:b,onChange:r,input:(0,x.jsx)(Z,{}),disabled:C,children:p.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(n,"-").concat(e.label))}))})})]})})}))},51002:function(e,t,o){var n=o(23430),i=o(18489),a=o(50390),r=o(34424),l=o(95467),c=o(97771),s=o(84402),d=o(78426),u=o(93085),p=o(86509),m=o(4285),f=o(72462),g=o(44149),x=o(21278),Z=o(45980),h=o(62559),b=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK});t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},f.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(b((function(e){var t=e.onClose,o=e.modalOpen,r=e.title,p=e.children,m=e.classes,f=e.wideLimit,g=void 0===f||f,b=e.modalSnackMessage,v=e.noContentPadding,C=e.setModalSnackMessage,j=e.titleIcon,k=void 0===j?null:j,y=(0,a.useState)(!1),M=(0,n.Z)(y,2),S=M[0],B=M[1];(0,a.useEffect)((function(){C("")}),[C]),(0,a.useEffect)((function(){if(b){if(""===b.message)return void B(!1);"error"!==b.type&&B(!0)}}),[b]);var P=g?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},N="";return b&&(N=b.detailedErrorMsg,(""===b.detailedErrorMsg||b.detailedErrorMsg.length<5)&&(N=b.message)),(0,h.jsxs)(s.Z,(0,i.Z)((0,i.Z)({open:o,classes:m},P),{},{scroll:"paper",onClose:function(e,o){"backdropClick"!==o&&t()},className:m.root,children:[(0,h.jsxs)(d.Z,{className:m.title,children:[(0,h.jsxs)("div",{className:m.titleText,children:[k," ",r]}),(0,h.jsx)("div",{className:m.closeContainer,children:(0,h.jsx)(l.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,h.jsx)(x.Z,{})})})]}),(0,h.jsx)(Z.Z,{isModal:!0}),(0,h.jsx)(c.Z,{open:S,className:m.snackBarModal,onClose:function(){B(!1),C("")},message:N,ContentProps:{className:"".concat(m.snackBar," ").concat(b&&"error"===b.type?m.errorSnackBar:"")},autoHideDuration:b&&"error"===b.type?1e4:5e3}),(0,h.jsx)(u.Z,{className:v?"":m.content,children:p})]}))})))},21278:function(e,t,o){var n=o(64119);t.Z=void 0;var i=n(o(66830)),a=o(62559),r=(0,i.default)((0,a.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=r},4247:function(e,t,o){o.d(t,{V:function(){return i}});var n=o(10594);function i(e){return(0,n.Z)("MuiDivider",e)}var a=(0,o(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},31680:function(e,t,o){o.d(t,{Z:function(){return M}});var n=o(36222),i=o(1048),a=o(32793),r=o(50390),l=o(44977),c=o(50076),s=o(36128),d=o(8208),u=o(15573),p=o(57308),m=o(86875),f=o(40839),g=o(3299),x=o(4247),Z=o(2198),h=o(23586),b=o(10594);function v(e){return(0,b.Z)("MuiMenuItem",e)}var C=(0,o(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),j=o(62559),k=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],y=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.dense&&t.dense,o.divider&&t.divider,!o.disableGutters&&t.gutters]}})((function(e){var t,o=e.theme,i=e.ownerState;return(0,a.Z)({},o.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!i.disableGutters&&{paddingLeft:16,paddingRight:16},i.divider&&{borderBottom:"1px solid ".concat(o.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:o.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,n.Z)(t,"&.".concat(C.selected),(0,n.Z)({backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)},"&.".concat(C.focusVisible),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)})),(0,n.Z)(t,"&.".concat(C.selected,":hover"),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)}}),(0,n.Z)(t,"&.".concat(C.focusVisible),{backgroundColor:o.palette.action.focus}),(0,n.Z)(t,"&.".concat(C.disabled),{opacity:o.palette.action.disabledOpacity}),(0,n.Z)(t,"& + .".concat(x.Z.root),{marginTop:o.spacing(1),marginBottom:o.spacing(1)}),(0,n.Z)(t,"& + .".concat(x.Z.inset),{marginLeft:52}),(0,n.Z)(t,"& .".concat(h.Z.root),{marginTop:0,marginBottom:0}),(0,n.Z)(t,"& .".concat(h.Z.inset),{paddingLeft:36}),(0,n.Z)(t,"& .".concat(Z.Z.root),{minWidth:36}),t),!i.dense&&(0,n.Z)({},o.breakpoints.up("sm"),{minHeight:"auto"}),i.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},o.typography.body2,(0,n.Z)({},"& .".concat(Z.Z.root," svg"),{fontSize:"1.25rem"})))})),M=r.forwardRef((function(e,t){var o=(0,u.Z)({props:e,name:"MuiMenuItem"}),n=o.autoFocus,s=void 0!==n&&n,d=o.component,m=void 0===d?"li":d,x=o.dense,Z=void 0!==x&&x,h=o.divider,b=void 0!==h&&h,C=o.disableGutters,M=void 0!==C&&C,S=o.focusVisibleClassName,B=o.role,P=void 0===B?"menuitem":B,N=o.tabIndex,I=(0,i.Z)(o,k),F=r.useContext(p.Z),w={dense:Z||F.dense||!1,disableGutters:M},L=r.useRef(null);(0,f.Z)((function(){s&&L.current&&L.current.focus()}),[s]);var O,R=(0,a.Z)({},o,{dense:w.dense,divider:b,disableGutters:M}),E=function(e){var t=e.disabled,o=e.dense,n=e.divider,i=e.disableGutters,r=e.selected,l=e.classes,s={root:["root",o&&"dense",t&&"disabled",!i&&"gutters",n&&"divider",r&&"selected"]},d=(0,c.Z)(s,v,l);return(0,a.Z)({},l,d)}(o),T=(0,g.Z)(L,t);return o.disabled||(O=void 0!==N?N:-1),(0,j.jsx)(p.Z.Provider,{value:w,children:(0,j.jsx)(y,(0,a.Z)({ref:T,role:P,tabIndex:O,component:m,focusVisibleClassName:(0,l.Z)(E.focusVisible,S)},I,{ownerState:R,classes:E}))})}))}}]); -//# sourceMappingURL=3816.c0b2fb6b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3816.c0b2fb6b.chunk.js.map b/portal-ui/build/static/js/3816.c0b2fb6b.chunk.js.map deleted file mode 100644 index 833d62c75..000000000 --- a/portal-ui/build/static/js/3816.c0b2fb6b.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/3816.c0b2fb6b.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { ChangeAccessPolicyIcon } from \"../../../../icons\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n codeMirrorContainer: {\n marginBottom: 20,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\ncreateStyles({\n ...modalStyleUtils,\n ...spacingUtils,\n});\n\ninterface ISetAccessPolicyProps {\n classes: any;\n open: boolean;\n bucketName: string;\n actualPolicy: string;\n actualDefinition: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetAccessPolicy = ({\n classes,\n open,\n bucketName,\n actualPolicy,\n actualDefinition,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: ISetAccessPolicyProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [accessPolicy, setAccessPolicy] = useState(\"\");\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/set-policy`, {\n access: accessPolicy,\n definition: policyDefinition,\n })\n .then((res) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n setAccessPolicy(actualPolicy);\n setPolicyDefinition(\n actualDefinition\n ? JSON.stringify(JSON.parse(actualDefinition), null, 4)\n : \"\"\n );\n }, [setAccessPolicy, actualPolicy, setPolicyDefinition, actualDefinition]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n titleIcon={}\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n \n ) => {\n setAccessPolicy(e.target.value as string);\n }}\n options={[\n { value: \"PRIVATE\", label: \"Private\" },\n { value: \"PUBLIC\", label: \"Public\" },\n { value: \"CUSTOM\", label: \"Custom\" },\n ]}\n />\n \n {accessPolicy === \"CUSTOM\" && (\n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n disabled={addLoading}\n >\n Cancel\n \n \n Set\n \n \n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SetAccessPolicy));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n \n
    \n
    \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n
    \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["createStyles","modalStyleUtils","spacingUtils","connector","connect","setModalErrorSnackMessage","withStyles","theme","codeMirrorContainer","marginBottom","display","formFieldStyles","classes","open","bucketName","actualPolicy","actualDefinition","closeModalAndRefresh","useState","addLoading","setAddLoading","accessPolicy","setAccessPolicy","policyDefinition","setPolicyDefinition","useEffect","JSON","stringify","parse","title","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","api","access","definition","then","res","catch","err","container","item","xs","className","modalFormScrollable","formFieldRow","value","label","id","name","onChange","target","options","onBeforeChange","editor","data","editorHeight","modalButtonBar","type","variant","color","onClick","disabled","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","border","borderRight","fontSize","fontWeight","dark","darkTheme","fieldBasic","inputLabel","tooltip","mode","readOnly","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","sx","extensions","editable","basicSetup","height","v","vu","borderTop","background","alignItems","padding","paddingRight","justifyContent","width","marginLeft","text","icon","SelectStyled","root","lineHeight","marginTop","spacing","input","position","borderRadius","borderColor","InputBase","tooltipHelper","fieldContainer","flexFlow","htmlFor","fullWidth","map","option","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","length","scroll","event","reason","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","textDecoration","minHeight","paddingTop","boxSizing","whiteSpace","paddingLeft","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","autoFocus","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","clsx","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3816.ebc07860.chunk.js b/portal-ui/build/static/js/3816.ebc07860.chunk.js new file mode 100644 index 000000000..ca0381db8 --- /dev/null +++ b/portal-ui/build/static/js/3816.ebc07860.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3816],{95239:function(e,t,o){o.r(t);var n=o(23430),i=o(18489),a=o(50390),r=o(34424),l=o(66946),c=o(86509),s=o(4285),d=o(25594),u=o(72462),p=o(44149),m=o(30324),f=o(51002),g=o(67754),x=o(14549),Z=o(70014),h=o(62559);(0,c.Z)((0,i.Z)((0,i.Z)({},u.ID),u.bK));var b=(0,r.$j)(null,{setModalErrorSnackMessage:p.zb});t.default=(0,s.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)((0,i.Z)({codeMirrorContainer:{marginBottom:20,"& label":{marginBottom:".5rem"},"& label + div":{display:"none"}}},u.DF),u.ID),u.bK))}))(b((function(e){var t=e.classes,o=e.open,i=e.bucketName,r=e.actualPolicy,c=e.actualDefinition,s=e.closeModalAndRefresh,u=e.setModalErrorSnackMessage,p=(0,a.useState)(!1),b=(0,n.Z)(p,2),v=b[0],C=b[1],j=(0,a.useState)(""),k=(0,n.Z)(j,2),y=k[0],S=k[1],M=(0,a.useState)(""),B=(0,n.Z)(M,2),N=B[0],P=B[1];return(0,a.useEffect)((function(){S(r),P(c?JSON.stringify(JSON.parse(c),null,4):"")}),[S,r,P,c]),(0,h.jsx)(f.Z,{title:"Change Access Policy",modalOpen:o,onClose:function(){s()},titleIcon:(0,h.jsx)(x.QX,{}),children:(0,h.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),v||(C(!0),m.Z.invoke("PUT","/api/v1/buckets/".concat(i,"/set-policy"),{access:y,definition:N}).then((function(e){C(!1),s()})).catch((function(e){C(!1),u(e)})))},children:(0,h.jsxs)(d.ZP,{container:!0,children:[(0,h.jsxs)(d.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,h.jsx)(d.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,h.jsx)(g.Z,{value:y,label:"Access Policy",id:"select-access-policy",name:"select-access-policy",onChange:function(e){S(e.target.value)},options:[{value:"PRIVATE",label:"Private"},{value:"PUBLIC",label:"Public"},{value:"CUSTOM",label:"Custom"}]})}),"CUSTOM"===y&&(0,h.jsx)(d.ZP,{item:!0,xs:12,className:t.codeMirrorContainer,children:(0,h.jsx)(Z.Z,{label:"Write Policy",value:N,onBeforeChange:function(e,t,o){P(o)},editorHeight:"350px"})})]}),(0,h.jsxs)(d.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,h.jsx)(l.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){s()},disabled:v,children:"Cancel"}),(0,h.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:v||"CUSTOM"===y&&!N,children:"Set"})]})]})})})})))},70014:function(e,t,o){var n=o(35531),i=o(23430),a=o(18489),r=o(50390),l=o(25594),c=(o(2574),o(20704)),s=o(54880),d=o(21563),u=o(36297),p=o(36554),m=o(94187),f=o(56805),g=o(86509),x=o(4285),Z=o(97538),h=o(72462),b=o(14549),v=o(53224),C=o(33034),j=o.n(C),k=o(53357),y=o(62559),S={json:d.AV,yaml:function(){return s.i.define(u.r)}},M=k.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),B=k.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,x.Z)((function(e){return(0,g.Z)((0,a.Z)((0,a.Z)({},h.YI),{},{inputLabel:(0,a.Z)((0,a.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.value,o=e.label,a=void 0===o?"":o,s=e.tooltip,d=void 0===s?"":s,u=e.mode,g=void 0===u?"json":u,x=e.classes,h=e.onBeforeChange,C=e.readOnly,k=void 0!==C&&C,N=e.editorHeight,P=void 0===N?"250px":N,I=(0,r.useState)(!1),F=(0,i.Z)(I,2),w=F[0],L=F[1],O=[];return S[g]&&(O=[].concat((0,n.Z)(O),[S[g]()])),(0,y.jsxs)(r.Fragment,{children:[(0,y.jsxs)(p.Z,{className:x.inputLabel,children:[(0,y.jsx)("span",{children:a}),""!==d&&(0,y.jsx)("div",{className:x.tooltipContainer,children:(0,y.jsx)(m.Z,{title:d,placement:"top-start",children:(0,y.jsx)("div",{className:x.tooltip,children:(0,y.jsx)(Z.Z,{})})})})]}),(0,y.jsx)(l.ZP,{item:!0,xs:12,children:(0,y.jsx)("br",{})}),(0,y.jsxs)(l.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,y.jsx)(l.ZP,{item:!0,xs:12,children:(0,y.jsx)(c.ZP,{value:t,theme:w?B:M,extensions:O,editable:!k,basicSetup:!0,height:P,onChange:function(e,t){h(null,null,e)}})}),(0,y.jsx)(l.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:w?"#282c34":"#f7f7f7"},children:(0,y.jsxs)(f.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:[(0,y.jsx)(v.Z,{tooltip:"Change theme",onClick:function(){L(!w)},text:"",icon:(0,y.jsx)(b.EO,{}),color:"primary",variant:"outlined"}),(0,y.jsx)(j(),{text:t,children:(0,y.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,y.jsx)(b.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},67754:function(e,t,o){var n=o(18489),i=o(50390),a=o(25594),r=o(46413),l=o(36554),c=o(94187),s=o(47554),d=o(43965),u=o(31680),p=o(86509),m=o(4285),f=o(72462),g=o(97538),x=o(62559),Z=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,n.Z)((0,n.Z)((0,n.Z)({},f.YI),f.Hr),{},{inputLabel:(0,n.Z)((0,n.Z)({},f.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,o=e.id,n=e.name,r=e.onChange,p=e.options,m=e.label,f=e.tooltip,h=void 0===f?"":f,b=e.value,v=e.disabled,C=void 0!==v&&v;return(0,x.jsx)(i.Fragment,{children:(0,x.jsxs)(a.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,x.jsxs)(l.Z,{htmlFor:o,className:t.inputLabel,children:[(0,x.jsx)("span",{children:m}),""!==h&&(0,x.jsx)("div",{className:t.tooltipContainer,children:(0,x.jsx)(c.Z,{title:h,placement:"top-start",children:(0,x.jsx)("div",{className:t.tooltip,children:(0,x.jsx)(g.Z,{})})})})]}),(0,x.jsx)(s.Z,{fullWidth:!0,children:(0,x.jsx)(d.Z,{id:o,name:n,value:b,onChange:r,input:(0,x.jsx)(Z,{}),disabled:C,children:p.map((function(e){return(0,x.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(n,"-").concat(e.label))}))})})]})})}))},51002:function(e,t,o){var n=o(23430),i=o(18489),a=o(50390),r=o(34424),l=o(95467),c=o(97771),s=o(84402),d=o(78426),u=o(93085),p=o(86509),m=o(4285),f=o(72462),g=o(44149),x=o(21278),Z=o(45980),h=o(62559),b=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:g.MK});t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},f.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},f.sN))}))(b((function(e){var t=e.onClose,o=e.modalOpen,r=e.title,p=e.children,m=e.classes,f=e.wideLimit,g=void 0===f||f,b=e.modalSnackMessage,v=e.noContentPadding,C=e.setModalSnackMessage,j=e.titleIcon,k=void 0===j?null:j,y=(0,a.useState)(!1),S=(0,n.Z)(y,2),M=S[0],B=S[1];(0,a.useEffect)((function(){C("")}),[C]),(0,a.useEffect)((function(){if(b){if(""===b.message)return void B(!1);"error"!==b.type&&B(!0)}}),[b]);var N=g?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},P="";return b&&(P=b.detailedErrorMsg,(""===b.detailedErrorMsg||b.detailedErrorMsg.length<5)&&(P=b.message)),(0,h.jsxs)(s.Z,(0,i.Z)((0,i.Z)({open:o,classes:m},N),{},{scroll:"paper",onClose:function(e,o){"backdropClick"!==o&&t()},className:m.root,children:[(0,h.jsxs)(d.Z,{className:m.title,children:[(0,h.jsxs)("div",{className:m.titleText,children:[k," ",r]}),(0,h.jsx)("div",{className:m.closeContainer,children:(0,h.jsx)(l.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,h.jsx)(x.Z,{})})})]}),(0,h.jsx)(Z.Z,{isModal:!0}),(0,h.jsx)(c.Z,{open:M,className:m.snackBarModal,onClose:function(){B(!1),C("")},message:P,ContentProps:{className:"".concat(m.snackBar," ").concat(b&&"error"===b.type?m.errorSnackBar:"")},autoHideDuration:b&&"error"===b.type?1e4:5e3}),(0,h.jsx)(u.Z,{className:v?"":m.content,children:p})]}))})))},21278:function(e,t,o){var n=o(64119);t.Z=void 0;var i=n(o(66830)),a=o(62559),r=(0,i.default)((0,a.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=r},4247:function(e,t,o){o.d(t,{V:function(){return i}});var n=o(10594);function i(e){return(0,n.Z)("MuiDivider",e)}var a=(0,o(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},31680:function(e,t,o){o.d(t,{Z:function(){return S}});var n=o(36222),i=o(1048),a=o(32793),r=o(50390),l=o(44977),c=o(50076),s=o(36128),d=o(8208),u=o(15573),p=o(57308),m=o(86875),f=o(40839),g=o(3299),x=o(4247),Z=o(2198),h=o(23586),b=o(10594);function v(e){return(0,b.Z)("MuiMenuItem",e)}var C=(0,o(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),j=o(62559),k=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],y=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var o=e.ownerState;return[t.root,o.dense&&t.dense,o.divider&&t.divider,!o.disableGutters&&t.gutters]}})((function(e){var t,o=e.theme,i=e.ownerState;return(0,a.Z)({},o.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!i.disableGutters&&{paddingLeft:16,paddingRight:16},i.divider&&{borderBottom:"1px solid ".concat(o.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:o.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,n.Z)(t,"&.".concat(C.selected),(0,n.Z)({backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)},"&.".concat(C.focusVisible),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.focusOpacity)})),(0,n.Z)(t,"&.".concat(C.selected,":hover"),{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity+o.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,s.Fq)(o.palette.primary.main,o.palette.action.selectedOpacity)}}),(0,n.Z)(t,"&.".concat(C.focusVisible),{backgroundColor:o.palette.action.focus}),(0,n.Z)(t,"&.".concat(C.disabled),{opacity:o.palette.action.disabledOpacity}),(0,n.Z)(t,"& + .".concat(x.Z.root),{marginTop:o.spacing(1),marginBottom:o.spacing(1)}),(0,n.Z)(t,"& + .".concat(x.Z.inset),{marginLeft:52}),(0,n.Z)(t,"& .".concat(h.Z.root),{marginTop:0,marginBottom:0}),(0,n.Z)(t,"& .".concat(h.Z.inset),{paddingLeft:36}),(0,n.Z)(t,"& .".concat(Z.Z.root),{minWidth:36}),t),!i.dense&&(0,n.Z)({},o.breakpoints.up("sm"),{minHeight:"auto"}),i.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},o.typography.body2,(0,n.Z)({},"& .".concat(Z.Z.root," svg"),{fontSize:"1.25rem"})))})),S=r.forwardRef((function(e,t){var o=(0,u.Z)({props:e,name:"MuiMenuItem"}),n=o.autoFocus,s=void 0!==n&&n,d=o.component,m=void 0===d?"li":d,x=o.dense,Z=void 0!==x&&x,h=o.divider,b=void 0!==h&&h,C=o.disableGutters,S=void 0!==C&&C,M=o.focusVisibleClassName,B=o.role,N=void 0===B?"menuitem":B,P=o.tabIndex,I=(0,i.Z)(o,k),F=r.useContext(p.Z),w={dense:Z||F.dense||!1,disableGutters:S},L=r.useRef(null);(0,f.Z)((function(){s&&L.current&&L.current.focus()}),[s]);var O,R=(0,a.Z)({},o,{dense:w.dense,divider:b,disableGutters:S}),E=function(e){var t=e.disabled,o=e.dense,n=e.divider,i=e.disableGutters,r=e.selected,l=e.classes,s={root:["root",o&&"dense",t&&"disabled",!i&&"gutters",n&&"divider",r&&"selected"]},d=(0,c.Z)(s,v,l);return(0,a.Z)({},l,d)}(o),T=(0,g.Z)(L,t);return o.disabled||(O=void 0!==P?P:-1),(0,j.jsx)(p.Z.Provider,{value:w,children:(0,j.jsx)(y,(0,a.Z)({ref:T,role:N,tabIndex:O,component:m,focusVisibleClassName:(0,l.Z)(E.focusVisible,M)},I,{ownerState:R,classes:E}))})}))}}]); +//# sourceMappingURL=3816.ebc07860.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3816.ebc07860.chunk.js.map b/portal-ui/build/static/js/3816.ebc07860.chunk.js.map new file mode 100644 index 000000000..eb1195bef --- /dev/null +++ b/portal-ui/build/static/js/3816.ebc07860.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/3816.ebc07860.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Button, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { ChangeAccessPolicyIcon } from \"../../../../icons\";\nimport CodeMirrorWrapper from \"../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n codeMirrorContainer: {\n marginBottom: 20,\n \"& label\": {\n marginBottom: \".5rem\",\n },\n \"& label + div\": {\n display: \"none\",\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n ...spacingUtils,\n });\ncreateStyles({\n ...modalStyleUtils,\n ...spacingUtils,\n});\n\ninterface ISetAccessPolicyProps {\n classes: any;\n open: boolean;\n bucketName: string;\n actualPolicy: string;\n actualDefinition: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst SetAccessPolicy = ({\n classes,\n open,\n bucketName,\n actualPolicy,\n actualDefinition,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: ISetAccessPolicyProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [accessPolicy, setAccessPolicy] = useState(\"\");\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"PUT\", `/api/v1/buckets/${bucketName}/set-policy`, {\n access: accessPolicy,\n definition: policyDefinition,\n })\n .then((res) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n useEffect(() => {\n setAccessPolicy(actualPolicy);\n setPolicyDefinition(\n actualDefinition\n ? JSON.stringify(JSON.parse(actualDefinition), null, 4)\n : \"\"\n );\n }, [setAccessPolicy, actualPolicy, setPolicyDefinition, actualDefinition]);\n\n return (\n {\n closeModalAndRefresh();\n }}\n titleIcon={}\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n \n ) => {\n setAccessPolicy(e.target.value as string);\n }}\n options={[\n { value: \"PRIVATE\", label: \"Private\" },\n { value: \"PUBLIC\", label: \"Public\" },\n { value: \"CUSTOM\", label: \"Custom\" },\n ]}\n />\n \n {accessPolicy === \"CUSTOM\" && (\n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n disabled={addLoading}\n >\n Cancel\n \n \n Set\n \n \n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(SetAccessPolicy));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n \n
    \n
    \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n
    \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["createStyles","modalStyleUtils","spacingUtils","connector","connect","setModalErrorSnackMessage","withStyles","theme","codeMirrorContainer","marginBottom","display","formFieldStyles","classes","open","bucketName","actualPolicy","actualDefinition","closeModalAndRefresh","useState","addLoading","setAddLoading","accessPolicy","setAccessPolicy","policyDefinition","setPolicyDefinition","useEffect","JSON","stringify","parse","title","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","api","access","definition","then","res","catch","err","container","item","xs","className","modalFormScrollable","formFieldRow","value","label","id","name","onChange","target","options","onBeforeChange","editor","data","editorHeight","modalButtonBar","type","variant","color","onClick","disabled","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","backgroundColor","caretColor","borderLeftColor","border","borderRight","fontSize","fontWeight","dark","darkTheme","fieldBasic","inputLabel","tooltip","mode","readOnly","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","sx","extensions","editable","basicSetup","height","v","vu","borderTop","background","alignItems","padding","paddingRight","justifyContent","width","marginLeft","text","icon","SelectStyled","root","lineHeight","marginTop","spacing","input","position","borderRadius","borderColor","InputBase","tooltipHelper","fieldContainer","flexFlow","htmlFor","fullWidth","map","option","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","maxWidth","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","length","scroll","event","reason","titleText","closeContainer","closeButton","disableRipple","size","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","props","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","textDecoration","minHeight","paddingTop","boxSizing","whiteSpace","paddingLeft","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","autoFocus","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","clsx","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/3967.2cb35507.chunk.js b/portal-ui/build/static/js/3967.689e32b8.chunk.js similarity index 98% rename from portal-ui/build/static/js/3967.2cb35507.chunk.js rename to portal-ui/build/static/js/3967.689e32b8.chunk.js index 93a171c21..5b049ac5f 100644 --- a/portal-ui/build/static/js/3967.2cb35507.chunk.js +++ b/portal-ui/build/static/js/3967.689e32b8.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3967],{8235:function(e,n,t){t(50390);var i=t(86509),o=t(4285),r=t(25594),a=t(62559);n.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,i=e.title,o=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(r.ZP,{container:!0,children:[(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,a.jsx)(r.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},53224:function(e,n,t){var i=t(18489),o=t(83738),r=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,o=e.palette.primary.main;return"primary"===i&&"contained"===t?o=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?o=e.palette.primary.main:"secondary"===i&&(o=e.palette.secondary.main),o}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,o.Z)(e,l);return(0,s.jsxs)(r.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:m||d,variant:"outlined",onClick:t,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},70758:function(e,n,t){var i=t(18489),o=t(36222),r=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,r.Z)(e,p),f=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},h),{},{className:(0,d.Z)(n.root,(0,o.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:f})}):f}))},35721:function(e,n,t){var i=t(50390),o=t(34424),r=t(25594),a=t(86509),s=t(4285),l=t(35477),c=t(95467),d=t(26805),u=t(44078),p=t(5265),m=t(86362),h=t(62559),f={toggleList:p.kQ},x=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);n.Z=x((0,s.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,o=e.actions,a=e.sidebarOpen,s=e.operatorMode,p=e.managerObjects,f=e.toggleList,x=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(i.Fragment,{}):(0,h.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,h.jsx)("div",{className:n.logo,children:s?(0,h.jsx)(d.Z,{}):(0,h.jsx)(u.Z,{})}),(0,h.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,h.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,h.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[o&&o,p&&p.length>0&&(0,h.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var i=t(36222),o=t(18489),r=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,h=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(r.Z,{position:d,className:o.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||o.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},63967:function(e,n,t){t.r(n);var i=t(23430),o=t(18489),r=t(50390),a=t(34424),s=t(38342),l=t.n(s),c=t(86509),d=t(4285),u=t(25594),p=t(86362),m=t(44149),h=t(72462),f=t(8174),x=t(35721),b=t(30324),g=t(24442),Z=t(8235),v=t(25534),y=t(49495),j=t(30140),C=t(23165),P=t(37882),I=t(53224),E=t(62559),S=(0,P.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(8954),t.e(9645)]).then(t.bind(t,88881))}))),M=(0,P.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(875),t.e(5710)]).then(t.bind(t,24121))}))),A={setErrorSnackMessage:m.Ih},L=(0,a.$j)(null,A);n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},h.OR),h.qg),{},{searchField:(0,o.Z)((0,o.Z)({},h.qg.searchField),{},{maxWidth:380}),tableBlock:(0,o.Z)((0,o.Z)({},h.VX.tableBlock),{},{marginTop:15})},(0,h.Bz)(e.spacing(4))))}))(L((function(e){var n=e.classes,t=e.setErrorSnackMessage,o=(0,r.useState)([]),a=(0,i.Z)(o,2),s=a[0],c=a[1],d=(0,r.useState)(!1),m=(0,i.Z)(d,2),h=m[0],P=m[1],A=(0,r.useState)(!1),L=(0,i.Z)(A,2),k=L[0],F=L[1],N=(0,r.useState)(!1),O=(0,i.Z)(N,2),w=O[0],T=O[1],B=(0,r.useState)(""),R=(0,i.Z)(B,2),z=R[0],_=R[1],D=(0,r.useState)(""),W=(0,i.Z)(D,2),Y=W[0],q=W[1],U=(0,r.useState)(null),G=(0,i.Z)(U,2),H=G[0],$=G[1],K=(0,j.F)(y.C3,[y.Ft.ADMIN_GET_POLICY]),Q=(0,j.F)(y.C3,[y.Ft.ADMIN_DELETE_POLICY]),V=(0,j.F)(y.C3,[y.Ft.ADMIN_LIST_USER_POLICIES]);(0,r.useEffect)((function(){X()}),[]),(0,r.useEffect)((function(){h&&(V?b.Z.invoke("GET","/api/v1/policies").then((function(e){var n=l()(e,"policies",[]);n.sort((function(e,n){return e.name>n.name?1:e.name=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}t.d(n,{Z:function(){return i}})}}]); -//# sourceMappingURL=3967.2cb35507.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[3967],{8235:function(e,n,t){t(50390);var i=t(86509),o=t(4285),r=t(25594),a=t(62559);n.Z=(0,o.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var n=e.classes,t=e.iconComponent,i=e.title,o=e.help;return(0,a.jsx)("div",{className:n.root,children:(0,a.jsxs)(r.ZP,{container:!0,children:[(0,a.jsxs)(r.ZP,{item:!0,xs:12,className:n.leftItems,children:[t,i]}),(0,a.jsx)(r.ZP,{item:!0,xs:12,className:n.helpText,children:o})]})})}))},53224:function(e,n,t){var i=t(18489),o=t(83738),r=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,o=e.palette.primary.main;return"primary"===i&&"contained"===t?o=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?o=e.palette.primary.main:"secondary"===i&&(o=e.palette.secondary.main),o}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,f=void 0===h?null:h,x=(0,o.Z)(e,l);return(0,s.jsxs)(r.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:m||d,variant:"outlined",onClick:t,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},x),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},70758:function(e,n,t){var i=t(18489),o=t(36222),r=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),p=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,m=e.tooltip,h=(0,r.Z)(e,p),f=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},h),{},{className:(0,d.Z)(n.root,(0,o.Z)({},n.contained,"contained"===s)),children:t}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:f})}):f}))},35721:function(e,n,t){var i=t(50390),o=t(34424),r=t(25594),a=t(86509),s=t(4285),l=t(35477),c=t(95467),d=t(26805),u=t(44078),p=t(5265),m=t(14549),h=t(62559),f={toggleList:p.kQ},x=(0,o.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);n.Z=x((0,s.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,o=e.actions,a=e.sidebarOpen,s=e.operatorMode,p=e.managerObjects,f=e.toggleList,x=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(i.Fragment,{}):(0,h.jsxs)(r.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,h.jsx)("div",{className:n.logo,children:s?(0,h.jsx)(d.Z,{}):(0,h.jsx)(u.Z,{})}),(0,h.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),x&&(0,h.jsx)(r.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:x}),(0,h.jsxs)(r.ZP,{item:!0,xs:12,sm:12,md:x?3:6,className:n.rightMenu,children:[o&&o,p&&p.length>0&&(0,h.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},23165:function(e,n,t){var i=t(36222),o=t(18489),r=(t(50390),t(65771)),a=t(13336),s=t(12066),l=t(4285),c=t(86509),d=t(72462),u=t(62559);n.Z=(0,l.Z)((function(e){return(0,c.Z)({searchField:(0,o.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var n=e.placeholder,t=void 0===n?"":n,o=e.classes,l=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,p=e.overrideClass,m=e.value,h=(0,i.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,u.jsx)(r.Z,{position:d,className:o.adornment,children:(0,u.jsx)(a.Z,{})}));return(0,u.jsx)(s.Z,{placeholder:t,className:p||o.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){l(e.target.value)},variant:"standard",value:m})}))},63967:function(e,n,t){t.r(n);var i=t(23430),o=t(18489),r=t(50390),a=t(34424),s=t(38342),l=t.n(s),c=t(86509),d=t(4285),u=t(25594),p=t(14549),m=t(44149),h=t(72462),f=t(8174),x=t(35721),b=t(30324),g=t(24442),Z=t(8235),v=t(25534),y=t(49495),j=t(30140),C=t(23165),P=t(37882),I=t(53224),E=t(62559),S=(0,P.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(8954),t.e(9645)]).then(t.bind(t,88881))}))),M=(0,P.Z)(r.lazy((function(){return Promise.all([t.e(5444),t.e(875),t.e(5710)]).then(t.bind(t,24121))}))),A={setErrorSnackMessage:m.Ih},L=(0,a.$j)(null,A);n.default=(0,d.Z)((function(e){return(0,c.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},h.OR),h.qg),{},{searchField:(0,o.Z)((0,o.Z)({},h.qg.searchField),{},{maxWidth:380}),tableBlock:(0,o.Z)((0,o.Z)({},h.VX.tableBlock),{},{marginTop:15})},(0,h.Bz)(e.spacing(4))))}))(L((function(e){var n=e.classes,t=e.setErrorSnackMessage,o=(0,r.useState)([]),a=(0,i.Z)(o,2),s=a[0],c=a[1],d=(0,r.useState)(!1),m=(0,i.Z)(d,2),h=m[0],P=m[1],A=(0,r.useState)(!1),L=(0,i.Z)(A,2),k=L[0],F=L[1],N=(0,r.useState)(!1),O=(0,i.Z)(N,2),w=O[0],T=O[1],B=(0,r.useState)(""),R=(0,i.Z)(B,2),z=R[0],_=R[1],D=(0,r.useState)(""),W=(0,i.Z)(D,2),Y=W[0],q=W[1],U=(0,r.useState)(null),G=(0,i.Z)(U,2),H=G[0],$=G[1],K=(0,j.F)(y.C3,[y.Ft.ADMIN_GET_POLICY]),Q=(0,j.F)(y.C3,[y.Ft.ADMIN_DELETE_POLICY]),V=(0,j.F)(y.C3,[y.Ft.ADMIN_LIST_USER_POLICIES]);(0,r.useEffect)((function(){X()}),[]),(0,r.useEffect)((function(){h&&(V?b.Z.invoke("GET","/api/v1/policies").then((function(e){var n=l()(e,"policies",[]);n.sort((function(e,n){return e.name>n.name?1:e.name=0||(o[t]=e[t]);return o}(e,n);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(o[t]=e[t])}return o}t.d(n,{Z:function(){return i}})}}]); +//# sourceMappingURL=3967.689e32b8.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/3967.2cb35507.chunk.js.map b/portal-ui/build/static/js/3967.689e32b8.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/3967.2cb35507.chunk.js.map rename to portal-ui/build/static/js/3967.689e32b8.chunk.js.map index 5c2a4ec28..02f092576 100644 --- a/portal-ui/build/static/js/3967.2cb35507.chunk.js.map +++ b/portal-ui/build/static/js/3967.689e32b8.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/3967.2cb35507.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Policies/ListPolicies.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
    \n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Policy, PolicyList } from \"./types\";\nimport { AddIcon, IAMPoliciesIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport history from \"../../../history\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../common/SecureComponent\";\nimport SearchBox from \"../Common/SearchBox\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst AddPolicy = withSuspense(React.lazy(() => import(\"./AddPolicy\")));\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IPoliciesProps {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst ListPolicies = ({ classes, setErrorSnackMessage }: IPoliciesProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [addScreenOpen, setAddScreenOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPolicy, setSelectedPolicy] = useState(\"\");\n const [filterPolicies, setFilterPolicies] = useState(\"\");\n const [policyEdit, setPolicyEdit] = useState(null);\n\n const viewPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n ]);\n\n const deletePolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_DELETE_POLICY,\n ]);\n\n const displayPolicies = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n ]);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n if (displayPolicies) {\n api\n .invoke(\"GET\", `/api/v1/policies`)\n .then((res: PolicyList) => {\n const policies = get(res, \"policies\", []);\n\n policies.sort((pa, pb) => {\n if (pa.name > pb.name) {\n return 1;\n }\n\n if (pa.name < pb.name) {\n return -1;\n }\n\n return 0;\n });\n\n setLoading(false);\n setRecords(policies);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, setLoading, setRecords, setErrorSnackMessage, displayPolicies]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const closeAddModalAndRefresh = (refresh: boolean) => {\n setAddScreenOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const confirmDeletePolicy = (policy: string) => {\n setDeleteOpen(true);\n setSelectedPolicy(policy);\n };\n\n const viewAction = (policy: any) => {\n history.push(`${IAM_PAGES.POLICIES}/${policy.name}`);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !viewPolicy,\n },\n {\n type: \"delete\",\n onClick: confirmDeletePolicy,\n sendOnlyId: true,\n disableButtonFunction: () => !deletePolicy,\n },\n ];\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filterPolicies)\n );\n\n return (\n \n {addScreenOpen && (\n \n )}\n {deleteOpen && (\n \n )}\n \n \n \n \n\n \n }\n onClick={() => {\n setAddScreenOpen(true);\n setPolicyEdit(null);\n }}\n />\n \n \n \n
    \n
    \n \n \n \n \n \n \n }\n help={\n \n MinIO uses Policy-Based Access Control (PBAC) to define the\n authorized actions and resources to which an authenticated user\n has access. Each policy describes one or more actions and\n conditions that outline the permissions of a user or group of\n users.\n
    \n
    \n MinIO PBAC is built for compatibility with AWS IAM policy\n syntax, structure, and behavior. The MinIO documentation makes a\n best-effort to cover IAM-specific behavior and functionality.\n Consider deferring to the IAM documentation for more complete\n documentation on AWS IAM-specific topics.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListPolicies));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","includes","Fragment","direction","sm","md","length","component","id","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","InputProps","e","target","AddPolicy","withSuspense","React","DeletePolicy","setErrorSnackMessage","actionsTray","maxWidth","tableBlock","tableStyles","containerForHeader","spacing","useState","records","setRecords","loading","setLoading","addScreenOpen","setAddScreenOpen","deleteOpen","setDeleteOpen","selectedPolicy","setSelectedPolicy","filterPolicies","setFilterPolicies","policyEdit","setPolicyEdit","viewPolicy","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deletePolicy","displayPolicies","useEffect","fetchRecords","api","then","res","policies","get","sort","pa","pb","name","catch","err","tableActions","type","policy","history","IAM_PAGES","disableButtonFunction","sendOnlyId","filteredRecords","filter","elementItem","open","closeModalAndRefresh","refresh","closeDeleteModalAndRefresh","pageContainer","scopes","resource","errorProps","itemActions","columns","elementKey","isLoading","entityName","idField","href","rel","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/3967.689e32b8.chunk.js","mappings":"oKA0EA,KAAeA,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJC,OAAQ,oBACRC,aAAc,EACdC,gBAAiB,UACjBC,YAAa,GACbC,WAAY,GACZC,cAAe,GACfC,aAAc,IAEhBC,UAAW,CACTC,SAAU,GACVC,WAAY,OACZC,aAAc,GACdC,QAAS,OACTC,WAAY,SACZ,cAAe,CACbC,YAAa,GACbC,OAAQ,GACRC,MAAO,KAGXC,SAAU,CACRR,SAAU,GACVL,YAAa,OA2BnB,EAhBgB,SAAC,GAAuD,IAArDc,EAAoD,EAApDA,QAASC,EAA2C,EAA3CA,cAAeC,EAA4B,EAA5BA,MAAOC,EAAqB,EAArBA,KAChD,OACE,gBAAKC,UAAWJ,EAAQlB,KAAxB,UACE,UAAC,KAAD,CAAMuB,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQV,UAAtC,UACGW,EACAC,MAEH,SAAC,KAAD,CAAMI,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQD,SAAtC,SACGI,a,6IChCLK,GAAYC,EAAAA,EAAAA,IAAW,SAAC7B,GAiB5B,MAAO,CACLE,KAAM,CACJ4B,QAAS,MACTC,MAAO,SAACC,GAAD,OAnBY,SAACA,GACtB,IAAQC,EAAmBD,EAAnBC,QAASF,EAAUC,EAAVD,MAEbG,EAAWlC,EAAMmC,QAAQC,QAAQC,KAUrC,MARc,YAAVN,GAAmC,cAAZE,EACzBC,EAAWlC,EAAMmC,QAAQC,QAAQE,aACd,YAAVP,GAAmC,aAAZE,EAChCC,EAAWlC,EAAMmC,QAAQC,QAAQC,KACd,cAAVN,IACTG,EAAWlC,EAAMmC,QAAQI,UAAUF,MAG9BH,EAM0BM,CAAeR,IAC9CS,YAAa,SAACT,GAAD,MACK,cAAhBA,EAAMD,MACF/B,EAAMmC,QAAQI,UAAUF,KACxBrC,EAAMmC,QAAQC,QAAQC,MAC5B,iBAAkB,CAChBnB,MAAO,GACPwB,WAAY,SAACV,GAAD,OAAyBA,EAAMW,KAAO,MAAQ,OAC1D,4BAA6B,CAC3BzB,MAAO,GACPwB,WAAY,wBA2CtB,IApCqB,SAACV,GACpB,IAAMZ,EAAUQ,EAAUI,GAGxBY,EAMEZ,EANFY,QADF,EAOIZ,EALFW,KAAAA,OAFF,MAES,GAFT,IAOIX,EAJFa,SAAAA,OAHF,SAIEC,EAGEd,EAHFc,QAJF,EAOId,EAFFe,KAAAA,OALF,MAKS,KALT,EAMKC,GANL,OAOIhB,EAPJ,GASA,OACE,UAAC,KAAD,gBACEZ,QAASA,EACT0B,QAASA,GAAWH,EACpBV,QAAQ,WACRW,QAASA,EACTC,SAAUA,EACVd,MAAM,YACNkB,KAAK,SACLC,GAAI,CACF/C,OAAQ,oBACR,SAAU,CACRQ,SAAU,GACV,4BAA6B,CAC3BG,QAAS,WAIXkC,GAjBN,eAmBE,0BAAOL,IAnBT,IAmBuBI,Q,oLCL3B,KAAehD,EAAAA,EAAAA,IA5EA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJ4B,QAAS,EACTY,WAAY,EACZS,YAAa,EACbV,YAAa,UACbV,MAAO,UACPqB,YAAa,QACbhD,aAAc,EACd,cAAe,CAEbc,MAAO,IAET,8BAA+B,CAC7Bb,gBAAiBL,EAAMmC,QAAQC,QAAQC,KACvCjC,aAAc,EACdiD,QAAS,IAEX,aAAc,CACZtB,MAAO,UACPU,YAAa,YAGjBa,UAAW,CACTb,YAAazC,EAAMmC,QAAQC,QAAQC,KACnCkB,WAAYvD,EAAMmC,QAAQC,QAAQC,KAClCN,MAAO,QACP,8BAA+B,CAC7B1B,gBAAiBL,EAAMmC,QAAQC,QAAQoB,KACvCpD,aAAc,EACdiD,QAAS,IAEX,UAAW,CACThD,gBAAiBL,EAAMmC,QAAQC,QAAQqB,MACvC1B,MAAO,aAyCf,EA7BsB,SAAC,GAMA,IALrBX,EAKoB,EALpBA,QACAsC,EAIoB,EAJpBA,SAIoB,IAHpBzB,QAAAA,OAGoB,MAHV,WAGU,EAFpBa,EAEoB,EAFpBA,QACGa,GACiB,YACdC,GACJ,SAAC,KAAD,kBACMD,GADN,IAEEnC,WAAWqC,EAAAA,EAAAA,GAAKzC,EAAQlB,MAAT,UACZkB,EAAQkC,UAAwB,cAAZrB,IAHzB,SAMGyB,KAIL,OAAIZ,GAAuB,KAAZA,GAEX,SAAC,IAAD,CAASxB,MAAOwB,EAAhB,UACE,0BAAOc,MAKNA,M,4JCwEHE,EAAqB,CACzBC,WAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,KAXD,SAACC,GAAD,MAAsB,CACrCC,YAAaD,EAAME,OAAOD,YAC1BE,aAAcH,EAAME,OAAOC,aAC3BC,eAAgBJ,EAAMK,cAAcC,cAAcC,gBAClDC,SAAUR,EAAMS,QAAQC,QAAQF,YAOEZ,GAEpC,IAAeE,GAAUjE,EAAAA,EAAAA,IAnIV,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACX4E,gBAAiB,CACf3D,MAAO,OACP4D,UAAW,GACXhE,QAAS,OACTT,gBAAiB,OACjB0E,KAAM,EACNC,UAAW,8BAEbC,MAAO,CACLnE,QAAS,OACToE,eAAgB,aAChBnE,WAAY,UAEdoE,WAAY,CACVpD,MAAO,OACPpB,SAAU,GACVC,WAAY,IACZ8B,WAAY,GACZ0C,UAAW,GAEbC,UAAW,CACTC,UAAW,SAEbC,KAAM,CACJ7C,WAAY,GACZ8C,KAAMxF,EAAMmC,QAAQC,QAAQC,KAC5B,cAAe,CACbnB,MAAO,MAGXuE,gBAAiB,CACf3E,QAAS,OACToE,eAAgB,SAChBnE,WAAY,cAgGOhB,EA5FN,SAAC,GAUA,IATlBqB,EASiB,EATjBA,QACA6D,EAQiB,EARjBA,MACAS,EAOiB,EAPjBA,QACAvB,EAMiB,EANjBA,YACAE,EAKiB,EALjBA,aACAC,EAIiB,EAJjBA,eACAP,EAGiB,EAHjBA,WACA0B,EAEiB,EAFjBA,gBAGA,OADiB,EADjBf,SAEaiB,SAAS,cACb,SAAC,EAAAC,SAAD,KAGP,UAAC,KAAD,CACEnE,WAAS,EACTD,UAAS,UAAKJ,EAAQyD,gBAAb,gBACTgB,UAAU,MACV9E,WAAW,SAJb,WAME,UAAC,KAAD,CACEW,MAAI,EACJC,GAAI,GACJmE,GAAI,GACJC,GAAIN,EAAkB,EAAI,EAC1BjE,UAAWJ,EAAQ6D,MACnB/B,GAAI,CACF3C,WAAY,CAAC,OAAQ,OAAQ,IAAK,MAPtC,WAUI4D,IACA,gBAAK3C,UAAWJ,EAAQmE,KAAxB,SACGlB,GAAe,SAAC,IAAD,KAAmB,SAAC,IAAD,OAGvC,SAAC,IAAD,CAAYpC,QAAQ,KAAKT,UAAWJ,EAAQ+D,WAA5C,SACGF,OAGJQ,IACC,SAAC,KAAD,CACE/D,MAAI,EACJC,GAAI,GACJmE,GAAI,GACJC,GAAI,EACJvE,UAAWJ,EAAQqE,gBACnBvC,GAAI,CAAEkC,UAAW,CAAC,OAAQ,OAAQ,IAAK,MANzC,SAQGK,KAGL,UAAC,KAAD,CACE/D,MAAI,EACJC,GAAI,GACJmE,GAAI,GACJC,GAAIN,EAAkB,EAAI,EAC1BjE,UAAWJ,EAAQiE,UALrB,UAOGK,GAAWA,EACXpB,GAAkBA,EAAe0B,OAAS,IACzC,SAAC,IAAD,CACEjE,MAAM,UACN,aAAW,eACXkE,UAAU,OACVrD,QAAS,WACPmB,KAEFmC,GAAG,wBACHjD,KAAK,QARP,UAUE,SAAC,KAAD,iB,uIC5EZ,KAAelD,EAAAA,EAAAA,IApDA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXkG,aAAY,UACPA,EAAAA,GAAAA,aAELC,UAAW,OA+Cf,EAnCkB,SAAC,GAOI,IAAD,IANpBC,YAAAA,OAMoB,MANN,GAMM,EALpBjF,EAKoB,EALpBA,QACAkF,EAIoB,EAJpBA,SAIoB,IAHpBC,kBAAAA,OAGoB,MAHA,MAGA,EAFpBC,EAEoB,EAFpBA,cACAC,EACoB,EADpBA,MAEMC,GAAU,QACdC,kBAAkB,GADJ,UAEVJ,EAFU,cAGZ,SAAC,IAAD,CACEK,SAAUL,EACV/E,UAAWJ,EAAQgF,UAFrB,UAIE,SAAC,IAAD,OAIN,OACE,SAAC,IAAD,CACEC,YAAaA,EACb7E,UAAWgF,GAAgCpF,EAAQ+E,YACnDD,GAAG,kBACHjB,MAAM,GACN4B,WAAYH,EACZJ,SAAU,SAACQ,GACTR,EAASQ,EAAEC,OAAON,QAEpBxE,QAAQ,WACRwE,MAAOA,Q,oSClBPO,GAAYC,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,uEAC1CC,GAAeF,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,sEAoO7CpD,EAAqB,CACzBsD,qBAAAA,EAAAA,IAGIpD,GAAYC,EAAAA,EAAAA,IAAQ,KAAMH,GAEhC,WAAe/D,EAAAA,EAAAA,IAxOA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRoH,EAAAA,IACAlB,EAAAA,IAFO,IAGVA,aAAY,kBACPA,EAAAA,GAAAA,aADM,IAETmB,SAAU,MAEZC,YAAW,kBACNC,EAAAA,GAAAA,YADK,IAERpC,UAAW,OAEVqC,EAAAA,EAAAA,IAAmBzH,EAAM0H,QAAQ,QA4NxC,CAAkC1D,GApNb,SAAC,GAAuD,IAArD5C,EAAoD,EAApDA,QAASgG,EAA2C,EAA3CA,qBAC/B,GAA8BO,EAAAA,EAAAA,UAAmB,IAAjD,eAAOC,EAAP,KAAgBC,EAAhB,KACA,GAA8BF,EAAAA,EAAAA,WAAkB,GAAhD,eAAOG,EAAP,KAAgBC,EAAhB,KACA,GAA0CJ,EAAAA,EAAAA,WAAkB,GAA5D,eAAOK,EAAP,KAAsBC,EAAtB,KACA,GAAoCN,EAAAA,EAAAA,WAAkB,GAAtD,eAAOO,EAAP,KAAmBC,EAAnB,KACA,GAA4CR,EAAAA,EAAAA,UAAiB,IAA7D,eAAOS,EAAP,KAAuBC,EAAvB,KACA,GAA4CV,EAAAA,EAAAA,UAAiB,IAA7D,eAAOW,EAAP,KAAuBC,EAAvB,KACA,GAAoCZ,EAAAA,EAAAA,UAAc,MAAlD,eAAOa,EAAP,KAAmBC,EAAnB,KAEMC,GAAaC,EAAAA,EAAAA,GAAcC,EAAAA,GAAqB,CACpDC,EAAAA,GAAAA,mBAGIC,GAAeH,EAAAA,EAAAA,GAAcC,EAAAA,GAAqB,CACtDC,EAAAA,GAAAA,sBAGIE,GAAkBJ,EAAAA,EAAAA,GAAcC,EAAAA,GAAqB,CACzDC,EAAAA,GAAAA,4BAGFG,EAAAA,EAAAA,YAAU,WACRC,MACC,KAEHD,EAAAA,EAAAA,YAAU,WACJlB,IACEiB,EACFG,EAAAA,EAAAA,OACU,MADV,oBAEGC,MAAK,SAACC,GACL,IAAMC,EAAWC,GAAAA,CAAIF,EAAK,WAAY,IAEtCC,EAASE,MAAK,SAACC,EAAIC,GACjB,OAAID,EAAGE,KAAOD,EAAGC,KACR,EAGLF,EAAGE,KAAOD,EAAGC,MACP,EAGH,KAGT3B,GAAW,GACXF,EAAWwB,MAEZM,OAAM,SAACC,GACN7B,GAAW,GACXX,EAAqBwC,MAGzB7B,GAAW,MAGd,CAACD,EAASC,EAAYF,EAAYT,EAAsB2B,IAE3D,IAAME,EAAe,WACnBlB,GAAW,IA4BP8B,EAAe,CACnB,CACEC,KAAM,OACNlH,QAPe,SAACmH,GAClBC,EAAAA,EAAAA,KAAA,UAAgBC,EAAAA,GAAAA,SAAhB,YAAsCF,EAAOL,QAO3CQ,sBAAuB,kBAAOxB,IAEhC,CACEoB,KAAM,SACNlH,QAjBwB,SAACmH,GAC3B5B,GAAc,GACdE,EAAkB0B,IAgBhBI,YAAY,EACZD,sBAAuB,kBAAOpB,KAI5BsB,GAAkBxC,EAAQyC,QAAO,SAACC,GAAD,OACrCA,EAAYZ,KAAK/D,SAAS2C,MAG5B,OACE,UAAC,WAAD,WACGN,IACC,SAAChB,EAAD,CACEuD,KAAMvC,EACNwC,qBAhDwB,SAACC,GAC/BxC,GAAiB,GAEbwC,GACFxB,KA6CIT,WAAYA,IAGfN,IACC,SAACf,EAAD,CACEe,WAAYA,EACZE,eAAgBA,EAChBsC,2BAhD2B,SAACD,GAClCtC,GAAc,GAEVsC,GACFxB,QA+CA,SAAC,IAAD,CAAYhE,MAAM,kBAClB,UAAC,IAAD,CAAYzD,UAAWJ,EAAQuJ,cAA/B,WACE,UAAC,KAAD,CAAMjJ,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQiG,YAAtC,WACE,SAAC,IAAD,CACEf,SAAUiC,EACVlC,YAAY,kBACZG,cAAepF,EAAQ+E,YACvBM,MAAO6B,KAGT,SAAC,IAAD,CACEsC,OAAQ,CAAC/B,EAAAA,GAAAA,qBACTgC,SAAUjC,EAAAA,GACVkC,WAAY,CAAEjI,UAAU,GAH1B,UAKE,SAAC,IAAD,CACEC,QAAS,gBACTH,KAAM,gBACNV,QAAQ,YACRF,MAAM,UACNgB,MAAM,SAAC,KAAD,IACNH,QAAS,WACPqF,GAAiB,GACjBQ,EAAc,eAKtB,SAAC,KAAD,CAAM/G,MAAI,EAACC,GAAI,GAAf,UACE,qBAEF,SAAC,KAAD,CAAMD,MAAI,EAACC,GAAI,GAAIH,UAAWJ,EAAQmG,WAAtC,UACE,SAAC,IAAD,CACEqD,OAAQ,CAAC/B,EAAAA,GAAAA,0BACTgC,SAAUjC,EAAAA,GACVkC,WAAY,CAAEjI,UAAU,GAH1B,UAKE,SAAC,IAAD,CACEkI,YAAalB,EACbmB,QAAS,CAAC,CAAE/F,MAAO,OAAQgG,WAAY,SACvCC,UAAWpD,EACXF,QAASwC,GACTe,WAAW,WACXC,QAAQ,cAId,SAAC,KAAD,CAAM1J,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,CACEL,MAAO,gCACPD,eAAe,SAAC,KAAD,IACfE,MACE,UAAC,EAAAqE,SAAD,yQAME,mBACA,kBAPF,oSAaE,mBACA,kBAdF,4BAe4B,KAC1B,cACEyF,KAAK,kHACLtE,OAAO,SACPuE,IAAI,aAHN,2BAhBF,sB,4LCzPP,SAASC,EAA8BC,GAC5C,OAAOC,EAAAA,EAAAA,GAAqB,oBAAqBD,GAEnD,ICDIE,EDEJ,GAD8BC,E,SAAAA,GAAuB,oBAAqB,CAAC,OAAQ,SAAU,WAAY,WAAY,gBAAiB,cAAe,uBAAwB,cAAe,c,sBCCtLC,EAAY,CAAC,WAAY,YAAa,YAAa,uBAAwB,oBAAqB,WAAY,WAqC5GC,GAAqBC,EAAAA,EAAAA,IAAO,MAAO,CACvCpC,KAAM,oBACN8B,KAAM,OACNO,kBAzBwB,SAAC/J,EAAOgK,GAChC,IACEC,EACEjK,EADFiK,WAEF,MAAO,CAACD,EAAO9L,KAAM8L,EAAO,WAAD,QAAYE,EAAAA,EAAAA,GAAWD,EAAWrF,aAAkD,IAApCqF,EAAWE,sBAAiCH,EAAOG,qBAAsBH,EAAOC,EAAWhK,YAkB7I6J,EAIxB,gBACD9L,EADC,EACDA,MACAiM,EAFC,EAEDA,WAFC,OAGGG,EAAAA,EAAAA,GAAS,CACbtL,QAAS,OACTG,OAAQ,SAERoL,UAAW,MACXtL,WAAY,SACZuL,WAAY,SACZvK,MAAO/B,EAAMmC,QAAQoK,OAAOC,QACJ,WAAvBP,EAAWhK,UAAX,sBAEKwK,EAAAA,cAFL,kBAEkDA,EAAAA,YAFlD,KAEyF,CACxFrH,UAAW,KAEY,UAAxB6G,EAAWrF,UAAwB,CAEpC5F,YAAa,GACY,QAAxBiL,EAAWrF,UAAsB,CAElClE,WAAY,IACyB,IAApCuJ,EAAWE,sBAAiC,CAE7CO,cAAe,YA4HjB,EA1HoCxF,EAAAA,YAAiB,SAAwByF,EAASC,GACpF,IAAM5K,GAAQ6K,EAAAA,EAAAA,GAAc,CAC1B7K,MAAO2K,EACPjD,KAAM,sBAINhG,EAOE1B,EAPF0B,SACAlC,EAMEQ,EANFR,UAFF,EAQIQ,EALFiE,UAAAA,OAHF,MAGc,MAHd,IAQIjE,EAJFmK,qBAAAA,OAJF,WAQInK,EAHF8K,kBAAAA,OALF,SAMElG,EAEE5E,EAFF4E,SACSmG,EACP/K,EADFC,QAEI+K,GAAQC,EAAAA,EAAAA,GAA8BjL,EAAO4J,GAE7CsB,GAAiBC,EAAAA,EAAAA,MAAoB,GACvClL,EAAU8K,EAEVA,GAAeG,EAAejL,QAQ9BiL,IAAmBjL,IACrBA,EAAUiL,EAAejL,SAG3B,IAAMgK,GAAaG,EAAAA,EAAAA,GAAS,GAAIpK,EAAO,CACrCoL,YAAaF,EAAeE,YAC5BnK,KAAMiK,EAAejK,KACrBkJ,qBAAAA,EACAvF,SAAAA,EACA3E,QAAAA,IAGIb,EArFkB,SAAA6K,GACxB,IACE7K,EAME6K,EANF7K,QACA+K,EAKEF,EALFE,qBACAiB,EAIEnB,EAJFmB,YACAxG,EAGEqF,EAHFrF,SACA3D,EAEEgJ,EAFFhJ,KACAhB,EACEgK,EADFhK,QAEIoL,EAAQ,CACZnN,KAAM,CAAC,OAAQiM,GAAwB,uBAAwBvF,GAAY,WAAJ,QAAesF,EAAAA,EAAAA,GAAWtF,IAAa3E,EAASmL,GAAe,cAAenK,GAAQ,OAAJ,QAAWiJ,EAAAA,EAAAA,GAAWjJ,MAEjL,OAAOqK,EAAAA,EAAAA,GAAeD,EAAO9B,EAA+BnK,GAyE5CmM,CAAkBtB,GAClC,OAAoBuB,EAAAA,EAAAA,KAAKC,EAAAA,EAAAA,SAA6B,CACpDhH,MAAO,KACP/C,UAAuB8J,EAAAA,EAAAA,KAAK3B,GAAoBO,EAAAA,EAAAA,GAAS,CACvDsB,GAAIzH,EACJgG,WAAYA,EACZzK,WAAWqC,EAAAA,EAAAA,GAAKzC,EAAQlB,KAAMsB,GAC9BoL,IAAKA,GACJI,EAAO,CACRtJ,SAA8B,kBAAbA,GAA0BoJ,GAGzBa,EAAAA,EAAAA,MAAMzG,EAAAA,SAAgB,CACtCxD,SAAU,CAAc,UAAbkD,EAEX8E,IAAUA,GAAqB8B,EAAAA,EAAAA,KAAK,OAAQ,CAC1ChM,UAAW,cACXkC,SAAU,YACN,KAAMA,MAT8D8J,EAAAA,EAAAA,KAAKI,EAAAA,EAAY,CAC3F7L,MAAO,iBACP2B,SAAUA,a,sBC1HH,SAASmK,EAAyBC,EAAQC,GACvD,GAAc,MAAVD,EAAgB,MAAO,GAC3B,IACIE,EAAKC,EADLlH,ECHS,SAAuC+G,EAAQC,GAC5D,GAAc,MAAVD,EAAgB,MAAO,GAC3B,IAEIE,EAAKC,EAFLlH,EAAS,GACTmH,EAAaC,OAAOC,KAAKN,GAG7B,IAAKG,EAAI,EAAGA,EAAIC,EAAWlI,OAAQiI,IACjCD,EAAME,EAAWD,GACbF,EAASM,QAAQL,IAAQ,IAC7BjH,EAAOiH,GAAOF,EAAOE,IAGvB,OAAOjH,EDTM,CAA6B+G,EAAQC,GAGlD,GAAII,OAAOG,sBAAuB,CAChC,IAAIC,EAAmBJ,OAAOG,sBAAsBR,GAEpD,IAAKG,EAAI,EAAGA,EAAIM,EAAiBvI,OAAQiI,IACvCD,EAAMO,EAAiBN,GACnBF,EAASM,QAAQL,IAAQ,GACxBG,OAAOK,UAAUC,qBAAqBC,KAAKZ,EAAQE,KACxDjH,EAAOiH,GAAOF,EAAOE,IAIzB,OAAOjH,E","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/Policies/ListPolicies.tsx","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
    \n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\nimport { Policy, PolicyList } from \"./types\";\nimport { AddIcon, IAMPoliciesIcon } from \"../../../icons\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\n\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport api from \"../../../common/api\";\nimport history from \"../../../history\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../common/SecureComponent\";\nimport SearchBox from \"../Common/SearchBox\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst AddPolicy = withSuspense(React.lazy(() => import(\"./AddPolicy\")));\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...searchField,\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n marginTop: 15,\n },\n ...containerForHeader(theme.spacing(4)),\n });\n\ninterface IPoliciesProps {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst ListPolicies = ({ classes, setErrorSnackMessage }: IPoliciesProps) => {\n const [records, setRecords] = useState([]);\n const [loading, setLoading] = useState(false);\n const [addScreenOpen, setAddScreenOpen] = useState(false);\n const [deleteOpen, setDeleteOpen] = useState(false);\n const [selectedPolicy, setSelectedPolicy] = useState(\"\");\n const [filterPolicies, setFilterPolicies] = useState(\"\");\n const [policyEdit, setPolicyEdit] = useState(null);\n\n const viewPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n ]);\n\n const deletePolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_DELETE_POLICY,\n ]);\n\n const displayPolicies = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_USER_POLICIES,\n ]);\n\n useEffect(() => {\n fetchRecords();\n }, []);\n\n useEffect(() => {\n if (loading) {\n if (displayPolicies) {\n api\n .invoke(\"GET\", `/api/v1/policies`)\n .then((res: PolicyList) => {\n const policies = get(res, \"policies\", []);\n\n policies.sort((pa, pb) => {\n if (pa.name > pb.name) {\n return 1;\n }\n\n if (pa.name < pb.name) {\n return -1;\n }\n\n return 0;\n });\n\n setLoading(false);\n setRecords(policies);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setLoading(false);\n }\n }\n }, [loading, setLoading, setRecords, setErrorSnackMessage, displayPolicies]);\n\n const fetchRecords = () => {\n setLoading(true);\n };\n\n const closeAddModalAndRefresh = (refresh: boolean) => {\n setAddScreenOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n\n if (refresh) {\n fetchRecords();\n }\n };\n\n const confirmDeletePolicy = (policy: string) => {\n setDeleteOpen(true);\n setSelectedPolicy(policy);\n };\n\n const viewAction = (policy: any) => {\n history.push(`${IAM_PAGES.POLICIES}/${policy.name}`);\n };\n\n const tableActions = [\n {\n type: \"view\",\n onClick: viewAction,\n disableButtonFunction: () => !viewPolicy,\n },\n {\n type: \"delete\",\n onClick: confirmDeletePolicy,\n sendOnlyId: true,\n disableButtonFunction: () => !deletePolicy,\n },\n ];\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.name.includes(filterPolicies)\n );\n\n return (\n \n {addScreenOpen && (\n \n )}\n {deleteOpen && (\n \n )}\n \n \n \n \n\n \n }\n onClick={() => {\n setAddScreenOpen(true);\n setPolicyEdit(null);\n }}\n />\n \n \n \n
    \n
    \n \n \n \n \n \n \n }\n help={\n \n MinIO uses Policy-Based Access Control (PBAC) to define the\n authorized actions and resources to which an authenticated user\n has access. Each policy describes one or more actions and\n conditions that outline the permissions of a user or group of\n users.\n
    \n
    \n MinIO PBAC is built for compatibility with AWS IAM policy\n syntax, structure, and behavior. The MinIO documentation makes a\n best-effort to cover IAM-specific behavior and functionality.\n Consider deferring to the IAM documentation for more complete\n documentation on AWS IAM-specific topics.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListPolicies));\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","label","justifyContent","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","includes","Fragment","direction","sm","md","length","component","id","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","InputProps","e","target","AddPolicy","withSuspense","React","DeletePolicy","setErrorSnackMessage","actionsTray","maxWidth","tableBlock","tableStyles","containerForHeader","spacing","useState","records","setRecords","loading","setLoading","addScreenOpen","setAddScreenOpen","deleteOpen","setDeleteOpen","selectedPolicy","setSelectedPolicy","filterPolicies","setFilterPolicies","policyEdit","setPolicyEdit","viewPolicy","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","deletePolicy","displayPolicies","useEffect","fetchRecords","api","then","res","policies","get","sort","pa","pb","name","catch","err","tableActions","type","policy","history","IAM_PAGES","disableButtonFunction","sendOnlyId","filteredRecords","filter","elementItem","open","closeModalAndRefresh","refresh","closeDeleteModalAndRefresh","pageContainer","scopes","resource","errorProps","itemActions","columns","elementKey","isLoading","entityName","idField","href","rel","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","inProps","ref","useThemeProps","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","indexOf","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4084.34cce774.chunk.js b/portal-ui/build/static/js/4084.34cce774.chunk.js deleted file mode 100644 index f62d1d01a..000000000 --- a/portal-ui/build/static/js/4084.34cce774.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4084],{29316:function(e,n,t){t(50390);var i=t(6369),r=t(86509),o=t(4285),a=t(86362),s=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,r=e.classes,o=e.className,l=e.executeOnClick;return(0,s.jsxs)(i.rU,{to:n,className:"".concat(r.link," ").concat(o||""),onClick:function(){l&&l()},children:[(0,s.jsx)("div",{className:r.icon,children:(0,s.jsx)(a.xN,{})}),(0,s.jsx)("div",{className:r.label,children:t})]})}))},53224:function(e,n,t){var i=t(18489),r=t(83738),o=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,r=e.palette.primary.main;return"primary"===i&&"contained"===t?r=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?r=e.palette.primary.main:"secondary"===i&&(r=e.palette.secondary.main),r}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,m=void 0!==u&&u,p=e.tooltip,x=e.icon,h=void 0===x?null:x,f=(0,r.Z)(e,l);return(0,s.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:p||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,s.jsx)("span",{children:d})," ",h]}))}},70758:function(e,n,t){var i=t(18489),r=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,p=e.tooltip,x=(0,o.Z)(e,m),h=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},x),{},{className:(0,d.Z)(n.root,(0,r.Z)({},n.contained,"contained"===s)),children:t}));return p&&""!==p?(0,u.jsx)(c.Z,{title:p,children:(0,u.jsx)("span",{children:h})}):h}))},70014:function(e,n,t){var i=t(35531),r=t(23430),o=t(18489),a=t(50390),s=t(25594),l=(t(2574),t(20704)),c=t(54880),d=t(21563),u=t(36297),m=t(36554),p=t(94187),x=t(56805),h=t(86509),f=t(4285),b=t(97538),g=t(72462),Z=t(86362),j=t(53224),v=t(33034),y=t.n(v),C=t(53357),P=t(62559),N={json:d.AV,yaml:function(){return c.i.define(u.r)}},S=C.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),E=C.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});n.Z=(0,f.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},g.YI),{},{inputLabel:(0,o.Z)((0,o.Z)({},g.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.value,t=e.label,o=void 0===t?"":t,c=e.tooltip,d=void 0===c?"":c,u=e.mode,h=void 0===u?"json":u,f=e.classes,g=e.onBeforeChange,v=e.readOnly,C=void 0!==v&&v,k=e.editorHeight,T=void 0===k?"250px":k,I=(0,a.useState)(!1),A=(0,r.Z)(I,2),w=A[0],F=A[1],R=[];return N[h]&&(R=[].concat((0,i.Z)(R),[N[h]()])),(0,P.jsxs)(a.Fragment,{children:[(0,P.jsxs)(m.Z,{className:f.inputLabel,children:[(0,P.jsx)("span",{children:o}),""!==d&&(0,P.jsx)("div",{className:f.tooltipContainer,children:(0,P.jsx)(p.Z,{title:d,placement:"top-start",children:(0,P.jsx)("div",{className:f.tooltip,children:(0,P.jsx)(b.Z,{})})})})]}),(0,P.jsx)(s.ZP,{item:!0,xs:12,children:(0,P.jsx)("br",{})}),(0,P.jsxs)(s.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,P.jsx)(s.ZP,{item:!0,xs:12,children:(0,P.jsx)(l.ZP,{value:n,theme:w?E:S,extensions:R,editable:!C,basicSetup:!0,height:T,onChange:function(e,n){g(null,null,e)}})}),(0,P.jsx)(s.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:w?"#282c34":"#f7f7f7"},children:(0,P.jsxs)(x.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:[(0,P.jsx)(j.Z,{tooltip:"Change theme",onClick:function(){F(!w)},text:"",icon:(0,P.jsx)(Z.EO,{}),color:"primary",variant:"outlined"}),(0,P.jsx)(y(),{text:n,children:(0,P.jsx)(j.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,P.jsx)(Z.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},35721:function(e,n,t){var i=t(50390),r=t(34424),o=t(25594),a=t(86509),s=t(4285),l=t(35477),c=t(95467),d=t(26805),u=t(44078),m=t(5265),p=t(86362),x=t(62559),h={toggleList:m.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),h);n.Z=f((0,s.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,a=e.sidebarOpen,s=e.operatorMode,m=e.managerObjects,h=e.toggleList,f=e.middleComponent;return e.features.includes("hide-menu")?(0,x.jsx)(i.Fragment,{}):(0,x.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,x.jsx)("div",{className:n.logo,children:s?(0,x.jsx)(d.Z,{}):(0,x.jsx)(u.Z,{})}),(0,x.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,x.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,x.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[r&&r,m&&m.length>0&&(0,x.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},id:"object-manager-toggle",size:"large",children:(0,x.jsx)(p.gx,{})})]})]})})))},62702:function(e,n,t){t(50390);var i=t(25594),r=t(86509),o=t(4285),a=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,r=e.title,o=e.subTitle,s=e.actions,l=e.className;return(0,a.jsx)(i.ZP,{container:!0,children:(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(l||""),children:[(0,a.jsxs)("div",{className:n.leftItems,children:[t?(0,a.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,a.jsxs)("div",{className:n.titleColumn,children:[(0,a.jsx)("h1",{style:{margin:0},children:r}),(0,a.jsx)("span",{className:n.headerBarSubheader,children:o})]})]}),(0,a.jsx)("div",{className:n.rightItems,children:s})]})})}))},57647:function(e,n,t){var i=t(18489),r=t(23430),o=t(50390),a=t(56805),s=t(49044),l=t(97227),c=t(74564),d=t(669),u=t(4285),m=t(88669),p=t(86509),x=t(13512),h=t(62559),f={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,p.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,u=e.selectedTab,p=void 0===u?"0":u,b=e.routes,g=e.isRouteTabs,Z=o.useState(p),j=(0,r.Z)(Z,2),v=j[0],y=j[1],C=(0,m.Z)(),P=(0,x.Z)(C.breakpoints.down("md")),N=[],S=[];return n?(n.forEach((function(e){N.push(e.tabConfig),S.push(e.content)})),(0,h.jsx)(l.ZP,{value:"".concat(v),children:(0,h.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,h.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,h.jsx)(c.Z,{onChange:function(e,n){y(n)},orientation:P?"horizontal":"vertical",variant:P?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:N.map((function(e,n){return e?(0,h.jsx)(s.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:f},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,h.jsxs)(a.Z,{className:t.tabContentContainer,children:[g?null:S.map((function(e,n){return(0,h.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,h.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))},5604:function(e,n,t){t.r(n);var i=t(23430),r=t(18489),o=t(50390),a=t(34424),s=t(86509),l=t(4285),c=t(72462),d=t(46981),u=t(25594),m=t(66946),p=t(81378),x=t(8174),h=t(30324),f=t(35721),b=t(6369),g=t(44149),Z=t(70014),j=t(24442),v=t(65771),y=t(12066),C=t(62702),P=t(73738),N=t(18221),S=t(13336),E=t(61846),k=t(25534),T=t(57647),I=t(29316),A=t(49495),w=t(30140),F=t(37882),R=t(53224),M=t(62559),B=(0,F.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(875),t.e(4121)]).then(t.bind(t,24121))}))),O=(0,a.$j)((function(e){return{features:e.console.session.features}}),{setErrorSnackMessage:g.Ih,setSnackBarMessage:g.y1});n.default=(0,l.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},breadcrumLink:{textDecoration:"none",color:"black"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},c.OR),c.qg),c.oO),(0,c.Bz)(e.spacing(4))))}))(O((function(e){var n=e.classes,t=e.match,r=e.setErrorSnackMessage,a=e.setSnackBarMessage,s=e.features,l=(0,o.useState)(null),c=(0,i.Z)(l,2),g=c[0],F=c[1],O=(0,o.useState)([]),L=(0,i.Z)(O,2),_=L[0],D=L[1],U=(0,o.useState)([]),z=(0,i.Z)(U,2),G=z[0],H=z[1],W=(0,o.useState)([]),Y=(0,i.Z)(W,2),Q=Y[0],V=Y[1],J=(0,o.useState)(!1),K=(0,i.Z)(J,2),$=K[0],q=K[1],X=(0,o.useState)(t.params[0]),ee=(0,i.Z)(X,2),ne=ee[0],te=ee[1],ie=(0,o.useState)(""),re=(0,i.Z)(ie,2),oe=re[0],ae=re[1],se=(0,o.useState)(!0),le=(0,i.Z)(se,2),ce=le[0],de=le[1],ue=(0,o.useState)(""),me=(0,i.Z)(ue,2),pe=me[0],xe=me[1],he=(0,o.useState)(!0),fe=(0,i.Z)(he,2),be=fe[0],ge=fe[1],Ze=(0,o.useState)(""),je=(0,i.Z)(Ze,2),ve=je[0],ye=je[1],Ce=(0,o.useState)(!0),Pe=(0,i.Z)(Ce,2),Ne=Pe[0],Se=Pe[1],Ee=(0,o.useState)(!1),ke=(0,i.Z)(Ee,2),Te=ke[0],Ie=ke[1],Ae=s&&s.includes("ldap-idp")||!1,we=(0,w.F)(A.C3,[A.Ft.ADMIN_LIST_GROUPS,A.Ft.ADMIN_GET_GROUP],!0),Fe=(0,w.F)(A.C3,[A.Ft.ADMIN_GET_GROUP]),Re=(0,w.F)(A.C3,[A.Ft.ADMIN_LIST_GROUPS]),Me=(0,w.F)(A.C3,[A.Ft.ADMIN_GET_USER]),Be=(0,w.F)(A.C3,[A.Ft.ADMIN_GET_POLICY]),Oe=(0,w.F)(A.C3,[A.Ft.ADMIN_CREATE_POLICY]),Le=function(e){e.preventDefault(),$||(q(!0),Oe?h.Z.invoke("POST","/api/v1/policies",{name:ne,policy:oe}).then((function(e){q(!1),a("Policy successfully updated")})).catch((function(e){q(!1),r(e)})):q(!1))};(0,o.useEffect)((function(){ce&&(ce&&(Be?h.Z.invoke("GET","/api/v1/policy?name=".concat(encodeURIComponent(ne))).then((function(e){if(e){F(e),ae(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);D(n.Statement)}de(!1)})).catch((function(e){r(e),de(!1)})):de(!1)),be&&(Re&&!Ae?h.Z.invoke("GET","/api/v1/policies/".concat(encodeURIComponent(ne),"/users")).then((function(e){H(e),ge(!1)})).catch((function(e){r(e),ge(!1)})):ge(!1)),Ne&&(we&&!Ae?h.Z.invoke("GET","/api/v1/policies/".concat(encodeURIComponent(ne),"/groups")).then((function(e){V(e),Se(!1)})).catch((function(e){r(e),Se(!1)})):Se(!1)))}),[ne,ce,be,Ne,r,H,V,ae,F,ge,Se,Re,we,Be,Ae]);var _e=""!==ne.trim(),De=[{type:"view",onClick:function(e){j.Z.push("".concat(A.gA.USERS,"/").concat(e))},disableButtonFunction:function(){return!Me}}],Ue=G.filter((function(e){return e.includes(pe)})),ze=[{type:"view",onClick:function(e){j.Z.push("".concat(A.gA.GROUPS,"/").concat(e))},disableButtonFunction:function(){return!Fe}}],Ge=Q.filter((function(e){return e.includes(ve)}));return(0,M.jsxs)(o.Fragment,{children:[Te&&(0,M.jsx)(B,{deleteOpen:Te,selectedPolicy:ne,closeDeleteModalAndRefresh:function(e){Ie(!1),j.Z.push(A.gA.POLICIES)}}),(0,M.jsx)(f.Z,{label:(0,M.jsx)(o.Fragment,{children:(0,M.jsx)(b.rU,{to:A.gA.POLICIES,className:n.breadcrumLink,children:"Policy"})})}),(0,M.jsx)(I.Z,{to:A.gA.POLICIES,label:"Return to Policies"}),(0,M.jsxs)(k.Z,{className:n.pageContainer,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,children:(0,M.jsx)(C.Z,{icon:(0,M.jsx)(o.Fragment,{children:(0,M.jsx)(P.Z,{width:40})}),title:ne,subTitle:(0,M.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)(w.s,{scopes:[A.Ft.ADMIN_DELETE_POLICY],resource:A.C3,errorProps:{disabled:!0},children:(0,M.jsx)(R.Z,{tooltip:"Delete Policy",text:"Delete Policy",variant:"outlined",color:"secondary",icon:(0,M.jsx)(E.Z,{}),onClick:function(){Ie(!0)}})}),(0,M.jsx)(R.Z,{tooltip:"Refresh",text:"Refresh",variant:"outlined",color:"primary",icon:(0,M.jsx)(N.default,{}),onClick:function(){ge(!0),Se(!0),de(!0)}})]})})}),(0,M.jsxs)(T.Z,{children:[{tabConfig:{label:"Summary",disabled:!Be},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,M.jsx)(d.Z,{className:n.paperContainer,children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){Le(e)},children:(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:8,children:(0,M.jsx)("h4",{children:"Statements"})}),(0,M.jsx)(u.ZP,{item:!0,xs:4}),(0,M.jsx)(o.Fragment,{children:_.map((function(e,t){return(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.statement,children:(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Effect"}),(0,M.jsx)(u.ZP,{item:!0,xs:4,children:(0,M.jsx)(o.Fragment,{children:e.Effect})}),(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol}),(0,M.jsx)(u.ZP,{item:!0,xs:4}),(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Actions"}),(0,M.jsx)(u.ZP,{item:!0,xs:4,children:(0,M.jsx)("ul",{children:e.Action&&e.Action.map((function(e,n){return(0,M.jsx)("li",{children:e},"".concat(t,"-r-").concat(n))}))})}),(0,M.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Resources"}),(0,M.jsx)(u.ZP,{item:!0,xs:4,children:(0,M.jsx)("ul",{children:e.Resource&&e.Resource.map((function(e,n){return(0,M.jsx)("li",{children:e},"".concat(t,"-r-").concat(n))}))})})]})},"s-".concat(t))}))})]})})})]})},{tabConfig:{label:"Users",disabled:!Re||Ae},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)(y.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){xe(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,M.jsx)(v.Z,{position:"start",children:(0,M.jsx)(S.Z,{})})},variant:"standard"})}),(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)("br",{})}),(0,M.jsx)(x.Z,{itemActions:De,columns:[{label:"Name",elementKey:"name"}],isLoading:be,records:Ue,entityName:"Users",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!we||Ae},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)(y.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){ye(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,M.jsx)(v.Z,{position:"start",children:(0,M.jsx)(S.Z,{})})},variant:"standard"})}),(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,M.jsx)("br",{})}),(0,M.jsx)(x.Z,{itemActions:ze,columns:[{label:"Name",elementKey:"name"}],isLoading:Ne,records:Ge,entityName:"Groups",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!Be},content:(0,M.jsxs)(o.Fragment,{children:[(0,M.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,M.jsx)(d.Z,{className:n.paperContainer,children:(0,M.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){Le(e)},children:(0,M.jsxs)(u.ZP,{container:!0,children:[(0,M.jsx)(u.ZP,{item:!0,xs:12,className:n.formScrollable,children:(0,M.jsx)(Z.Z,{readOnly:!Oe,value:oe,onBeforeChange:function(e,n,t){ae(t)},editorHeight:"350px"})}),(0,M.jsxs)(u.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!g&&(0,M.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){te(""),ae("")},children:"Clear"}),(0,M.jsx)(w.s,{scopes:[A.Ft.ADMIN_CREATE_POLICY],resource:A.C3,errorProps:{disabled:!0},children:(0,M.jsx)(m.Z,{type:"submit",variant:"contained",color:"primary",disabled:$||!_e,children:"Save"})})]}),$&&(0,M.jsx)(u.ZP,{item:!0,xs:12,children:(0,M.jsx)(p.Z,{})})]})})})]})}]})]})]})})))},97227:function(e,n,t){t.d(n,{ZP:function(){return s},_i:function(){return l},uU:function(){return c},pQ:function(){return d}});var i=t(23430),r=t(50390),o=t(62559),a=r.createContext(null);function s(e){var n=e.children,t=e.value,s=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),l=r.useMemo((function(){return{idPrefix:s,value:t}}),[s,t]);return(0,o.jsx)(a.Provider,{value:l,children:n})}function l(){return r.useContext(a)}function c(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var i=t(18207),r=t(46633),o=t(50390),a=t(98247),s=t(97227),l=t(62559),c=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,r.Z)(e,c),u=(0,s._i)();if(null===u)throw new TypeError("No TabContext provided");var m=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,s.uU)(u,e.props.value),id:(0,s.pQ)(u,e.props.value)}):null}));return(0,l.jsx)(a.Z,(0,i.Z)({},d,{ref:n,value:u.value,children:m}))}));n.Z=d},669:function(e,n,t){t.d(n,{Z:function(){return f}});var i=t(18207),r=t(46633),o=t(50390),a=t(44977),s=t(8208),l=t(15573),c=t(50076),d=t(10594);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var m=t(97227),p=t(62559),x=["children","className","value"],h=(0,s.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),f=o.forwardRef((function(e,n){var t=(0,l.Z)({props:e,name:"MuiTabPanel"}),o=t.children,s=t.className,d=t.value,f=(0,r.Z)(t,x),b=(0,i.Z)({},t),g=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},u,n)}(b),Z=(0,m._i)();if(null===Z)throw new TypeError("No TabContext provided");var j=(0,m.uU)(Z,d),v=(0,m.pQ)(Z,d);return(0,p.jsx)(h,(0,i.Z)({"aria-labelledby":v,className:(0,a.Z)(g.root,s),hidden:d!==Z.value,id:j,ref:n,role:"tabpanel",ownerState:b},f,{children:d===Z.value&&o}))}))},65771:function(e,n,t){t.d(n,{Z:function(){return y}});var i=t(36222),r=t(1048),o=t(32793),a=t(50390),s=t(44977),l=t(50076),c=t(91442),d=t(35477),u=t(14478),m=t(23060),p=t(8208),x=t(10594);function h(e){return(0,x.Z)("MuiInputAdornment",e)}var f,b=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),g=t(15573),Z=t(62559),j=["children","className","component","disablePointerEvents","disableTypography","position","variant"],v=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,i.Z)({},"&.".concat(b.positionStart,"&:not(.").concat(b.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),y=a.forwardRef((function(e,n){var t=(0,g.Z)({props:e,name:"MuiInputAdornment"}),i=t.children,p=t.className,x=t.component,b=void 0===x?"div":x,y=t.disablePointerEvents,C=void 0!==y&&y,P=t.disableTypography,N=void 0!==P&&P,S=t.position,E=t.variant,k=(0,r.Z)(t,j),T=(0,m.Z)()||{},I=E;E&&T.variant,T&&!I&&(I=T.variant);var A=(0,o.Z)({},t,{hiddenLabel:T.hiddenLabel,size:T.size,disablePointerEvents:C,position:S,variant:I}),w=function(e){var n=e.classes,t=e.disablePointerEvents,i=e.hiddenLabel,r=e.position,o=e.size,a=e.variant,s={root:["root",t&&"disablePointerEvents",r&&"position".concat((0,c.Z)(r)),a,i&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,l.Z)(s,h,n)}(A);return(0,Z.jsx)(u.Z.Provider,{value:null,children:(0,Z.jsx)(v,(0,o.Z)({as:b,ownerState:A,className:(0,s.Z)(w.root,p),ref:n},k,{children:"string"!==typeof i||N?(0,Z.jsxs)(a.Fragment,{children:["start"===S?f||(f=(0,Z.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,Z.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))},18207:function(e,n,t){function i(){return i=Object.assign||function(e){for(var n=1;n=0||(r[t]=e[t]);return r}t.d(n,{Z:function(){return i}})},83738:function(e,n,t){function i(e,n){if(null==e)return{};var t,i,r=function(e,n){if(null==e)return{};var t,i,r={},o=Object.keys(e);for(i=0;i=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}t.d(n,{Z:function(){return i}})}}]); -//# sourceMappingURL=4084.34cce774.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4084.34cce774.chunk.js.map b/portal-ui/build/static/js/4084.34cce774.chunk.js.map deleted file mode 100644 index d617273b6..000000000 --- a/portal-ui/build/static/js/4084.34cce774.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4084.34cce774.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
    \n \n
    \n
    {label}
    \n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n \n
    \n
    \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n
    \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
    \n {icon ?
    {icon}
    : null}\n
    \n

    {title}

    \n {subTitle}\n
    \n
    \n\n
    {actions}
    \n
    \n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
    {routes}
    \n ) : null}\n
    \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { IAMPolicy, IAMStatement, Policy } from \"./types\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n modalBasic,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../common/api\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { Link } from \"react-router-dom\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport history from \"../../../history\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport IAMPoliciesIcon from \"../../../icons/IAMPoliciesIcon\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TrashIcon from \"../../../icons/TrashIcon\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../common/BackLink\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { AppState } from \"../../../store\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\ninterface IPolicyDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n features: string[] | null;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n height: \"100%\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n minHeight: \"450px\",\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n statement: {\n border: \"1px solid #DADADA\",\n padding: 8,\n marginBottom: 8,\n borderRadius: 4,\n },\n labelCol: {\n fontWeight: \"bold\",\n },\n ...actionsTray,\n ...searchField,\n ...modalBasic,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PolicyDetails = ({\n classes,\n match,\n setErrorSnackMessage,\n setSnackBarMessage,\n features,\n}: IPolicyDetailsProps) => {\n const [policy, setPolicy] = useState(null);\n const [policyStatements, setPolicyStatements] = useState([]);\n const [userList, setUserList] = useState([]);\n const [groupList, setGroupList] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n const [policyName, setPolicyName] = useState(match.params[0]);\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [loadingPolicy, setLoadingPolicy] = useState(true);\n const [filterUsers, setFilterUsers] = useState(\"\");\n const [loadingUsers, setLoadingUsers] = useState(true);\n const [filterGroups, setFilterGroups] = useState(\"\");\n const [loadingGroups, setLoadingGroups] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n const ldapIsEnabled = (features && features.includes(\"ldap-idp\")) || false;\n\n const displayGroups = hasPermission(\n CONSOLE_UI_RESOURCE,\n [IAM_SCOPES.ADMIN_LIST_GROUPS, IAM_SCOPES.ADMIN_GET_GROUP],\n true\n );\n\n const viewGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\n ]);\n\n const displayUsers = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n ]);\n\n const viewUser = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_USER,\n ]);\n\n const displayPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n ]);\n\n const editPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_CREATE_POLICY,\n ]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (editPolicy) {\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((_) => {\n setAddLoading(false);\n setSnackBarMessage(\"Policy successfully updated\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setAddLoading(false);\n }\n };\n\n useEffect(() => {\n const loadUsersForPolicy = () => {\n if (loadingUsers) {\n if (displayUsers && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURIComponent(policyName)}/users`\n )\n .then((result: any) => {\n setUserList(result);\n setLoadingUsers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingUsers(false);\n });\n } else {\n setLoadingUsers(false);\n }\n }\n };\n\n const loadGroupsForPolicy = () => {\n if (loadingGroups) {\n if (displayGroups && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURIComponent(policyName)}/groups`\n )\n .then((result: any) => {\n setGroupList(result);\n setLoadingGroups(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingGroups(false);\n });\n } else {\n setLoadingGroups(false);\n }\n }\n };\n const loadPolicyDetails = () => {\n if (loadingPolicy) {\n if (displayPolicy) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policy?name=${encodeURIComponent(policyName)}`\n )\n .then((result: any) => {\n if (result) {\n setPolicy(result);\n setPolicyDefinition(\n result\n ? JSON.stringify(JSON.parse(result.policy), null, 4)\n : \"\"\n );\n const pol: IAMPolicy = JSON.parse(result.policy);\n setPolicyStatements(pol.Statement);\n }\n setLoadingPolicy(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingPolicy(false);\n });\n } else {\n setLoadingPolicy(false);\n }\n }\n };\n\n if (loadingPolicy) {\n loadPolicyDetails();\n loadUsersForPolicy();\n loadGroupsForPolicy();\n }\n }, [\n policyName,\n loadingPolicy,\n loadingUsers,\n loadingGroups,\n setErrorSnackMessage,\n setUserList,\n setGroupList,\n setPolicyDefinition,\n setPolicy,\n setLoadingUsers,\n setLoadingGroups,\n displayUsers,\n displayGroups,\n displayPolicy,\n ldapIsEnabled,\n ]);\n\n const resetForm = () => {\n setPolicyName(\"\");\n setPolicyDefinition(\"\");\n };\n\n const validSave = policyName.trim() !== \"\";\n\n const deletePolicy = () => {\n setDeleteOpen(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n history.push(IAM_PAGES.POLICIES);\n };\n\n const userViewAction = (user: any) => {\n history.push(`${IAM_PAGES.USERS}/${user}`);\n };\n const userTableActions = [\n {\n type: \"view\",\n onClick: userViewAction,\n disableButtonFunction: () => !viewUser,\n },\n ];\n\n const filteredUsers = userList.filter((elementItem) =>\n elementItem.includes(filterUsers)\n );\n\n const groupViewAction = (group: any) => {\n history.push(`${IAM_PAGES.GROUPS}/${group}`);\n };\n\n const groupTableActions = [\n {\n type: \"view\",\n onClick: groupViewAction,\n disableButtonFunction: () => !viewGroup,\n },\n ];\n\n const filteredGroups = groupList.filter((elementItem) =>\n elementItem.includes(filterGroups)\n );\n\n return (\n \n {deleteOpen && (\n \n )}\n \n \n Policy\n \n \n }\n />\n \n \n \n \n \n
    \n }\n title={policyName}\n subTitle={IAM Policy}\n actions={\n \n \n }\n onClick={deletePolicy}\n />\n \n\n }\n onClick={() => {\n setLoadingUsers(true);\n setLoadingGroups(true);\n setLoadingPolicy(true);\n }}\n />\n \n }\n />\n \n\n \n {{\n tabConfig: { label: \"Summary\", disabled: !displayPolicy },\n content: (\n \n
    Policy Summary
    \n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n

    Statements

    \n
    \n \n\n \n {policyStatements.map((stmt, i) => {\n return (\n \n \n \n Effect\n \n \n {stmt.Effect}\n \n \n \n \n Actions\n \n \n
      \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
    • \n {act}\n
    • \n ))}\n
    \n
    \n \n Resources\n \n \n
      \n {stmt.Resource &&\n stmt.Resource.map((res, resIndex) => (\n
    • \n {res}\n
    • \n ))}\n
    \n
    \n
    \n
    \n );\n })}\n
    \n
    \n \n
    \n
    \n ),\n }}\n {{\n tabConfig: {\n label: \"Users\",\n disabled: !displayUsers || ldapIsEnabled,\n },\n content: (\n \n
    Users
    \n \n \n {\n setFilterUsers(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n \n
    \n
    \n \n
    \n
    \n ),\n }}\n {{\n tabConfig: {\n label: \"Groups\",\n disabled: !displayGroups || ldapIsEnabled,\n },\n content: (\n \n
    Groups
    \n \n \n {\n setFilterGroups(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n \n
    \n
    \n \n
    \n
    \n ),\n }}\n {{\n tabConfig: { label: \"Raw Policy\", disabled: !displayPolicy },\n content: (\n \n
    Raw Policy
    \n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n {!policy && (\n {\n resetForm();\n }}\n >\n Clear\n \n )}\n \n \n Save\n \n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n
    \n ),\n }}\n
    \n \n
    \n );\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setSnackBarMessage,\n});\n\nexport default withStyles(styles)(connector(PolicyDetails));\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","useStyles","makeStyles","root","props","variant","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","disabled","tooltip","restProps","size","sx","border","borderWidth","borderStyle","borderRadius","backgroundColor","opacity","contained","background","dark","children","rest","button","clsx","title","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","fontWeight","darkTheme","fieldBasic","inputLabel","value","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","item","xs","extensions","editable","basicSetup","height","onChange","v","vu","borderTop","paddingRight","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","includes","Fragment","container","direction","sm","md","paddingTop","length","component","id","headerBarIcon","headerBarSubheader","screenTitle","borderBottom","flexFlow","titleColumn","leftItems","rightItems","subTitle","style","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","DeletePolicy","withSuspense","setErrorSnackMessage","setSnackBarMessage","buttonContainer","pageContainer","paperContainer","breadcrumLink","statement","labelCol","actionsTray","searchField","modalBasic","containerForHeader","spacing","match","policy","setPolicy","policyStatements","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","params","policyName","setPolicyName","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","viewGroup","displayUsers","viewUser","displayPolicy","editPolicy","saveRecord","preventDefault","api","name","then","_","catch","err","useEffect","encodeURIComponent","result","JSON","stringify","parse","pol","Statement","validSave","trim","userTableActions","type","user","history","IAM_PAGES","disableButtonFunction","filteredUsers","filter","elementItem","groupTableActions","group","filteredGroups","selectedPolicy","closeDeleteModalAndRefresh","refresh","scopes","resource","errorProps","sectionTitle","noValidate","autoComplete","onSubmit","e","stmt","i","Effect","Action","act","actIndex","Resource","res","resIndex","placeholder","val","target","InputProps","disableUnderline","startAdornment","position","itemActions","columns","elementKey","isLoading","records","entityName","idField","formScrollable","editor","data","clearButton","Context","TabContext","idPrefix","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","overridesResolver","styles","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","capitalize","disablePointerEvents","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","disableTypography","variantProp","muiFormControl","useFormControl","hiddenLabel","slots","FormControlContext","as","_jsxs","Typography","Object","assign","arguments","source","key","prototype","hasOwnProperty","call","apply","this","excluded","sourceKeys","keys","indexOf","_objectWithoutProperties","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4084.bb2e5658.chunk.js b/portal-ui/build/static/js/4084.bb2e5658.chunk.js new file mode 100644 index 000000000..a5d8f6d65 --- /dev/null +++ b/portal-ui/build/static/js/4084.bb2e5658.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4084],{29316:function(e,n,t){t(50390);var i=t(6369),r=t(86509),o=t(4285),a=t(14549),s=t(56805),l=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({link:{display:"inline-block",alignItems:"center",justifyContent:"center",textDecoration:"none",maxWidth:"40px","&:active":{color:e.palette.primary.light}},icon:{marginRight:"11px",display:"flex",alignItems:"center",justifyContent:"center",height:"35px",width:"35px",borderRadius:"2px","&:hover":{background:"rgba(234,237,238)"},"& svg.min-icon":{width:"18px",height:"12px"}},label:{display:"flex",alignItems:"center",height:"35px",padding:"0 0px 0 5px",fontSize:"18px",fontWeight:600,color:e.palette.primary.light}})}))((function(e){var n=e.to,t=e.label,r=e.classes,o=e.className,c=e.executeOnClick;return(0,l.jsxs)(s.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,l.jsx)(i.rU,{to:n,className:"".concat(r.link," ").concat(o||""),onClick:function(){c&&c()},children:(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(a.xC,{})})}),(0,l.jsx)("div",{className:r.label,children:t})]})}))},53224:function(e,n,t){var i=t(18489),r=t(83738),o=(t(50390),t(70758)),a=t(62449),s=t(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(n){return function(n){var t=n.variant,i=n.color,r=e.palette.primary.main;return"primary"===i&&"contained"===t?r=e.palette.primary.contrastText:"primary"===i&&"outlined"===t?r=e.palette.primary.main:"secondary"===i&&(r=e.palette.secondary.main),r}(n)},borderColor:function(n){return"secondary"===n.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));n.Z=function(e){var n=c(e),t=e.onClick,a=e.text,d=void 0===a?"":a,u=e.disabled,m=void 0!==u&&u,p=e.tooltip,x=e.icon,h=void 0===x?null:x,f=(0,r.Z)(e,l);return(0,s.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:n,tooltip:p||d,variant:"outlined",onClick:t,disabled:m,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,s.jsx)("span",{children:d})," ",h]}))}},70758:function(e,n,t){var i=t(18489),r=t(36222),o=t(83738),a=(t(50390),t(86509)),s=t(4285),l=t(95467),c=t(94187),d=t(44977),u=t(62559),m=["classes","children","variant","tooltip"];n.Z=(0,s.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var n=e.classes,t=e.children,a=e.variant,s=void 0===a?"outlined":a,p=e.tooltip,x=(0,o.Z)(e,m),h=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},x),{},{className:(0,d.Z)(n.root,(0,r.Z)({},n.contained,"contained"===s)),children:t}));return p&&""!==p?(0,u.jsx)(c.Z,{title:p,children:(0,u.jsx)("span",{children:h})}):h}))},70014:function(e,n,t){var i=t(35531),r=t(23430),o=t(18489),a=t(50390),s=t(25594),l=(t(2574),t(20704)),c=t(54880),d=t(21563),u=t(36297),m=t(36554),p=t(94187),x=t(56805),h=t(86509),f=t(4285),b=t(97538),g=t(72462),Z=t(14549),j=t(53224),v=t(33034),y=t.n(v),C=t(53357),P=t(62559),N={json:d.AV,yaml:function(){return c.i.define(u.r)}},S=C.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),E=C.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});n.Z=(0,f.Z)((function(e){return(0,h.Z)((0,o.Z)((0,o.Z)({},g.YI),{},{inputLabel:(0,o.Z)((0,o.Z)({},g.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.value,t=e.label,o=void 0===t?"":t,c=e.tooltip,d=void 0===c?"":c,u=e.mode,h=void 0===u?"json":u,f=e.classes,g=e.onBeforeChange,v=e.readOnly,C=void 0!==v&&v,k=e.editorHeight,T=void 0===k?"250px":k,I=(0,a.useState)(!1),w=(0,r.Z)(I,2),A=w[0],F=w[1],R=[];return N[h]&&(R=[].concat((0,i.Z)(R),[N[h]()])),(0,P.jsxs)(a.Fragment,{children:[(0,P.jsxs)(m.Z,{className:f.inputLabel,children:[(0,P.jsx)("span",{children:o}),""!==d&&(0,P.jsx)("div",{className:f.tooltipContainer,children:(0,P.jsx)(p.Z,{title:d,placement:"top-start",children:(0,P.jsx)("div",{className:f.tooltip,children:(0,P.jsx)(b.Z,{})})})})]}),(0,P.jsx)(s.ZP,{item:!0,xs:12,children:(0,P.jsx)("br",{})}),(0,P.jsxs)(s.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,P.jsx)(s.ZP,{item:!0,xs:12,children:(0,P.jsx)(l.ZP,{value:n,theme:A?E:S,extensions:R,editable:!C,basicSetup:!0,height:T,onChange:function(e,n){g(null,null,e)}})}),(0,P.jsx)(s.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:A?"#282c34":"#f7f7f7"},children:(0,P.jsxs)(x.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:[(0,P.jsx)(j.Z,{tooltip:"Change theme",onClick:function(){F(!A)},text:"",icon:(0,P.jsx)(Z.EO,{}),color:"primary",variant:"outlined"}),(0,P.jsx)(y(),{text:n,children:(0,P.jsx)(j.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,P.jsx)(Z.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},35721:function(e,n,t){var i=t(50390),r=t(34424),o=t(25594),a=t(86509),s=t(4285),l=t(35477),c=t(95467),d=t(26805),u=t(44078),m=t(5265),p=t(14549),x=t(62559),h={toggleList:m.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),h);n.Z=f((0,s.Z)((function(e){return(0,a.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,a=e.sidebarOpen,s=e.operatorMode,m=e.managerObjects,h=e.toggleList,f=e.middleComponent;return e.features.includes("hide-menu")?(0,x.jsx)(i.Fragment,{}):(0,x.jsxs)(o.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!a&&(0,x.jsx)("div",{className:n.logo,children:s?(0,x.jsx)(d.Z,{}):(0,x.jsx)(u.Z,{})}),(0,x.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,x.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,x.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[r&&r,m&&m.length>0&&(0,x.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){h()},id:"object-manager-toggle",size:"large",children:(0,x.jsx)(p.gx,{})})]})]})})))},62702:function(e,n,t){t(50390);var i=t(25594),r=t(86509),o=t(4285),a=t(62559);n.Z=(0,o.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,r=e.title,o=e.subTitle,s=e.actions,l=e.className;return(0,a.jsx)(i.ZP,{container:!0,children:(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(l||""),children:[(0,a.jsxs)("div",{className:n.leftItems,children:[t?(0,a.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,a.jsxs)("div",{className:n.titleColumn,children:[(0,a.jsx)("h1",{style:{margin:0},children:r}),(0,a.jsx)("span",{className:n.headerBarSubheader,children:o})]})]}),(0,a.jsx)("div",{className:n.rightItems,children:s})]})})}))},57647:function(e,n,t){var i=t(18489),r=t(23430),o=t(50390),a=t(56805),s=t(49044),l=t(97227),c=t(74564),d=t(669),u=t(4285),m=t(88669),p=t(86509),x=t(13512),h=t(62559),f={minHeight:60};n.Z=(0,u.Z)((function(e){return(0,p.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,u=e.selectedTab,p=void 0===u?"0":u,b=e.routes,g=e.isRouteTabs,Z=o.useState(p),j=(0,r.Z)(Z,2),v=j[0],y=j[1],C=(0,m.Z)(),P=(0,x.Z)(C.breakpoints.down("md")),N=[],S=[];return n?(n.forEach((function(e){N.push(e.tabConfig),S.push(e.content)})),(0,h.jsx)(l.ZP,{value:"".concat(v),children:(0,h.jsxs)(a.Z,{className:t.tabsContainer,children:[(0,h.jsx)(a.Z,{className:t.tabsHeaderContainer,children:(0,h.jsx)(c.Z,{onChange:function(e,n){y(n)},orientation:P?"horizontal":"vertical",variant:P?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:N.map((function(e,n){return e?(0,h.jsx)(s.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:f},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,h.jsxs)(a.Z,{className:t.tabContentContainer,children:[g?null:S.map((function(e,n){return(0,h.jsx)(d.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,h.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))},5604:function(e,n,t){t.r(n);var i=t(23430),r=t(18489),o=t(50390),a=t(34424),s=t(86509),l=t(4285),c=t(72462),d=t(46981),u=t(25594),m=t(66946),p=t(81378),x=t(8174),h=t(30324),f=t(35721),b=t(44149),g=t(70014),Z=t(24442),j=t(65771),v=t(12066),y=t(62702),C=t(73738),P=t(18221),N=t(13336),S=t(61846),E=t(25534),k=t(57647),T=t(29316),I=t(49495),w=t(30140),A=t(37882),F=t(53224),R=t(62559),M=(0,A.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(875),t.e(4121)]).then(t.bind(t,24121))}))),B=(0,a.$j)((function(e){return{features:e.console.session.features}}),{setErrorSnackMessage:b.Ih,setSnackBarMessage:b.y1});n.default=(0,l.Z)((function(e){return(0,s.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({buttonContainer:{textAlign:"right"},pageContainer:{border:"1px solid #EAEAEA",height:"100%"},paperContainer:{padding:"15px 15px 15px 50px",minHeight:"450px"},breadcrumLink:{textDecoration:"none",color:"black"},statement:{border:"1px solid #DADADA",padding:8,marginBottom:8,borderRadius:4},labelCol:{fontWeight:"bold"}},c.OR),c.qg),c.oO),(0,c.Bz)(e.spacing(4))))}))(B((function(e){var n=e.classes,t=e.match,r=e.setErrorSnackMessage,a=e.setSnackBarMessage,s=e.features,l=(0,o.useState)(null),c=(0,i.Z)(l,2),b=c[0],A=c[1],B=(0,o.useState)([]),O=(0,i.Z)(B,2),L=O[0],_=O[1],D=(0,o.useState)([]),U=(0,i.Z)(D,2),z=U[0],G=U[1],H=(0,o.useState)([]),W=(0,i.Z)(H,2),Y=W[0],Q=W[1],V=(0,o.useState)(!1),J=(0,i.Z)(V,2),K=J[0],$=J[1],q=(0,o.useState)(t.params[0]),X=(0,i.Z)(q,2),ee=X[0],ne=X[1],te=(0,o.useState)(""),ie=(0,i.Z)(te,2),re=ie[0],oe=ie[1],ae=(0,o.useState)(!0),se=(0,i.Z)(ae,2),le=se[0],ce=se[1],de=(0,o.useState)(""),ue=(0,i.Z)(de,2),me=ue[0],pe=ue[1],xe=(0,o.useState)(!0),he=(0,i.Z)(xe,2),fe=he[0],be=he[1],ge=(0,o.useState)(""),Ze=(0,i.Z)(ge,2),je=Ze[0],ve=Ze[1],ye=(0,o.useState)(!0),Ce=(0,i.Z)(ye,2),Pe=Ce[0],Ne=Ce[1],Se=(0,o.useState)(!1),Ee=(0,i.Z)(Se,2),ke=Ee[0],Te=Ee[1],Ie=s&&s.includes("ldap-idp")||!1,we=(0,w.F)(I.C3,[I.Ft.ADMIN_LIST_GROUPS,I.Ft.ADMIN_GET_GROUP],!0),Ae=(0,w.F)(I.C3,[I.Ft.ADMIN_GET_GROUP]),Fe=(0,w.F)(I.C3,[I.Ft.ADMIN_LIST_GROUPS]),Re=(0,w.F)(I.C3,[I.Ft.ADMIN_GET_USER]),Me=(0,w.F)(I.C3,[I.Ft.ADMIN_GET_POLICY]),Be=(0,w.F)(I.C3,[I.Ft.ADMIN_CREATE_POLICY]),Oe=function(e){e.preventDefault(),K||($(!0),Be?h.Z.invoke("POST","/api/v1/policies",{name:ee,policy:re}).then((function(e){$(!1),a("Policy successfully updated")})).catch((function(e){$(!1),r(e)})):$(!1))};(0,o.useEffect)((function(){le&&(le&&(Me?h.Z.invoke("GET","/api/v1/policy?name=".concat(encodeURIComponent(ee))).then((function(e){if(e){A(e),oe(e?JSON.stringify(JSON.parse(e.policy),null,4):"");var n=JSON.parse(e.policy);_(n.Statement)}ce(!1)})).catch((function(e){r(e),ce(!1)})):ce(!1)),fe&&(Fe&&!Ie?h.Z.invoke("GET","/api/v1/policies/".concat(encodeURIComponent(ee),"/users")).then((function(e){G(e),be(!1)})).catch((function(e){r(e),be(!1)})):be(!1)),Pe&&(we&&!Ie?h.Z.invoke("GET","/api/v1/policies/".concat(encodeURIComponent(ee),"/groups")).then((function(e){Q(e),Ne(!1)})).catch((function(e){r(e),Ne(!1)})):Ne(!1)))}),[ee,le,fe,Pe,r,G,Q,oe,A,be,Ne,Fe,we,Me,Ie]);var Le=""!==ee.trim(),_e=[{type:"view",onClick:function(e){Z.Z.push("".concat(I.gA.USERS,"/").concat(e))},disableButtonFunction:function(){return!Re}}],De=z.filter((function(e){return e.includes(me)})),Ue=[{type:"view",onClick:function(e){Z.Z.push("".concat(I.gA.GROUPS,"/").concat(e))},disableButtonFunction:function(){return!Ae}}],ze=Y.filter((function(e){return e.includes(je)}));return(0,R.jsxs)(o.Fragment,{children:[ke&&(0,R.jsx)(M,{deleteOpen:ke,selectedPolicy:ee,closeDeleteModalAndRefresh:function(e){Te(!1),Z.Z.push(I.gA.POLICIES)}}),(0,R.jsx)(f.Z,{label:(0,R.jsx)(o.Fragment,{children:(0,R.jsx)(T.Z,{to:I.gA.POLICIES,label:"Policy"})})}),(0,R.jsxs)(E.Z,{className:n.pageContainer,children:[(0,R.jsx)(u.ZP,{item:!0,xs:12,children:(0,R.jsx)(y.Z,{icon:(0,R.jsx)(o.Fragment,{children:(0,R.jsx)(C.Z,{width:40})}),title:ee,subTitle:(0,R.jsx)(o.Fragment,{children:"IAM Policy"}),actions:(0,R.jsxs)(o.Fragment,{children:[(0,R.jsx)(w.s,{scopes:[I.Ft.ADMIN_DELETE_POLICY],resource:I.C3,errorProps:{disabled:!0},children:(0,R.jsx)(F.Z,{tooltip:"Delete Policy",text:"Delete Policy",variant:"outlined",color:"secondary",icon:(0,R.jsx)(S.Z,{}),onClick:function(){Te(!0)}})}),(0,R.jsx)(F.Z,{tooltip:"Refresh",text:"Refresh",variant:"outlined",color:"primary",icon:(0,R.jsx)(P.default,{}),onClick:function(){be(!0),Ne(!0),ce(!0)}})]})})}),(0,R.jsxs)(k.Z,{children:[{tabConfig:{label:"Summary",disabled:!Me},content:(0,R.jsxs)(o.Fragment,{children:[(0,R.jsx)("div",{className:n.sectionTitle,children:"Policy Summary"}),(0,R.jsx)(d.Z,{className:n.paperContainer,children:(0,R.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){Oe(e)},children:(0,R.jsxs)(u.ZP,{container:!0,children:[(0,R.jsx)(u.ZP,{item:!0,xs:8,children:(0,R.jsx)("h4",{children:"Statements"})}),(0,R.jsx)(u.ZP,{item:!0,xs:4}),(0,R.jsx)(o.Fragment,{children:L.map((function(e,t){return(0,R.jsx)(u.ZP,{item:!0,xs:12,className:n.statement,children:(0,R.jsxs)(u.ZP,{container:!0,children:[(0,R.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Effect"}),(0,R.jsx)(u.ZP,{item:!0,xs:4,children:(0,R.jsx)(o.Fragment,{children:e.Effect})}),(0,R.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol}),(0,R.jsx)(u.ZP,{item:!0,xs:4}),(0,R.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Actions"}),(0,R.jsx)(u.ZP,{item:!0,xs:4,children:(0,R.jsx)("ul",{children:e.Action&&e.Action.map((function(e,n){return(0,R.jsx)("li",{children:e},"".concat(t,"-r-").concat(n))}))})}),(0,R.jsx)(u.ZP,{item:!0,xs:2,className:n.labelCol,children:"Resources"}),(0,R.jsx)(u.ZP,{item:!0,xs:4,children:(0,R.jsx)("ul",{children:e.Resource&&e.Resource.map((function(e,n){return(0,R.jsx)("li",{children:e},"".concat(t,"-r-").concat(n))}))})})]})},"s-".concat(t))}))})]})})})]})},{tabConfig:{label:"Users",disabled:!Fe||Ie},content:(0,R.jsxs)(o.Fragment,{children:[(0,R.jsx)("div",{className:n.sectionTitle,children:"Users"}),(0,R.jsxs)(u.ZP,{container:!0,children:[(0,R.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,R.jsx)(v.Z,{placeholder:"Search Users",className:n.searchField,id:"search-resource",label:"",onChange:function(e){pe(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,R.jsx)(j.Z,{position:"start",children:(0,R.jsx)(N.Z,{})})},variant:"standard"})}),(0,R.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,R.jsx)("br",{})}),(0,R.jsx)(x.Z,{itemActions:_e,columns:[{label:"Name",elementKey:"name"}],isLoading:fe,records:De,entityName:"Users",idField:"name"})]})]})},{tabConfig:{label:"Groups",disabled:!we||Ie},content:(0,R.jsxs)(o.Fragment,{children:[(0,R.jsx)("div",{className:n.sectionTitle,children:"Groups"}),(0,R.jsxs)(u.ZP,{container:!0,children:[(0,R.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,R.jsx)(v.Z,{placeholder:"Search Groups",className:n.searchField,id:"search-resource",label:"",onChange:function(e){ve(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,R.jsx)(j.Z,{position:"start",children:(0,R.jsx)(N.Z,{})})},variant:"standard"})}),(0,R.jsx)(u.ZP,{item:!0,xs:12,className:n.actionsTray,children:(0,R.jsx)("br",{})}),(0,R.jsx)(x.Z,{itemActions:Ue,columns:[{label:"Name",elementKey:"name"}],isLoading:Pe,records:ze,entityName:"Groups",idField:"name"})]})]})},{tabConfig:{label:"Raw Policy",disabled:!Me},content:(0,R.jsxs)(o.Fragment,{children:[(0,R.jsx)("div",{className:n.sectionTitle,children:"Raw Policy"}),(0,R.jsx)(d.Z,{className:n.paperContainer,children:(0,R.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){Oe(e)},children:(0,R.jsxs)(u.ZP,{container:!0,children:[(0,R.jsx)(u.ZP,{item:!0,xs:12,className:n.formScrollable,children:(0,R.jsx)(g.Z,{readOnly:!Be,value:re,onBeforeChange:function(e,n,t){oe(t)},editorHeight:"350px"})}),(0,R.jsxs)(u.ZP,{item:!0,xs:12,className:n.buttonContainer,children:[!b&&(0,R.jsx)("button",{type:"button",color:"primary",className:n.clearButton,onClick:function(){ne(""),oe("")},children:"Clear"}),(0,R.jsx)(w.s,{scopes:[I.Ft.ADMIN_CREATE_POLICY],resource:I.C3,errorProps:{disabled:!0},children:(0,R.jsx)(m.Z,{type:"submit",variant:"contained",color:"primary",disabled:K||!Le,children:"Save"})})]}),K&&(0,R.jsx)(u.ZP,{item:!0,xs:12,children:(0,R.jsx)(p.Z,{})})]})})})]})}]})]})]})})))},97227:function(e,n,t){t.d(n,{ZP:function(){return s},_i:function(){return l},uU:function(){return c},pQ:function(){return d}});var i=t(23430),r=t(50390),o=t(62559),a=r.createContext(null);function s(e){var n=e.children,t=e.value,s=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],o=n[1];return r.useEffect((function(){o("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),l=r.useMemo((function(){return{idPrefix:s,value:t}}),[s,t]);return(0,o.jsx)(a.Provider,{value:l,children:n})}function l(){return r.useContext(a)}function c(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function d(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var i=t(18207),r=t(46633),o=t(50390),a=t(98247),s=t(97227),l=t(62559),c=["children"],d=o.forwardRef((function(e,n){var t=e.children,d=(0,r.Z)(e,c),u=(0,s._i)();if(null===u)throw new TypeError("No TabContext provided");var m=o.Children.map(t,(function(e){return o.isValidElement(e)?o.cloneElement(e,{"aria-controls":(0,s.uU)(u,e.props.value),id:(0,s.pQ)(u,e.props.value)}):null}));return(0,l.jsx)(a.Z,(0,i.Z)({},d,{ref:n,value:u.value,children:m}))}));n.Z=d},669:function(e,n,t){t.d(n,{Z:function(){return f}});var i=t(18207),r=t(46633),o=t(50390),a=t(44977),s=t(8208),l=t(15573),c=t(50076),d=t(10594);function u(e){return(0,d.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var m=t(97227),p=t(62559),x=["children","className","value"],h=(0,s.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),f=o.forwardRef((function(e,n){var t=(0,l.Z)({props:e,name:"MuiTabPanel"}),o=t.children,s=t.className,d=t.value,f=(0,r.Z)(t,x),b=(0,i.Z)({},t),g=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},u,n)}(b),Z=(0,m._i)();if(null===Z)throw new TypeError("No TabContext provided");var j=(0,m.uU)(Z,d),v=(0,m.pQ)(Z,d);return(0,p.jsx)(h,(0,i.Z)({"aria-labelledby":v,className:(0,a.Z)(g.root,s),hidden:d!==Z.value,id:j,ref:n,role:"tabpanel",ownerState:b},f,{children:d===Z.value&&o}))}))},65771:function(e,n,t){t.d(n,{Z:function(){return y}});var i=t(36222),r=t(1048),o=t(32793),a=t(50390),s=t(44977),l=t(50076),c=t(91442),d=t(35477),u=t(14478),m=t(23060),p=t(8208),x=t(10594);function h(e){return(0,x.Z)("MuiInputAdornment",e)}var f,b=(0,t(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),g=t(15573),Z=t(62559),j=["children","className","component","disablePointerEvents","disableTypography","position","variant"],v=(0,p.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,n){var t=e.ownerState;return[n.root,n["position".concat((0,c.Z)(t.position))],!0===t.disablePointerEvents&&n.disablePointerEvents,n[t.variant]]}})((function(e){var n=e.theme,t=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:n.palette.action.active},"filled"===t.variant&&(0,i.Z)({},"&.".concat(b.positionStart,"&:not(.").concat(b.hiddenLabel,")"),{marginTop:16}),"start"===t.position&&{marginRight:8},"end"===t.position&&{marginLeft:8},!0===t.disablePointerEvents&&{pointerEvents:"none"})})),y=a.forwardRef((function(e,n){var t=(0,g.Z)({props:e,name:"MuiInputAdornment"}),i=t.children,p=t.className,x=t.component,b=void 0===x?"div":x,y=t.disablePointerEvents,C=void 0!==y&&y,P=t.disableTypography,N=void 0!==P&&P,S=t.position,E=t.variant,k=(0,r.Z)(t,j),T=(0,m.Z)()||{},I=E;E&&T.variant,T&&!I&&(I=T.variant);var w=(0,o.Z)({},t,{hiddenLabel:T.hiddenLabel,size:T.size,disablePointerEvents:C,position:S,variant:I}),A=function(e){var n=e.classes,t=e.disablePointerEvents,i=e.hiddenLabel,r=e.position,o=e.size,a=e.variant,s={root:["root",t&&"disablePointerEvents",r&&"position".concat((0,c.Z)(r)),a,i&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,l.Z)(s,h,n)}(w);return(0,Z.jsx)(u.Z.Provider,{value:null,children:(0,Z.jsx)(v,(0,o.Z)({as:b,ownerState:w,className:(0,s.Z)(A.root,p),ref:n},k,{children:"string"!==typeof i||N?(0,Z.jsxs)(a.Fragment,{children:["start"===S?f||(f=(0,Z.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,Z.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))},18207:function(e,n,t){function i(){return i=Object.assign||function(e){for(var n=1;n=0||(r[t]=e[t]);return r}t.d(n,{Z:function(){return i}})},83738:function(e,n,t){function i(e,n){if(null==e)return{};var t,i,r=function(e,n){if(null==e)return{};var t,i,r={},o=Object.keys(e);for(i=0;i=0||(r[t]=e[t]);return r}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(i=0;i=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}t.d(n,{Z:function(){return i}})}}]); +//# sourceMappingURL=4084.bb2e5658.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4084.bb2e5658.chunk.js.map b/portal-ui/build/static/js/4084.bb2e5658.chunk.js.map new file mode 100644 index 000000000..0e41c058b --- /dev/null +++ b/portal-ui/build/static/js/4084.bb2e5658.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4084.bb2e5658.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Policies/PolicyDetails.tsx","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackIcon } from \"../icons\";\nimport { Box } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"inline-block\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textDecoration: \"none\",\n maxWidth: \"40px\",\n \"&:active\": {\n color: theme.palette.primary.light,\n },\n },\n icon: {\n marginRight: \"11px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"35px\",\n width: \"35px\",\n borderRadius: \"2px\",\n \"&:hover\": {\n background: \"rgba(234,237,238)\",\n },\n \"& svg.min-icon\": {\n width: \"18px\",\n height: \"12px\",\n },\n },\n label: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"35px\",\n padding: \"0 0px 0 5px\",\n fontSize: \"18px\",\n fontWeight: 600,\n color: theme.palette.primary.light,\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n \n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
    \n \n
    \n \n
    {label}
    \n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n \n
    \n
    \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n
    \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
    \n {icon ?
    {icon}
    : null}\n
    \n

    {title}

    \n {subTitle}\n
    \n
    \n\n
    {actions}
    \n
    \n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
    {routes}
    \n ) : null}\n
    \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { IAMPolicy, IAMStatement, Policy } from \"./types\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n modalBasic,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport api from \"../../../common/api\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport { setErrorSnackMessage, setSnackBarMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport history from \"../../../history\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport TextField from \"@mui/material/TextField\";\nimport ScreenTitle from \"../Common/ScreenTitle/ScreenTitle\";\nimport IAMPoliciesIcon from \"../../../icons/IAMPoliciesIcon\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TrashIcon from \"../../../icons/TrashIcon\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport VerticalTabs from \"../Common/VerticalTabs/VerticalTabs\";\nimport BackLink from \"../../../common/BackLink\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_PAGES,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../common/SecureComponent\";\n\nimport withSuspense from \"../Common/Components/withSuspense\";\nimport { AppState } from \"../../../store\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\nconst DeletePolicy = withSuspense(React.lazy(() => import(\"./DeletePolicy\")));\n\ninterface IPolicyDetailsProps {\n classes: any;\n match: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setSnackBarMessage: typeof setSnackBarMessage;\n features: string[] | null;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n pageContainer: {\n border: \"1px solid #EAEAEA\",\n height: \"100%\",\n },\n paperContainer: {\n padding: \"15px 15px 15px 50px\",\n minHeight: \"450px\",\n },\n breadcrumLink: {\n textDecoration: \"none\",\n color: \"black\",\n },\n statement: {\n border: \"1px solid #DADADA\",\n padding: 8,\n marginBottom: 8,\n borderRadius: 4,\n },\n labelCol: {\n fontWeight: \"bold\",\n },\n ...actionsTray,\n ...searchField,\n ...modalBasic,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PolicyDetails = ({\n classes,\n match,\n setErrorSnackMessage,\n setSnackBarMessage,\n features,\n}: IPolicyDetailsProps) => {\n const [policy, setPolicy] = useState(null);\n const [policyStatements, setPolicyStatements] = useState([]);\n const [userList, setUserList] = useState([]);\n const [groupList, setGroupList] = useState([]);\n const [addLoading, setAddLoading] = useState(false);\n const [policyName, setPolicyName] = useState(match.params[0]);\n const [policyDefinition, setPolicyDefinition] = useState(\"\");\n const [loadingPolicy, setLoadingPolicy] = useState(true);\n const [filterUsers, setFilterUsers] = useState(\"\");\n const [loadingUsers, setLoadingUsers] = useState(true);\n const [filterGroups, setFilterGroups] = useState(\"\");\n const [loadingGroups, setLoadingGroups] = useState(true);\n const [deleteOpen, setDeleteOpen] = useState(false);\n\n const ldapIsEnabled = (features && features.includes(\"ldap-idp\")) || false;\n\n const displayGroups = hasPermission(\n CONSOLE_UI_RESOURCE,\n [IAM_SCOPES.ADMIN_LIST_GROUPS, IAM_SCOPES.ADMIN_GET_GROUP],\n true\n );\n\n const viewGroup = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_GROUP,\n ]);\n\n const displayUsers = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_LIST_GROUPS,\n ]);\n\n const viewUser = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_USER,\n ]);\n\n const displayPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_GET_POLICY,\n ]);\n\n const editPolicy = hasPermission(CONSOLE_UI_RESOURCE, [\n IAM_SCOPES.ADMIN_CREATE_POLICY,\n ]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (editPolicy) {\n api\n .invoke(\"POST\", \"/api/v1/policies\", {\n name: policyName,\n policy: policyDefinition,\n })\n .then((_) => {\n setAddLoading(false);\n setSnackBarMessage(\"Policy successfully updated\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setErrorSnackMessage(err);\n });\n } else {\n setAddLoading(false);\n }\n };\n\n useEffect(() => {\n const loadUsersForPolicy = () => {\n if (loadingUsers) {\n if (displayUsers && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURIComponent(policyName)}/users`\n )\n .then((result: any) => {\n setUserList(result);\n setLoadingUsers(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingUsers(false);\n });\n } else {\n setLoadingUsers(false);\n }\n }\n };\n\n const loadGroupsForPolicy = () => {\n if (loadingGroups) {\n if (displayGroups && !ldapIsEnabled) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policies/${encodeURIComponent(policyName)}/groups`\n )\n .then((result: any) => {\n setGroupList(result);\n setLoadingGroups(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingGroups(false);\n });\n } else {\n setLoadingGroups(false);\n }\n }\n };\n const loadPolicyDetails = () => {\n if (loadingPolicy) {\n if (displayPolicy) {\n api\n .invoke(\n \"GET\",\n `/api/v1/policy?name=${encodeURIComponent(policyName)}`\n )\n .then((result: any) => {\n if (result) {\n setPolicy(result);\n setPolicyDefinition(\n result\n ? JSON.stringify(JSON.parse(result.policy), null, 4)\n : \"\"\n );\n const pol: IAMPolicy = JSON.parse(result.policy);\n setPolicyStatements(pol.Statement);\n }\n setLoadingPolicy(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingPolicy(false);\n });\n } else {\n setLoadingPolicy(false);\n }\n }\n };\n\n if (loadingPolicy) {\n loadPolicyDetails();\n loadUsersForPolicy();\n loadGroupsForPolicy();\n }\n }, [\n policyName,\n loadingPolicy,\n loadingUsers,\n loadingGroups,\n setErrorSnackMessage,\n setUserList,\n setGroupList,\n setPolicyDefinition,\n setPolicy,\n setLoadingUsers,\n setLoadingGroups,\n displayUsers,\n displayGroups,\n displayPolicy,\n ldapIsEnabled,\n ]);\n\n const resetForm = () => {\n setPolicyName(\"\");\n setPolicyDefinition(\"\");\n };\n\n const validSave = policyName.trim() !== \"\";\n\n const deletePolicy = () => {\n setDeleteOpen(true);\n };\n\n const closeDeleteModalAndRefresh = (refresh: boolean) => {\n setDeleteOpen(false);\n history.push(IAM_PAGES.POLICIES);\n };\n\n const userViewAction = (user: any) => {\n history.push(`${IAM_PAGES.USERS}/${user}`);\n };\n const userTableActions = [\n {\n type: \"view\",\n onClick: userViewAction,\n disableButtonFunction: () => !viewUser,\n },\n ];\n\n const filteredUsers = userList.filter((elementItem) =>\n elementItem.includes(filterUsers)\n );\n\n const groupViewAction = (group: any) => {\n history.push(`${IAM_PAGES.GROUPS}/${group}`);\n };\n\n const groupTableActions = [\n {\n type: \"view\",\n onClick: groupViewAction,\n disableButtonFunction: () => !viewGroup,\n },\n ];\n\n const filteredGroups = groupList.filter((elementItem) =>\n elementItem.includes(filterGroups)\n );\n\n return (\n \n {deleteOpen && (\n \n )}\n \n \n \n }\n />\n\n \n \n \n \n
    \n }\n title={policyName}\n subTitle={IAM Policy}\n actions={\n \n \n }\n onClick={deletePolicy}\n />\n \n\n }\n onClick={() => {\n setLoadingUsers(true);\n setLoadingGroups(true);\n setLoadingPolicy(true);\n }}\n />\n \n }\n />\n \n\n \n {{\n tabConfig: { label: \"Summary\", disabled: !displayPolicy },\n content: (\n \n
    Policy Summary
    \n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n

    Statements

    \n
    \n \n\n \n {policyStatements.map((stmt, i) => {\n return (\n \n \n \n Effect\n \n \n {stmt.Effect}\n \n \n \n \n Actions\n \n \n
      \n {stmt.Action &&\n stmt.Action.map((act, actIndex) => (\n
    • \n {act}\n
    • \n ))}\n
    \n
    \n \n Resources\n \n \n
      \n {stmt.Resource &&\n stmt.Resource.map((res, resIndex) => (\n
    • \n {res}\n
    • \n ))}\n
    \n
    \n
    \n
    \n );\n })}\n
    \n
    \n \n
    \n
    \n ),\n }}\n {{\n tabConfig: {\n label: \"Users\",\n disabled: !displayUsers || ldapIsEnabled,\n },\n content: (\n \n
    Users
    \n \n \n {\n setFilterUsers(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n \n
    \n
    \n \n
    \n
    \n ),\n }}\n {{\n tabConfig: {\n label: \"Groups\",\n disabled: !displayGroups || ldapIsEnabled,\n },\n content: (\n \n
    Groups
    \n \n \n {\n setFilterGroups(val.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n \n \n
    \n
    \n \n
    \n
    \n ),\n }}\n {{\n tabConfig: { label: \"Raw Policy\", disabled: !displayPolicy },\n content: (\n \n
    Raw Policy
    \n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n {\n setPolicyDefinition(value);\n }}\n editorHeight={\"350px\"}\n />\n \n \n {!policy && (\n {\n resetForm();\n }}\n >\n Clear\n \n )}\n \n \n Save\n \n \n \n {addLoading && (\n \n \n \n )}\n \n \n \n
    \n ),\n }}\n
    \n \n
    \n );\n};\n\nconst mapState = (state: AppState) => ({\n features: state.console.session.features,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setSnackBarMessage,\n});\n\nexport default withStyles(styles)(connector(PolicyDetails));\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","link","display","alignItems","justifyContent","textDecoration","maxWidth","color","palette","primary","light","icon","marginRight","height","width","borderRadius","background","label","padding","fontSize","fontWeight","to","classes","className","executeOnClick","sx","onClick","useStyles","makeStyles","root","props","variant","tgtColor","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","disabled","tooltip","restProps","size","border","borderWidth","borderStyle","backgroundColor","opacity","contained","dark","children","rest","button","clsx","title","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","darkTheme","fieldBasic","inputLabel","value","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","item","xs","extensions","editable","basicSetup","onChange","v","vu","borderTop","paddingRight","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","includes","Fragment","container","direction","sm","md","paddingTop","length","component","id","headerBarIcon","headerBarSubheader","screenTitle","borderBottom","flexFlow","titleColumn","leftItems","rightItems","subTitle","style","margin","tabStripStyle","tabsContainer","tabsHeaderContainer","marginBottom","tabContentContainer","tabPanel","flexDirection","selectedTab","routes","isRouteTabs","React","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","event","newValue","orientation","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","DeletePolicy","withSuspense","setErrorSnackMessage","setSnackBarMessage","buttonContainer","pageContainer","paperContainer","breadcrumLink","statement","labelCol","actionsTray","searchField","modalBasic","containerForHeader","spacing","match","policy","setPolicy","policyStatements","setPolicyStatements","userList","setUserList","groupList","setGroupList","addLoading","setAddLoading","params","policyName","setPolicyName","policyDefinition","setPolicyDefinition","loadingPolicy","setLoadingPolicy","filterUsers","setFilterUsers","loadingUsers","setLoadingUsers","filterGroups","setFilterGroups","loadingGroups","setLoadingGroups","deleteOpen","setDeleteOpen","ldapIsEnabled","displayGroups","hasPermission","CONSOLE_UI_RESOURCE","IAM_SCOPES","viewGroup","displayUsers","viewUser","displayPolicy","editPolicy","saveRecord","preventDefault","api","name","then","_","catch","err","useEffect","encodeURIComponent","result","JSON","stringify","parse","pol","Statement","validSave","trim","userTableActions","type","user","history","IAM_PAGES","disableButtonFunction","filteredUsers","filter","elementItem","groupTableActions","group","filteredGroups","selectedPolicy","closeDeleteModalAndRefresh","refresh","scopes","resource","errorProps","sectionTitle","noValidate","autoComplete","onSubmit","e","stmt","i","Effect","Action","act","actIndex","Resource","res","resIndex","placeholder","val","target","InputProps","disableUnderline","startAdornment","position","itemActions","columns","elementKey","isLoading","records","entityName","idField","formScrollable","editor","data","clearButton","Context","TabContext","idPrefix","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","overridesResolver","styles","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","hidden","role","getInputAdornmentUtilityClass","_span","InputAdornmentRoot","capitalize","disablePointerEvents","maxHeight","whiteSpace","action","active","inputAdornmentClasses","pointerEvents","disableTypography","variantProp","muiFormControl","useFormControl","hiddenLabel","slots","FormControlContext","as","_jsxs","Typography","Object","assign","arguments","source","key","prototype","hasOwnProperty","call","apply","this","excluded","sourceKeys","keys","indexOf","_objectWithoutProperties","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4121.0e3d5ae5.chunk.js b/portal-ui/build/static/js/4121.c824f4ac.chunk.js similarity index 96% rename from portal-ui/build/static/js/4121.0e3d5ae5.chunk.js rename to portal-ui/build/static/js/4121.c824f4ac.chunk.js index 1c356528b..d7f7670e3 100644 --- a/portal-ui/build/static/js/4121.0e3d5ae5.chunk.js +++ b/portal-ui/build/static/js/4121.c824f4ac.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4121],{21639:function(n,e,o){var t=o(23430),i=o(50390),c=o(30324);e.Z=function(n,e){var o=(0,i.useState)(!1),s=(0,t.Z)(o,2),l=s[0],r=s[1];return[l,function(o,t,i){r(!0),c.Z.invoke(o,t,i).then((function(e){r(!1),n(e)})).catch((function(n){r(!1),e(n)}))}]}},60656:function(n,e,o){var t=o(18489),i=o(50390),c=o(84402),s=o(78426),l=o(93085),r=o(7887),a=o(66946),u=o(7521),d=o(95467),f=o(21278),m=o(86509),Z=o(4285),v=o(72462),p=o(62559);e.Z=(0,Z.Z)((function(n){return(0,m.Z)((0,t.Z)({},v.Qw))}))((function(n){var e=n.isOpen,o=void 0!==e&&e,m=n.onClose,Z=n.onCancel,v=n.onConfirm,x=n.classes,h=void 0===x?{}:x,j=n.title,C=void 0===j?"":j,k=n.isLoading,b=n.confirmationContent,y=n.cancelText,N=void 0===y?"Cancel":y,g=n.confirmText,P=void 0===g?"Confirm":g,B=n.confirmButtonProps,E=void 0===B?{}:B,M=n.cancelButtonProps,T=void 0===M?{}:M,w=n.titleIcon,D=void 0===w?null:w;return(0,p.jsxs)(c.Z,{open:o,onClose:function(n,e){"backdropClick"!==e&&m()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(s.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[D," ",C]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(d.Z,{"aria-label":"close",className:h.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,p.jsx)(f.Z,{})})})]}),(0,p.jsx)(l.Z,{className:h.content,children:b}),(0,p.jsxs)(r.Z,{className:h.actions,children:[(0,p.jsx)(a.Z,(0,t.Z)((0,t.Z)({className:h.cancelButton,onClick:Z||m,disabled:k,type:"button"},T),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:N})),(0,p.jsx)(u.Z,(0,t.Z)((0,t.Z)({className:h.confirmButton,type:"button",onClick:v,loading:k,disabled:k,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(i.Fragment,{}),autoFocus:!0,id:"confirm-ok"},E),{},{children:P}))]})]})}))},24121:function(n,e,o){o.r(e);var t=o(23430),i=(o(50390),o(34424)),c=o(23473),s=o(44149),l=o(21639),r=o(60656),a=o(86362),u=o(62559),d={setErrorSnackMessage:s.Ih},f=(0,i.$j)(null,d);e.default=f((function(n){var e=n.closeDeleteModalAndRefresh,o=n.deleteOpen,i=n.selectedPolicy,s=n.setErrorSnackMessage,d=(0,l.Z)((function(){return e(!0)}),(function(n){return s(n)})),f=(0,t.Z)(d,2),m=f[0],Z=f[1];if(!i)return null;return(0,u.jsx)(r.Z,{title:"Delete Policy",confirmText:"Delete",isOpen:o,titleIcon:(0,u.jsx)(a.Nv,{}),isLoading:m,onConfirm:function(){Z("DELETE","/api/v1/policy?name=".concat(i))},onClose:function(){return e(!1)},confirmationContent:(0,u.jsxs)(c.Z,{children:["Are you sure you want to delete policy ",(0,u.jsx)("br",{}),(0,u.jsx)("b",{children:i}),"?"]})})}))},21278:function(n,e,o){var t=o(64119);e.Z=void 0;var i=t(o(66830)),c=o(62559),s=(0,i.default)((0,c.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");e.Z=s}}]); -//# sourceMappingURL=4121.0e3d5ae5.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4121],{21639:function(n,e,o){var t=o(23430),i=o(50390),c=o(30324);e.Z=function(n,e){var o=(0,i.useState)(!1),s=(0,t.Z)(o,2),l=s[0],r=s[1];return[l,function(o,t,i){r(!0),c.Z.invoke(o,t,i).then((function(e){r(!1),n(e)})).catch((function(n){r(!1),e(n)}))}]}},60656:function(n,e,o){var t=o(18489),i=o(50390),c=o(84402),s=o(78426),l=o(93085),r=o(7887),a=o(66946),u=o(7521),d=o(95467),f=o(21278),m=o(86509),Z=o(4285),v=o(72462),p=o(62559);e.Z=(0,Z.Z)((function(n){return(0,m.Z)((0,t.Z)({},v.Qw))}))((function(n){var e=n.isOpen,o=void 0!==e&&e,m=n.onClose,Z=n.onCancel,v=n.onConfirm,x=n.classes,h=void 0===x?{}:x,j=n.title,C=void 0===j?"":j,k=n.isLoading,b=n.confirmationContent,y=n.cancelText,N=void 0===y?"Cancel":y,g=n.confirmText,P=void 0===g?"Confirm":g,B=n.confirmButtonProps,E=void 0===B?{}:B,M=n.cancelButtonProps,T=void 0===M?{}:M,w=n.titleIcon,D=void 0===w?null:w;return(0,p.jsxs)(c.Z,{open:o,onClose:function(n,e){"backdropClick"!==e&&m()},className:h.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,p.jsxs)(s.Z,{className:h.title,children:[(0,p.jsxs)("div",{className:h.titleText,children:[D," ",C]}),(0,p.jsx)("div",{className:h.closeContainer,children:(0,p.jsx)(d.Z,{"aria-label":"close",className:h.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,p.jsx)(f.Z,{})})})]}),(0,p.jsx)(l.Z,{className:h.content,children:b}),(0,p.jsxs)(r.Z,{className:h.actions,children:[(0,p.jsx)(a.Z,(0,t.Z)((0,t.Z)({className:h.cancelButton,onClick:Z||m,disabled:k,type:"button"},T),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:N})),(0,p.jsx)(u.Z,(0,t.Z)((0,t.Z)({className:h.confirmButton,type:"button",onClick:v,loading:k,disabled:k,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,p.jsx)(i.Fragment,{}),autoFocus:!0,id:"confirm-ok"},E),{},{children:P}))]})]})}))},24121:function(n,e,o){o.r(e);var t=o(23430),i=(o(50390),o(34424)),c=o(23473),s=o(44149),l=o(21639),r=o(60656),a=o(14549),u=o(62559),d={setErrorSnackMessage:s.Ih},f=(0,i.$j)(null,d);e.default=f((function(n){var e=n.closeDeleteModalAndRefresh,o=n.deleteOpen,i=n.selectedPolicy,s=n.setErrorSnackMessage,d=(0,l.Z)((function(){return e(!0)}),(function(n){return s(n)})),f=(0,t.Z)(d,2),m=f[0],Z=f[1];if(!i)return null;return(0,u.jsx)(r.Z,{title:"Delete Policy",confirmText:"Delete",isOpen:o,titleIcon:(0,u.jsx)(a.Nv,{}),isLoading:m,onConfirm:function(){Z("DELETE","/api/v1/policy?name=".concat(i))},onClose:function(){return e(!1)},confirmationContent:(0,u.jsxs)(c.Z,{children:["Are you sure you want to delete policy ",(0,u.jsx)("br",{}),(0,u.jsx)("b",{children:i}),"?"]})})}))},21278:function(n,e,o){var t=o(64119);e.Z=void 0;var i=t(o(66830)),c=o(62559),s=(0,i.default)((0,c.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");e.Z=s}}]); +//# sourceMappingURL=4121.c824f4ac.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4121.0e3d5ae5.chunk.js.map b/portal-ui/build/static/js/4121.c824f4ac.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4121.0e3d5ae5.chunk.js.map rename to portal-ui/build/static/js/4121.c824f4ac.chunk.js.map index 9fd60b8fd..d1f0b4f4f 100644 --- a/portal-ui/build/static/js/4121.0e3d5ae5.chunk.js.map +++ b/portal-ui/build/static/js/4121.c824f4ac.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4121.0e3d5ae5.chunk.js","mappings":"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","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Policies/DeletePolicy.tsx","../node_modules/@mui/icons-material/Close.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeletePolicyProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedPolicy: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePolicy = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedPolicy,\n setErrorSnackMessage,\n}: IDeletePolicyProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedPolicy) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/policy?name=${selectedPolicy}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete policy
    \n {selectedPolicy}?\n
    \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\nexport default connector(DeletePolicy);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","id","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedPolicy","useApi","deleteLoading","invokeDeleteApi","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4121.c824f4ac.chunk.js","mappings":"kJA+BA,IAvBe,SACbA,EACAC,GAEA,OAAkCC,EAAAA,EAAAA,WAAkB,GAApD,eAAOC,EAAP,KAAkBC,EAAlB,KAgBA,MAAO,CAACD,EAdQ,SAACE,EAAgBC,EAAaC,GAC5CH,GAAa,GACbI,EAAAA,EAAAA,OACUH,EAAQC,EAAKC,GACpBE,MAAK,SAACC,GACLN,GAAa,GACbJ,EAAUU,MAEXC,OAAM,SAACC,GACNR,GAAa,GACbH,EAAQW,U,iLCmGhB,KAAeC,EAAAA,EAAAA,IA1GA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,OAwGP,EArFsB,SAAC,GAcI,IAAD,IAbxBC,OAAAA,OAawB,SAZxBC,EAYwB,EAZxBA,QACAC,EAWwB,EAXxBA,SACAC,EAUwB,EAVxBA,UAUwB,IATxBC,QAAAA,OASwB,MATd,GASc,MARxBC,MAAAA,OAQwB,MARhB,GAQgB,EAPxBnB,EAOwB,EAPxBA,UACAoB,EAMwB,EANxBA,oBAMwB,IALxBC,WAAAA,OAKwB,MALX,SAKW,MAJxBC,YAAAA,OAIwB,MAJV,UAIU,MAHxBC,mBAAAA,OAGwB,MAHH,GAGG,MAFxBC,kBAAAA,OAEwB,MAFJ,GAEI,MADxBC,UAAAA,OACwB,MADZ,KACY,EACxB,OACE,UAAC,IAAD,CACEC,KAAMZ,EACNC,QAAS,SAACY,EAAOC,GACA,kBAAXA,GACFb,KAGJc,UAAWX,EAAQY,KACnBC,GAAI,CACF,mBAAoB,CAClBC,QAAS,wBAVf,WAcE,UAAC,IAAD,CAAaH,UAAWX,EAAQC,MAAhC,WACE,iBAAKU,UAAWX,EAAQe,UAAxB,UACGR,EADH,IACeN,MAEf,gBAAKU,UAAWX,EAAQgB,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACXL,UAAWX,EAAQiB,YACnBC,QAASrB,EACTsB,eAAa,EACbC,KAAK,QALP,UAOE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAeT,UAAWX,EAAQqB,QAAlC,SACGnB,KAEH,UAAC,IAAD,CAAeS,UAAWX,EAAQsB,QAAlC,WACE,SAAC,KAAD,gBACEX,UAAWX,EAAQuB,aACnBL,QAASpB,GAAYD,EACrB2B,SAAU1C,EACV2C,KAAK,UACDnB,GALN,IAMEoB,QAAQ,WACRC,MAAM,UACNC,GAAI,iBARN,SAUGzB,MAGH,SAAC,KAAD,gBACEQ,UAAWX,EAAQ6B,cACnBJ,KAAK,SACLP,QAASnB,EACT+B,QAAShD,EACT0C,SAAU1C,EACV4C,QAAQ,WACRC,MAAM,YACNI,gBAAgB,QAChBC,WAAW,SAAC,WAAD,IACXC,WAAS,EACTL,GAAI,cACAvB,GAZN,aAcGD,e,oIC7CL8B,EAAqB,CACzBC,qBAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMH,GAChC,UAAeE,GA5CM,SAAC,GAKK,IAJzBE,EAIwB,EAJxBA,2BACAC,EAGwB,EAHxBA,WACAC,EAEwB,EAFxBA,eACAL,EACwB,EADxBA,qBAMA,GAAyCM,EAAAA,EAAAA,IAJpB,kBAAMH,GAA2B,MACnC,SAAC/C,GAAD,OAA+B4C,EAAqB5C,MAGvE,eAAOmD,EAAP,KAAsBC,EAAtB,KAEA,IAAKH,EACH,OAAO,KAOT,OACE,SAAC,IAAD,CACEvC,MAAK,gBACLG,YAAa,SACbR,OAAQ2C,EACRhC,WAAW,SAAC,KAAD,IACXzB,UAAW4D,EACX3C,UAXoB,WACtB4C,EAAgB,SAAD,8BAAkCH,KAW/C3C,QApBY,kBAAMyC,GAA2B,IAqB7CpC,qBACE,UAAC,IAAD,sDACyC,mBACvC,uBAAIsC,IAFN,a,0BC5DJI,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,0GACD,SAEJN,EAAQ,EAAUG","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Policies/DeletePolicy.tsx","../node_modules/@mui/icons-material/Close.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeletePolicyProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedPolicy: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePolicy = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedPolicy,\n setErrorSnackMessage,\n}: IDeletePolicyProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedPolicy) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/policy?name=${selectedPolicy}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete policy
    \n {selectedPolicy}?\n
    \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\nexport default connector(DeletePolicy);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","id","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedPolicy","useApi","deleteLoading","invokeDeleteApi","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4177.381caad6.chunk.js b/portal-ui/build/static/js/4177.381caad6.chunk.js deleted file mode 100644 index 61940230d..000000000 --- a/portal-ui/build/static/js/4177.381caad6.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4177],{44177:function(e,t,n){n.r(t);var i=n(23430),o=n(18489),a=n(50390),s=n(34424),r=n(25594),l=n(66946),c=n(81378),d=n(86509),u=n(4285),p=n(44149),m=n(72462),v=n(30324),Z=n(51002),f=n(66964),h=n(67754),x=n(86362),b=n(62559),g=(0,s.$j)(null,{setModalErrorSnackMessage:p.zb});t.default=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)({},m.ID),m.DF))}))(g((function(e){var t=e.classes,n=e.open,o=e.encryptionCfg,s=e.selectedBucket,d=e.closeModalAndRefresh,u=e.setModalErrorSnackMessage,p=(0,a.useState)(!1),m=(0,i.Z)(p,2),g=m[0],y=m[1],j=(0,a.useState)(""),C=(0,i.Z)(j,2),k=C[0],M=C[1],S=(0,a.useState)("disabled"),N=(0,i.Z)(S,2),I=N[0],w=N[1];(0,a.useEffect)((function(){o&&("AES256"===o.algorithm?w("sse-s3"):(w("sse-kms"),M(o.kmsMasterKeyID)))}),[o]);return(0,b.jsx)(Z.Z,{modalOpen:n,onClose:function(){d()},title:"Enable Bucket Encryption",titleIcon:(0,b.jsx)(x.Xn,{}),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g||("disabled"===I?v.Z.invoke("POST","/api/v1/buckets/".concat(s,"/encryption/disable")).then((function(){y(!1),d()})).catch((function(e){y(!1),u(e)})):v.Z.invoke("POST","/api/v1/buckets/".concat(s,"/encryption/enable"),{encType:I,kmsKeyID:k}).then((function(){y(!1),d()})).catch((function(e){y(!1),u(e)})))},children:(0,b.jsxs)(r.ZP,{container:!0,children:[(0,b.jsxs)(r.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,b.jsx)(r.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(h.Z,{onChange:function(e){w(e.target.value)},id:"select-encryption-type",name:"select-encryption-type",label:"Encryption Type",value:I,options:[{label:"Disabled",value:"disabled"},{label:"SSE-S3",value:"sse-s3"},{label:"SSE-KMS",value:"sse-kms"}]})}),"sse-kms"===I&&(0,b.jsx)(r.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(f.Z,{id:"kms-key-id",name:"kms-key-id",label:"KMS Key ID",value:k,onChange:function(e){M(e.target.value)}})})]}),(0,b.jsxs)(r.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,b.jsx)(l.Z,{type:"submit",variant:"outlined",color:"primary",onClick:function(){d()},disabled:g,children:"Cancel"}),(0,b.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:g,children:"Save"})]}),g&&(0,b.jsx)(r.ZP,{item:!0,xs:12,children:(0,b.jsx)(c.Z,{})})]})})})})))},66964:function(e,t,n){var i=n(18489),o=n(50390),a=n(12066),s=n(25594),r=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),v=n(97538),Z=n(44977),f=n(62559),h=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function x(e){var t=h();return(0,f.jsx)(a.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,a=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,h=e.autoComplete,b=void 0===h?"off":h,g=e.disabled,y=void 0!==g&&g,j=e.multiline,C=void 0!==j&&j,k=e.tooltip,M=void 0===k?"":k,S=e.index,N=void 0===S?0:S,I=e.error,w=void 0===I?"":I,P=e.required,F=void 0!==P&&P,B=e.placeholder,L=void 0===B?"":B,E=e.min,R=e.max,D=e.overlayId,O=e.overlayIcon,W=void 0===O?null:O,T=e.overlayObject,V=void 0===T?null:T,z=e.extraInputProps,A=void 0===z?{}:z,G=e.overlayAction,H=e.noLabelMinWidth,K=void 0!==H&&H,q=e.pattern,Y=void 0===q?"":q,$=e.autoFocus,_=void 0!==$&&$,Q=e.classes,X=e.className,J=void 0===X?"":X,U=e.onKeyPress,ee=(0,i.Z)({"data-index":N},A);return"number"===m&&E&&(ee.min=E),"number"===m&&R&&(ee.max=R),""!==Y&&(ee.pattern=Y),(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(s.ZP,{container:!0,className:(0,Z.Z)(""!==J?J:"",""!==w?Q.errorInField:Q.inputBoxContainer),children:[""!==t&&(0,f.jsxs)(r.Z,{htmlFor:d,className:K?Q.noMinWidthLabel:Q.inputLabel,children:[(0,f.jsxs)("span",{children:[t,F?"*":""]}),""!==M&&(0,f.jsx)("div",{className:Q.tooltipContainer,children:(0,f.jsx)(l.Z,{title:M,placement:"top-start",children:(0,f.jsx)("div",{className:Q.tooltip,children:(0,f.jsx)(v.Z,{})})})})]}),(0,f.jsxs)("div",{className:Q.textBoxContainer,children:[(0,f.jsx)(x,{id:d,name:u,fullWidth:!0,value:a,autoFocus:_,disabled:y,onChange:n,type:m,multiline:C,autoComplete:b,inputProps:ee,error:""!==w,helperText:w,placeholder:L,className:Q.inputRebase,onKeyPress:U}),W&&(0,f.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:G?function(){G()}:function(){return null},id:D,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:W})}),V&&(0,f.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:V})]})]})})}))},67754:function(e,t,n){var i=n(18489),o=n(50390),a=n(25594),s=n(46413),r=n(36554),l=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),v=n(72462),Z=n(97538),f=n(62559),h=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(s.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},v.YI),v.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},v.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,i=e.name,s=e.onChange,p=e.options,m=e.label,v=e.tooltip,x=void 0===v?"":v,b=e.value,g=e.disabled,y=void 0!==g&&g;return(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(a.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,f.jsxs)(r.Z,{htmlFor:n,className:t.inputLabel,children:[(0,f.jsx)("span",{children:m}),""!==x&&(0,f.jsx)("div",{className:t.tooltipContainer,children:(0,f.jsx)(l.Z,{title:x,placement:"top-start",children:(0,f.jsx)("div",{className:t.tooltip,children:(0,f.jsx)(Z.Z,{})})})})]}),(0,f.jsx)(c.Z,{fullWidth:!0,children:(0,f.jsx)(d.Z,{id:n,name:i,value:b,onChange:s,input:(0,f.jsx)(h,{}),disabled:y,children:p.map((function(e){return(0,f.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},51002:function(e,t,n){var i=n(23430),o=n(18489),a=n(50390),s=n(34424),r=n(95467),l=n(97771),c=n(84402),d=n(78426),u=n(93085),p=n(86509),m=n(4285),v=n(72462),Z=n(44149),f=n(21278),h=n(45980),x=n(62559),b=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:Z.MK});t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},v.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(b((function(e){var t=e.onClose,n=e.modalOpen,s=e.title,p=e.children,m=e.classes,v=e.wideLimit,Z=void 0===v||v,b=e.modalSnackMessage,g=e.noContentPadding,y=e.setModalSnackMessage,j=e.titleIcon,C=void 0===j?null:j,k=(0,a.useState)(!1),M=(0,i.Z)(k,2),S=M[0],N=M[1];(0,a.useEffect)((function(){y("")}),[y]),(0,a.useEffect)((function(){if(b){if(""===b.message)return void N(!1);"error"!==b.type&&N(!0)}}),[b]);var I=Z?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return b&&(w=b.detailedErrorMsg,(""===b.detailedErrorMsg||b.detailedErrorMsg.length<5)&&(w=b.message)),(0,x.jsxs)(c.Z,(0,o.Z)((0,o.Z)({open:n,classes:m},I),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,x.jsxs)(d.Z,{className:m.title,children:[(0,x.jsxs)("div",{className:m.titleText,children:[C," ",s]}),(0,x.jsx)("div",{className:m.closeContainer,children:(0,x.jsx)(r.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,x.jsx)(f.Z,{})})})]}),(0,x.jsx)(h.Z,{isModal:!0}),(0,x.jsx)(l.Z,{open:S,className:m.snackBarModal,onClose:function(){N(!1),y("")},message:w,ContentProps:{className:"".concat(m.snackBar," ").concat(b&&"error"===b.type?m.errorSnackBar:"")},autoHideDuration:b&&"error"===b.type?1e4:5e3}),(0,x.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))},21278:function(e,t,n){var i=n(64119);t.Z=void 0;var o=i(n(66830)),a=n(62559),s=(0,o.default)((0,a.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=s},4247:function(e,t,n){n.d(t,{V:function(){return o}});var i=n(10594);function o(e){return(0,i.Z)("MuiDivider",e)}var a=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},31680:function(e,t,n){n.d(t,{Z:function(){return M}});var i=n(36222),o=n(1048),a=n(32793),s=n(50390),r=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),v=n(40839),Z=n(3299),f=n(4247),h=n(2198),x=n(23586),b=n(10594);function g(e){return(0,b.Z)("MuiMenuItem",e)}var y=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),j=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],k=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,a.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(y.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(y.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(y.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(y.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(y.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(f.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(x.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(x.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!o.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),M=s.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,c=void 0!==i&&i,d=n.component,m=void 0===d?"li":d,f=n.dense,h=void 0!==f&&f,x=n.divider,b=void 0!==x&&x,y=n.disableGutters,M=void 0!==y&&y,S=n.focusVisibleClassName,N=n.role,I=void 0===N?"menuitem":N,w=n.tabIndex,P=(0,o.Z)(n,C),F=s.useContext(p.Z),B={dense:h||F.dense||!1,disableGutters:M},L=s.useRef(null);(0,v.Z)((function(){c&&L.current&&L.current.focus()}),[c]);var E,R=(0,a.Z)({},n,{dense:B.dense,divider:b,disableGutters:M}),D=function(e){var t=e.disabled,n=e.dense,i=e.divider,o=e.disableGutters,s=e.selected,r=e.classes,c={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",i&&"divider",s&&"selected"]},d=(0,l.Z)(c,g,r);return(0,a.Z)({},r,d)}(n),O=(0,Z.Z)(L,t);return n.disabled||(E=void 0!==w?w:-1),(0,j.jsx)(p.Z.Provider,{value:B,children:(0,j.jsx)(k,(0,a.Z)({ref:O,role:I,tabIndex:E,component:m,focusVisibleClassName:(0,r.Z)(D.focusVisible,S)},P,{ownerState:R,classes:D}))})}))}}]); -//# sourceMappingURL=4177.381caad6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4177.381caad6.chunk.js.map b/portal-ui/build/static/js/4177.381caad6.chunk.js.map deleted file mode 100644 index 151870e31..000000000 --- a/portal-ui/build/static/js/4177.381caad6.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4177.381caad6.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { BucketEncryptionInfo } from \"../types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { BucketEncryptionIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IEnableBucketEncryptionProps {\n classes: any;\n open: boolean;\n encryptionEnabled: boolean;\n encryptionCfg: BucketEncryptionInfo | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableBucketEncryption = ({\n classes,\n open,\n encryptionCfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableBucketEncryptionProps) => {\n const [loading, setLoading] = useState(false);\n const [kmsKeyID, setKmsKeyID] = useState(\"\");\n const [encryptionType, setEncryptionType] = useState(\"disabled\");\n\n useEffect(() => {\n if (encryptionCfg) {\n if (encryptionCfg.algorithm === \"AES256\") {\n setEncryptionType(\"sse-s3\");\n } else {\n setEncryptionType(\"sse-kms\");\n setKmsKeyID(encryptionCfg.kmsMasterKeyID);\n }\n }\n }, [encryptionCfg]);\n\n const enableBucketEncryption = (event: React.FormEvent) => {\n event.preventDefault();\n if (loading) {\n return;\n }\n if (encryptionType === \"disabled\") {\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/encryption/disable`)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/encryption/enable`, {\n encType: encryptionType,\n kmsKeyID: kmsKeyID,\n })\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Encryption\"\n titleIcon={}\n >\n ) => {\n enableBucketEncryption(e);\n }}\n >\n \n \n \n ) => {\n setEncryptionType(e.target.value as string);\n }}\n id=\"select-encryption-type\"\n name=\"select-encryption-type\"\n label={\"Encryption Type\"}\n value={encryptionType}\n options={[\n {\n label: \"Disabled\",\n value: \"disabled\",\n },\n {\n label: \"SSE-S3\",\n value: \"sse-s3\",\n },\n {\n label: \"SSE-KMS\",\n value: \"sse-kms\",\n },\n ]}\n />\n \n\n {encryptionType === \"sse-kms\" && (\n \n ) => {\n setKmsKeyID(e.target.value);\n }}\n />\n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n disabled={loading}\n >\n Cancel\n \n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableBucketEncryption));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","modalStyleUtils","formFieldStyles","classes","open","encryptionCfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","kmsKeyID","setKmsKeyID","encryptionType","setEncryptionType","useEffect","algorithm","kmsMasterKeyID","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","api","then","catch","err","encType","container","item","xs","className","modalFormScrollable","formFieldRow","onChange","target","value","id","name","label","options","modalButtonBar","type","variant","color","onClick","disabled","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","root","height","lineHeight","marginTop","spacing","input","fontSize","padding","border","borderRadius","display","alignItems","borderColor","backgroundColor","InputBase","fieldContainer","flexFlow","map","option","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","width","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","length","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","justifyContent","textDecoration","minHeight","paddingTop","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginBottom","marginLeft","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4177.6d04f760.chunk.js b/portal-ui/build/static/js/4177.6d04f760.chunk.js new file mode 100644 index 000000000..7e6324cc0 --- /dev/null +++ b/portal-ui/build/static/js/4177.6d04f760.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4177],{44177:function(e,t,n){n.r(t);var i=n(23430),o=n(18489),a=n(50390),s=n(34424),l=n(25594),r=n(66946),c=n(81378),d=n(86509),u=n(4285),p=n(44149),m=n(72462),v=n(30324),Z=n(51002),f=n(66964),h=n(67754),x=n(14549),b=n(62559),g=(0,s.$j)(null,{setModalErrorSnackMessage:p.zb});t.default=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)({},m.ID),m.DF))}))(g((function(e){var t=e.classes,n=e.open,o=e.encryptionCfg,s=e.selectedBucket,d=e.closeModalAndRefresh,u=e.setModalErrorSnackMessage,p=(0,a.useState)(!1),m=(0,i.Z)(p,2),g=m[0],y=m[1],j=(0,a.useState)(""),C=(0,i.Z)(j,2),k=C[0],M=C[1],S=(0,a.useState)("disabled"),N=(0,i.Z)(S,2),I=N[0],w=N[1];(0,a.useEffect)((function(){o&&("AES256"===o.algorithm?w("sse-s3"):(w("sse-kms"),M(o.kmsMasterKeyID)))}),[o]);return(0,b.jsx)(Z.Z,{modalOpen:n,onClose:function(){d()},title:"Enable Bucket Encryption",titleIcon:(0,b.jsx)(x.Xn,{}),children:(0,b.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),g||("disabled"===I?v.Z.invoke("POST","/api/v1/buckets/".concat(s,"/encryption/disable")).then((function(){y(!1),d()})).catch((function(e){y(!1),u(e)})):v.Z.invoke("POST","/api/v1/buckets/".concat(s,"/encryption/enable"),{encType:I,kmsKeyID:k}).then((function(){y(!1),d()})).catch((function(e){y(!1),u(e)})))},children:(0,b.jsxs)(l.ZP,{container:!0,children:[(0,b.jsxs)(l.ZP,{item:!0,xs:12,className:t.modalFormScrollable,children:[(0,b.jsx)(l.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(h.Z,{onChange:function(e){w(e.target.value)},id:"select-encryption-type",name:"select-encryption-type",label:"Encryption Type",value:I,options:[{label:"Disabled",value:"disabled"},{label:"SSE-S3",value:"sse-s3"},{label:"SSE-KMS",value:"sse-kms"}]})}),"sse-kms"===I&&(0,b.jsx)(l.ZP,{item:!0,xs:12,className:t.formFieldRow,children:(0,b.jsx)(f.Z,{id:"kms-key-id",name:"kms-key-id",label:"KMS Key ID",value:k,onChange:function(e){M(e.target.value)}})})]}),(0,b.jsxs)(l.ZP,{item:!0,xs:12,className:t.modalButtonBar,children:[(0,b.jsx)(r.Z,{type:"submit",variant:"outlined",color:"primary",onClick:function(){d()},disabled:g,children:"Cancel"}),(0,b.jsx)(r.Z,{type:"submit",variant:"contained",color:"primary",disabled:g,children:"Save"})]}),g&&(0,b.jsx)(l.ZP,{item:!0,xs:12,children:(0,b.jsx)(c.Z,{})})]})})})})))},66964:function(e,t,n){var i=n(18489),o=n(50390),a=n(12066),s=n(25594),l=n(36554),r=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),v=n(97538),Z=n(44977),f=n(62559),h=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function x(e){var t=h();return(0,f.jsx)(a.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,a=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,h=e.autoComplete,b=void 0===h?"off":h,g=e.disabled,y=void 0!==g&&g,j=e.multiline,C=void 0!==j&&j,k=e.tooltip,M=void 0===k?"":k,S=e.index,N=void 0===S?0:S,I=e.error,w=void 0===I?"":I,F=e.required,P=void 0!==F&&F,B=e.placeholder,L=void 0===B?"":B,E=e.min,R=e.max,D=e.overlayId,O=e.overlayIcon,W=void 0===O?null:O,T=e.overlayObject,V=void 0===T?null:T,z=e.extraInputProps,A=void 0===z?{}:z,G=e.overlayAction,H=e.noLabelMinWidth,K=void 0!==H&&H,q=e.pattern,Y=void 0===q?"":q,$=e.autoFocus,_=void 0!==$&&$,Q=e.classes,X=e.className,J=void 0===X?"":X,U=e.onKeyPress,ee=(0,i.Z)({"data-index":N},A);return"number"===m&&E&&(ee.min=E),"number"===m&&R&&(ee.max=R),""!==Y&&(ee.pattern=Y),(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(s.ZP,{container:!0,className:(0,Z.Z)(""!==J?J:"",""!==w?Q.errorInField:Q.inputBoxContainer),children:[""!==t&&(0,f.jsxs)(l.Z,{htmlFor:d,className:K?Q.noMinWidthLabel:Q.inputLabel,children:[(0,f.jsxs)("span",{children:[t,P?"*":""]}),""!==M&&(0,f.jsx)("div",{className:Q.tooltipContainer,children:(0,f.jsx)(r.Z,{title:M,placement:"top-start",children:(0,f.jsx)("div",{className:Q.tooltip,children:(0,f.jsx)(v.Z,{})})})})]}),(0,f.jsxs)("div",{className:Q.textBoxContainer,children:[(0,f.jsx)(x,{id:d,name:u,fullWidth:!0,value:a,autoFocus:_,disabled:y,onChange:n,type:m,multiline:C,autoComplete:b,inputProps:ee,error:""!==w,helperText:w,placeholder:L,className:Q.inputRebase,onKeyPress:U}),W&&(0,f.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:G?function(){G()}:function(){return null},id:D,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:W})}),V&&(0,f.jsx)("div",{className:"".concat(Q.overlayAction," ").concat(""!==t?"withLabel":""),children:V})]})]})})}))},67754:function(e,t,n){var i=n(18489),o=n(50390),a=n(25594),s=n(46413),l=n(36554),r=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),v=n(72462),Z=n(97538),f=n(62559),h=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(s.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},v.YI),v.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},v.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,i=e.name,s=e.onChange,p=e.options,m=e.label,v=e.tooltip,x=void 0===v?"":v,b=e.value,g=e.disabled,y=void 0!==g&&g;return(0,f.jsx)(o.Fragment,{children:(0,f.jsxs)(a.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,f.jsxs)(l.Z,{htmlFor:n,className:t.inputLabel,children:[(0,f.jsx)("span",{children:m}),""!==x&&(0,f.jsx)("div",{className:t.tooltipContainer,children:(0,f.jsx)(r.Z,{title:x,placement:"top-start",children:(0,f.jsx)("div",{className:t.tooltip,children:(0,f.jsx)(Z.Z,{})})})})]}),(0,f.jsx)(c.Z,{fullWidth:!0,children:(0,f.jsx)(d.Z,{id:n,name:i,value:b,onChange:s,input:(0,f.jsx)(h,{}),disabled:y,children:p.map((function(e){return(0,f.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},51002:function(e,t,n){var i=n(23430),o=n(18489),a=n(50390),s=n(34424),l=n(95467),r=n(97771),c=n(84402),d=n(78426),u=n(93085),p=n(86509),m=n(4285),v=n(72462),Z=n(44149),f=n(21278),h=n(45980),x=n(62559),b=(0,s.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:Z.MK});t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,o.Z)((0,o.Z)({},v.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(b((function(e){var t=e.onClose,n=e.modalOpen,s=e.title,p=e.children,m=e.classes,v=e.wideLimit,Z=void 0===v||v,b=e.modalSnackMessage,g=e.noContentPadding,y=e.setModalSnackMessage,j=e.titleIcon,C=void 0===j?null:j,k=(0,a.useState)(!1),M=(0,i.Z)(k,2),S=M[0],N=M[1];(0,a.useEffect)((function(){y("")}),[y]),(0,a.useEffect)((function(){if(b){if(""===b.message)return void N(!1);"error"!==b.type&&N(!0)}}),[b]);var I=Z?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return b&&(w=b.detailedErrorMsg,(""===b.detailedErrorMsg||b.detailedErrorMsg.length<5)&&(w=b.message)),(0,x.jsxs)(c.Z,(0,o.Z)((0,o.Z)({open:n,classes:m},I),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,x.jsxs)(d.Z,{className:m.title,children:[(0,x.jsxs)("div",{className:m.titleText,children:[C," ",s]}),(0,x.jsx)("div",{className:m.closeContainer,children:(0,x.jsx)(l.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,x.jsx)(f.Z,{})})})]}),(0,x.jsx)(h.Z,{isModal:!0}),(0,x.jsx)(r.Z,{open:S,className:m.snackBarModal,onClose:function(){N(!1),y("")},message:w,ContentProps:{className:"".concat(m.snackBar," ").concat(b&&"error"===b.type?m.errorSnackBar:"")},autoHideDuration:b&&"error"===b.type?1e4:5e3}),(0,x.jsx)(u.Z,{className:g?"":m.content,children:p})]}))})))},21278:function(e,t,n){var i=n(64119);t.Z=void 0;var o=i(n(66830)),a=n(62559),s=(0,o.default)((0,a.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=s},4247:function(e,t,n){n.d(t,{V:function(){return o}});var i=n(10594);function o(e){return(0,i.Z)("MuiDivider",e)}var a=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=a},31680:function(e,t,n){n.d(t,{Z:function(){return M}});var i=n(36222),o=n(1048),a=n(32793),s=n(50390),l=n(44977),r=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),v=n(40839),Z=n(3299),f=n(4247),h=n(2198),x=n(23586),b=n(10594);function g(e){return(0,b.Z)("MuiMenuItem",e)}var y=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),j=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],k=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,o=e.ownerState;return(0,a.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!o.disableGutters&&{paddingLeft:16,paddingRight:16},o.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(y.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(y.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(y.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(y.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(y.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(f.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(x.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(x.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(h.Z.root),{minWidth:36}),t),!o.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),o.dense&&(0,a.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(h.Z.root," svg"),{fontSize:"1.25rem"})))})),M=s.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,c=void 0!==i&&i,d=n.component,m=void 0===d?"li":d,f=n.dense,h=void 0!==f&&f,x=n.divider,b=void 0!==x&&x,y=n.disableGutters,M=void 0!==y&&y,S=n.focusVisibleClassName,N=n.role,I=void 0===N?"menuitem":N,w=n.tabIndex,F=(0,o.Z)(n,C),P=s.useContext(p.Z),B={dense:h||P.dense||!1,disableGutters:M},L=s.useRef(null);(0,v.Z)((function(){c&&L.current&&L.current.focus()}),[c]);var E,R=(0,a.Z)({},n,{dense:B.dense,divider:b,disableGutters:M}),D=function(e){var t=e.disabled,n=e.dense,i=e.divider,o=e.disableGutters,s=e.selected,l=e.classes,c={root:["root",n&&"dense",t&&"disabled",!o&&"gutters",i&&"divider",s&&"selected"]},d=(0,r.Z)(c,g,l);return(0,a.Z)({},l,d)}(n),O=(0,Z.Z)(L,t);return n.disabled||(E=void 0!==w?w:-1),(0,j.jsx)(p.Z.Provider,{value:B,children:(0,j.jsx)(k,(0,a.Z)({ref:O,role:I,tabIndex:E,component:m,focusVisibleClassName:(0,l.Z)(D.focusVisible,S)},F,{ownerState:R,classes:D}))})}))}}]); +//# sourceMappingURL=4177.6d04f760.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4177.6d04f760.chunk.js.map b/portal-ui/build/static/js/4177.6d04f760.chunk.js.map new file mode 100644 index 000000000..4f70b5d20 --- /dev/null +++ b/portal-ui/build/static/js/4177.6d04f760.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4177.6d04f760.chunk.js","mappings":"kTAsMMA,GAAYC,EAAAA,EAAAA,IAAQ,KAAM,CAC9BC,0BAAAA,EAAAA,KAGF,WAAeC,EAAAA,EAAAA,IAtKA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRC,EAAAA,IACAC,EAAAA,OAmKP,CAAkCP,GAtJH,SAAC,GAOK,IANnCQ,EAMkC,EANlCA,QACAC,EAKkC,EALlCA,KACAC,EAIkC,EAJlCA,cACAC,EAGkC,EAHlCA,eACAC,EAEkC,EAFlCA,qBACAV,EACkC,EADlCA,0BAEA,GAA8BW,EAAAA,EAAAA,WAAkB,GAAhD,eAAOC,EAAP,KAAgBC,EAAhB,KACA,GAAgCF,EAAAA,EAAAA,UAAiB,IAAjD,eAAOG,EAAP,KAAiBC,EAAjB,KACA,GAA4CJ,EAAAA,EAAAA,UAAiB,YAA7D,eAAOK,EAAP,KAAuBC,EAAvB,MAEAC,EAAAA,EAAAA,YAAU,WACJV,IAC8B,WAA5BA,EAAcW,UAChBF,EAAkB,WAElBA,EAAkB,WAClBF,EAAYP,EAAcY,oBAG7B,CAACZ,IAmCJ,OACE,SAAC,IAAD,CACEa,UAAWd,EACXe,QAAS,WACPZ,KAEFa,MAAM,2BACNC,WAAW,SAAC,KAAD,IANb,UAQE,iBACEC,YAAU,EACVC,aAAa,MACbC,SAAU,SAACC,GACcA,EA7CvBC,iBACFjB,IAGmB,aAAnBI,EACFc,EAAAA,EAAAA,OACU,OADV,0BACqCrB,EADrC,wBAEGsB,MAAK,WACJlB,GAAW,GACXH,OAEDsB,OAAM,SAACC,GACNpB,GAAW,GACXb,EAA0BiC,MAG9BH,EAAAA,EAAAA,OACU,OADV,0BACqCrB,EADrC,sBACyE,CACrEyB,QAASlB,EACTF,SAAUA,IAEXiB,MAAK,WACJlB,GAAW,GACXH,OAEDsB,OAAM,SAACC,GACNpB,GAAW,GACXb,EAA0BiC,QAc9B,UAOE,UAAC,KAAD,CAAME,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIC,UAAWhC,EAAQiC,oBAAtC,WACE,SAAC,KAAD,CAAMH,MAAI,EAACC,GAAI,GAAIC,UAAWhC,EAAQkC,aAAtC,UACE,SAAC,IAAD,CACEC,SAAU,SAACb,GACTX,EAAkBW,EAAEc,OAAOC,QAE7BC,GAAG,yBACHC,KAAK,yBACLC,MAAO,kBACPH,MAAO3B,EACP+B,QAAS,CACP,CACED,MAAO,WACPH,MAAO,YAET,CACEG,MAAO,SACPH,MAAO,UAET,CACEG,MAAO,UACPH,MAAO,gBAMK,YAAnB3B,IACC,SAAC,KAAD,CAAMoB,MAAI,EAACC,GAAI,GAAIC,UAAWhC,EAAQkC,aAAtC,UACE,SAAC,IAAD,CACEI,GAAG,aACHC,KAAK,aACLC,MAAM,aACNH,MAAO7B,EACP2B,SAAU,SAACb,GACTb,EAAYa,EAAEc,OAAOC,gBAM/B,UAAC,KAAD,CAAMP,MAAI,EAACC,GAAI,GAAIC,UAAWhC,EAAQ0C,eAAtC,WACE,SAAC,IAAD,CACEC,KAAK,SACLC,QAAQ,WACRC,MAAM,UACNC,QAAS,WACP1C,KAEF2C,SAAUzC,EAPZ,qBAWA,SAAC,IAAD,CACEqC,KAAK,SACLC,QAAQ,YACRC,MAAM,UACNE,SAAUzC,EAJZ,qBASDA,IACC,SAAC,KAAD,CAAMwB,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,kB,mLC/FRiB,GAAcC,EAAAA,EAAAA,IAAW,SAACrD,GAAD,OAC7BC,EAAAA,EAAAA,IAAa,UACRqD,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAMpD,EAAUgD,IAEhB,OACE,SAAC,KAAD,QACEK,WAAY,CAAErD,QAAAA,IACVoD,IA0IV,KAAezD,EAAAA,EAAAA,IAhLA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRyD,EAAAA,IACAC,EAAAA,IAFO,IAGVC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,IAGTG,YAAW,kBACNV,EAAAA,GAAAA,YADK,IAERW,WAAY,gBA0JlB,EArIwB,SAAC,GA4BH,IA3BpBzB,EA2BmB,EA3BnBA,MACAL,EA0BmB,EA1BnBA,SACAE,EAyBmB,EAzBnBA,MACAC,EAwBmB,EAxBnBA,GACAC,EAuBmB,EAvBnBA,KAuBmB,IAtBnBI,KAAAA,OAsBmB,MAtBZ,OAsBY,MArBnBvB,aAAAA,OAqBmB,MArBJ,MAqBI,MApBnB2B,SAAAA,OAoBmB,aAnBnBmB,UAAAA,OAmBmB,aAlBnBC,QAAAA,OAkBmB,MAlBT,GAkBS,MAjBnBC,MAAAA,OAiBmB,MAjBX,EAiBW,MAhBnBC,MAAAA,OAgBmB,MAhBX,GAgBW,MAfnBC,SAAAA,OAemB,aAdnBC,YAAAA,OAcmB,MAdL,GAcK,EAbnBC,EAamB,EAbnBA,IACAC,EAYmB,EAZnBA,IACAC,EAWmB,EAXnBA,UAWmB,IAVnBC,YAAAA,OAUmB,MAVL,KAUK,MATnBC,cAAAA,OASmB,MATH,KASG,MARnBC,gBAAAA,OAQmB,MARD,GAQC,EAPnBlB,EAOmB,EAPnBA,cAOmB,IANnBmB,gBAAAA,OAMmB,aALnBC,QAAAA,OAKmB,MALT,GAKS,MAJnBC,UAAAA,OAImB,SAHnBhF,EAGmB,EAHnBA,QAGmB,IAFnBgC,UAAAA,OAEmB,MAFP,GAEO,EADnBiD,EACmB,EADnBA,WAEIC,IAAe,QAAK,aAAcd,GAAUS,GAchD,MAZa,WAATlC,GAAqB6B,IACvBU,GAAU,IAAUV,GAGT,WAAT7B,GAAqB8B,IACvBS,GAAU,IAAUT,GAGN,KAAZM,IACFG,GAAU,QAAcH,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACElD,WAAS,EACTG,WAAWmD,EAAAA,EAAAA,GACK,KAAdnD,EAAmBA,EAAY,GACrB,KAAVqC,EAAerE,EAAQoF,aAAepF,EAAQqF,mBAJlD,UAOa,KAAV7C,IACC,UAAC,IAAD,CACE8C,QAAShD,EACTN,UACE8C,EAAkB9E,EAAQuF,gBAAkBvF,EAAQgE,WAHxD,WAME,4BACGxB,EACA8B,EAAW,IAAM,MAEP,KAAZH,IACC,gBAAKnC,UAAWhC,EAAQwF,iBAAxB,UACE,SAAC,IAAD,CAASvE,MAAOkD,EAASsB,UAAU,YAAnC,UACE,gBAAKzD,UAAWhC,EAAQmE,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKnC,UAAWhC,EAAQwD,iBAAxB,WACE,SAACL,EAAD,CACEb,GAAIA,EACJC,KAAMA,EACNmD,WAAS,EACTrD,MAAOA,EACP2C,UAAWA,EACXjC,SAAUA,EACVZ,SAAUA,EACVQ,KAAMA,EACNuB,UAAWA,EACX9C,aAAcA,EACd8D,WAAYA,GACZb,MAAiB,KAAVA,EACPsB,WAAYtB,EACZE,YAAaA,EACbvC,UAAWhC,EAAQ4F,YACnBX,WAAYA,IAEbN,IACC,gBACE3C,UAAS,UAAKhC,EAAQ2D,cAAb,YACG,KAAVnB,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEM,QACEa,EACI,WACEA,KAEF,kBAAM,MAEZrB,GAAIoC,EACJmB,KAAM,QACNC,oBAAoB,EACpBC,eAAe,EACfC,oBAAoB,EAZtB,SAcGrB,MAINC,IACC,gBACE5C,UAAS,UAAKhC,EAAQ2D,cAAb,YACG,KAAVnB,EAAe,YAAc,IAFjC,SAKGoC,gB,mLCxKTqB,GAAetG,EAAAA,EAAAA,IAAW,SAACC,GAAD,OAC9BC,EAAAA,EAAAA,GAAa,CACXqG,KAAM,CACJC,OAAQ,GACRC,WAAY,EACZ,YAAa,CACXC,UAAWzG,EAAM0G,QAAQ,KAG7BC,MAAO,CACLJ,OAAQ,GACRzC,SAAU,WACVb,MAAO,UACP2D,SAAU,GACVvC,WAAY,IACZwC,QAAS,qBACTC,OAAQ,oBACRC,aAAc,EACdC,QAAS,OACTC,WAAY,SACZ,UAAW,CACTC,YAAa,WAEf,UAAW,CACTC,gBAAiB,aAxBJpH,CA4BnBqH,EAAAA,IAsDF,KAAerH,EAAAA,EAAAA,IApGA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,0BACRyD,EAAAA,IACAC,EAAAA,IAFO,IAGVS,YAAW,kBACNV,EAAAA,GAAAA,YADK,IAER,SAAU,CACRW,WAAY,YAGhBgD,eAAgB,CACdL,QAAS,OACT,4BAA6B,CAC3BM,SAAU,gBAuFlB,EApDsB,SAAC,GAUH,IATlBlH,EASiB,EATjBA,QACAsC,EAQiB,EARjBA,GACAC,EAOiB,EAPjBA,KACAJ,EAMiB,EANjBA,SACAM,EAKiB,EALjBA,QACAD,EAIiB,EAJjBA,MAIiB,IAHjB2B,QAAAA,OAGiB,MAHP,GAGO,EAFjB9B,EAEiB,EAFjBA,MAEiB,IADjBU,SAAAA,OACiB,SACjB,OACE,SAAC,WAAD,WACE,UAAC,KAAD,CAAMjB,MAAI,EAACC,GAAI,GAAIC,UAAWhC,EAAQiH,eAAtC,UACa,KAAVzE,IACC,UAAC,IAAD,CAAY8C,QAAShD,EAAIN,UAAWhC,EAAQgE,WAA5C,WACE,0BAAOxB,IACM,KAAZ2B,IACC,gBAAKnC,UAAWhC,EAAQwF,iBAAxB,UACE,SAAC,IAAD,CAASvE,MAAOkD,EAASsB,UAAU,YAAnC,UACE,gBAAKzD,UAAWhC,EAAQmE,QAAxB,UACE,SAAC,IAAD,cAOZ,SAAC,IAAD,CAAauB,WAAS,EAAtB,UACE,SAAC,IAAD,CACEpD,GAAIA,EACJC,KAAMA,EACNF,MAAOA,EACPF,SAAUA,EACVoE,OAAO,SAACN,EAAD,IACPlD,SAAUA,EANZ,SAQGN,EAAQ0E,KAAI,SAACC,GAAD,OACX,SAAC,IAAD,CACE/E,MAAO+E,EAAO/E,MADhB,SAIG+E,EAAO5E,OAJV,iBAEiBD,EAFjB,YAEyB6E,EAAO5E,wB,yMCwCxChD,GAAYC,EAAAA,EAAAA,KAJD,SAAC4H,GAAD,MAAsB,CACrCC,kBAAmBD,EAAME,OAAOC,iBAGE,CAClCC,qBAAAA,EAAAA,KAGF,KAAe9H,EAAAA,EAAAA,IAvIA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACR6H,EAAAA,IADO,IAEVC,QAAS,CACPlB,QAAS,GACTmB,cAAe,GAEjBC,iBAAkB,CAChBC,MAAO,OACPhE,SAAU,MAETiE,EAAAA,OA4HP,CAAkCvI,GAzHb,SAAC,GAWF,IAVlBwB,EAUiB,EAVjBA,QACAD,EASiB,EATjBA,UACAE,EAQiB,EARjBA,MACA+G,EAOiB,EAPjBA,SACAhI,EAMiB,EANjBA,QAMiB,IALjBiI,UAAAA,OAKiB,SAJjBX,EAIiB,EAJjBA,kBACAY,EAGiB,EAHjBA,iBACAT,EAEiB,EAFjBA,qBAEiB,IADjBvG,UAAAA,OACiB,MADL,KACK,EACjB,GAAwCb,EAAAA,EAAAA,WAAkB,GAA1D,eAAO8H,EAAP,KAAqBC,EAArB,MAEAxH,EAAAA,EAAAA,YAAU,WACR6G,EAAqB,MACpB,CAACA,KAEJ7G,EAAAA,EAAAA,YAAU,WACR,GAAI0G,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBe,QAEpB,YADAD,GAAgB,GAIa,UAA3Bd,EAAkB3E,MACpByF,GAAgB,MAGnB,CAACd,IAEJ,IAKMgB,EAAaL,EACf,CACEjI,QAAS,CACPuI,MAAOvI,EAAQ6H,mBAGnB,CAAE/D,SAAU,KAAe4B,WAAW,GAEtC2C,EAAU,GAYd,OAVIf,IACFe,EAAUf,EAAkBkB,kBAEa,KAAvClB,EAAkBkB,kBAClBlB,EAAkBkB,iBAAiBC,OAAS,KAE5CJ,EAAUf,EAAkBe,WAK9B,UAAC,KAAD,gBACEpI,KAAMc,EACNf,QAASA,GACLsI,GAHN,IAIEI,OAAQ,QACR1H,QAAS,SAAC2H,EAAOC,GACA,kBAAXA,GACF5H,KAGJgB,UAAWhC,EAAQkG,KAVrB,WAYE,UAAC,IAAD,CAAalE,UAAWhC,EAAQiB,MAAhC,WACE,iBAAKe,UAAWhC,EAAQ6I,UAAxB,UACG3H,EADH,IACeD,MAEf,gBAAKe,UAAWhC,EAAQ8I,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACXxG,GAAI,QACJN,UAAWhC,EAAQ+I,YACnBjG,QAAS9B,EACT+E,eAAa,EACbF,KAAK,QANP,UAQE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAWmD,SAAS,KACpB,SAAC,IAAD,CACE/I,KAAMkI,EACNnG,UAAWhC,EAAQiJ,cACnBjI,QAAS,WA3DboH,GAAgB,GAChBX,EAAqB,KA6DjBY,QAASA,EACTa,aAAc,CACZlH,UAAU,GAAD,OAAKhC,EAAQmJ,SAAb,YACP7B,GAAgD,UAA3BA,EAAkB3E,KACnC3C,EAAQoJ,cACR,KAGRC,iBACE/B,GAAgD,UAA3BA,EAAkB3E,KAAmB,IAAQ,OAGtE,SAAC,IAAD,CAAeX,UAAWkG,EAAmB,GAAKlI,EAAQ2H,QAA1D,SACGK,a,0BCrKLsB,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,0GACD,SAEJN,EAAQ,EAAUG,G,oEChBX,SAASI,EAAuBC,GACrC,OAAOC,EAAAA,EAAAA,GAAqB,aAAcD,GAE5C,IAAME,GAAiBC,E,SAAAA,GAAuB,aAAc,CAAC,OAAQ,WAAY,YAAa,QAAS,SAAU,WAAY,QAAS,WAAY,eAAgB,uBAAwB,iBAAkB,gBAAiB,UAAW,oBACxO,O,gPCJO,SAASC,EAAwBJ,GACtC,OAAOC,EAAAA,EAAAA,GAAqB,cAAeD,GAE7C,IACA,GADwBG,E,SAAAA,GAAuB,cAAe,CAAC,OAAQ,eAAgB,QAAS,WAAY,UAAW,UAAW,a,WCF5HE,EAAY,CAAC,YAAa,YAAa,QAAS,UAAW,iBAAkB,wBAAyB,OAAQ,YAwC9GC,GAAeC,EAAAA,EAAAA,IAAOC,EAAAA,EAAY,CACtCC,kBAAmB,SAAAC,GAAI,OAAIC,EAAAA,EAAAA,IAAsBD,IAAkB,YAATA,GAC1DnI,KAAM,cACNyH,KAAM,OACNY,kBA3B+B,SAACxH,EAAOyH,GACvC,IACEC,EACE1H,EADF0H,WAEF,MAAO,CAACD,EAAO3E,KAAM4E,EAAWC,OAASF,EAAOE,MAAOD,EAAWE,SAAWH,EAAOG,SAAUF,EAAWG,gBAAkBJ,EAAOK,WAmB/GX,EAKlB,kBACD3K,EADC,EACDA,MACAkL,EAFC,EAEDA,WAFC,OAGGK,EAAAA,EAAAA,GAAS,GAAIvL,EAAMwL,WAAWC,MAAO,CACzCzE,QAAS,OACT0E,eAAgB,aAChBzE,WAAY,SACZnD,SAAU,WACV6H,eAAgB,OAChBC,UAAW,GACXC,WAAY,EACZ7D,cAAe,EACf8D,UAAW,aACXC,WAAY,WACVb,EAAWG,gBAAkB,CAC/BW,YAAa,GACbC,aAAc,IACbf,EAAWE,SAAW,CACvBc,aAAc,aAAF,OAAelM,EAAMmM,QAAQf,SACzCgB,eAAgB,gBAhBJ,GAkBZ,UAAW,CACTT,eAAgB,OAChBxE,gBAAiBnH,EAAMmM,QAAQE,OAAOC,MAEtC,uBAAwB,CACtBnF,gBAAiB,kBAvBT,qBA0BNoF,EAAAA,WA1BM,QA2BVpF,iBAAiBqF,EAAAA,EAAAA,IAAMxM,EAAMmM,QAAQM,QAAQC,KAAM1M,EAAMmM,QAAQE,OAAOM,kBA3B9D,YA4BJJ,EAAAA,cAAiC,CACrCpF,iBAAiBqF,EAAAA,EAAAA,IAAMxM,EAAMmM,QAAQM,QAAQC,KAAM1M,EAAMmM,QAAQE,OAAOM,gBAAkB3M,EAAMmM,QAAQE,OAAOO,kBA7BvG,qBAgCNL,EAAAA,SAhCM,UAgC6B,CACvCpF,iBAAiBqF,EAAAA,EAAAA,IAAMxM,EAAMmM,QAAQM,QAAQC,KAAM1M,EAAMmM,QAAQE,OAAOM,gBAAkB3M,EAAMmM,QAAQE,OAAOQ,cAE/G,uBAAwB,CACtB1F,iBAAiBqF,EAAAA,EAAAA,IAAMxM,EAAMmM,QAAQM,QAAQC,KAAM1M,EAAMmM,QAAQE,OAAOM,qBApChE,qBAuCNJ,EAAAA,cAAiC,CACrCpF,gBAAiBnH,EAAMmM,QAAQE,OAAOS,SAxC5B,qBA0CNP,EAAAA,UAA6B,CACjCQ,QAAS/M,EAAMmM,QAAQE,OAAOW,mBA3CpB,wBA6CH1C,EAAAA,EAAAA,MAAwB,CAC/B7D,UAAWzG,EAAM0G,QAAQ,GACzBuG,aAAcjN,EAAM0G,QAAQ,MA/ClB,wBAiDH4D,EAAAA,EAAAA,OAAyB,CAChC4C,WAAY,MAlDF,sBAoDLC,EAAAA,EAAAA,MAA6B,CAClC1G,UAAW,EACXwG,aAAc,KAtDJ,sBAwDLE,EAAAA,EAAAA,OAA8B,CACnCnB,YAAa,MAzDH,sBA2DLoB,EAAAA,EAAAA,MAA6B,CAClCC,SAAU,KA5DA,IA8DVnC,EAAWC,QAAZ,UACAnL,EAAMsN,YAAYC,GAAG,MAAQ,CAC5B3B,UAAW,SAEZV,EAAWC,QAASI,EAAAA,EAAAA,GAAS,CAC9BK,UAAW,GAEXC,WAAY,EACZ7D,cAAe,GACdhI,EAAMwL,WAAWgC,OALW,uBAMtBJ,EAAAA,EAAAA,KANsB,QAMW,CACtCxG,SAAU,iBAwJd,EArJ8B6G,EAAAA,YAAiB,SAAkBC,EAASC,GACxE,IAAMnK,GAAQoK,EAAAA,EAAAA,GAAc,CAC1BpK,MAAOkK,EACP/K,KAAM,gBAGR,EASIa,EARF4B,UAAAA,OADF,WASI5B,EAPFqK,UAAAA,OAFF,MAEc,KAFd,IASIrK,EANF2H,MAAAA,OAHF,WASI3H,EALF4H,QAAAA,OAJF,WASI5H,EAJF6H,eAAAA,OALF,SAMEyC,EAGEtK,EAHFsK,sBANF,EASItK,EAFFuK,KAAAA,OAPF,MAOS,WAPT,EAQYC,EACRxK,EADFyK,SAEIC,GAAQC,EAAAA,EAAAA,GAA8B3K,EAAOiH,GAE7C2D,EAAUX,EAAAA,WAAiBY,EAAAA,GAC3BC,EAAe,CACnBnD,MAAOA,GAASiD,EAAQjD,QAAS,EACjCE,eAAAA,GAEIkD,EAAcd,EAAAA,OAAa,OACjCe,EAAAA,EAAAA,IAAkB,WACZpJ,GACEmJ,EAAYE,SACdF,EAAYE,QAAQ3B,UAKvB,CAAC1H,IAEJ,IAQI6I,EARE/C,GAAaK,EAAAA,EAAAA,GAAS,GAAI/H,EAAO,CACrC2H,MAAOmD,EAAanD,MACpBC,QAAAA,EACAC,eAAAA,IAGIjL,EA5IkB,SAAA8K,GACxB,IACE/H,EAME+H,EANF/H,SACAgI,EAKED,EALFC,MACAC,EAIEF,EAJFE,QACAC,EAGEH,EAHFG,eACAqD,EAEExD,EAFFwD,SACAtO,EACE8K,EADF9K,QAEIuO,EAAQ,CACZrI,KAAM,CAAC,OAAQ6E,GAAS,QAAShI,GAAY,YAAakI,GAAkB,UAAWD,GAAW,UAAWsD,GAAY,aAErHE,GAAkBC,EAAAA,EAAAA,GAAeF,EAAOnE,EAAyBpK,GACvE,OAAOmL,EAAAA,EAAAA,GAAS,GAAInL,EAASwO,GA+HbE,CAAkBtL,GAC5BuL,GAAYC,EAAAA,EAAAA,GAAWT,EAAaZ,GAO1C,OAJKnK,EAAML,WACT8K,OAA4BgB,IAAjBjB,EAA6BA,GAAgB,IAGtCkB,EAAAA,EAAAA,KAAKb,EAAAA,EAAAA,SAAsB,CAC7C5L,MAAO6L,EACPlG,UAAuB8G,EAAAA,EAAAA,KAAKxE,GAAca,EAAAA,EAAAA,GAAS,CACjDoC,IAAKoB,EACLhB,KAAMA,EACNE,SAAUA,EACVJ,UAAWA,EACXC,uBAAuBvI,EAAAA,EAAAA,GAAKnF,EAAQ+O,aAAcrB,IACjDI,EAAO,CACRhD,WAAYA,EACZ9K,QAASA","sources":["screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { BucketEncryptionInfo } from \"../types\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { BucketEncryptionIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...modalStyleUtils,\n ...formFieldStyles,\n });\n\ninterface IEnableBucketEncryptionProps {\n classes: any;\n open: boolean;\n encryptionEnabled: boolean;\n encryptionCfg: BucketEncryptionInfo | null;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst EnableBucketEncryption = ({\n classes,\n open,\n encryptionCfg,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IEnableBucketEncryptionProps) => {\n const [loading, setLoading] = useState(false);\n const [kmsKeyID, setKmsKeyID] = useState(\"\");\n const [encryptionType, setEncryptionType] = useState(\"disabled\");\n\n useEffect(() => {\n if (encryptionCfg) {\n if (encryptionCfg.algorithm === \"AES256\") {\n setEncryptionType(\"sse-s3\");\n } else {\n setEncryptionType(\"sse-kms\");\n setKmsKeyID(encryptionCfg.kmsMasterKeyID);\n }\n }\n }, [encryptionCfg]);\n\n const enableBucketEncryption = (event: React.FormEvent) => {\n event.preventDefault();\n if (loading) {\n return;\n }\n if (encryptionType === \"disabled\") {\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/encryption/disable`)\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/encryption/enable`, {\n encType: encryptionType,\n kmsKeyID: kmsKeyID,\n })\n .then(() => {\n setLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Enable Bucket Encryption\"\n titleIcon={}\n >\n ) => {\n enableBucketEncryption(e);\n }}\n >\n \n \n \n ) => {\n setEncryptionType(e.target.value as string);\n }}\n id=\"select-encryption-type\"\n name=\"select-encryption-type\"\n label={\"Encryption Type\"}\n value={encryptionType}\n options={[\n {\n label: \"Disabled\",\n value: \"disabled\",\n },\n {\n label: \"SSE-S3\",\n value: \"sse-s3\",\n },\n {\n label: \"SSE-KMS\",\n value: \"sse-kms\",\n },\n ]}\n />\n \n\n {encryptionType === \"sse-kms\" && (\n \n ) => {\n setKmsKeyID(e.target.value);\n }}\n />\n \n )}\n \n \n {\n closeModalAndRefresh();\n }}\n disabled={loading}\n >\n Cancel\n \n \n Save\n \n \n {loading && (\n \n \n \n )}\n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(EnableBucketEncryption));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["connector","connect","setModalErrorSnackMessage","withStyles","theme","createStyles","modalStyleUtils","formFieldStyles","classes","open","encryptionCfg","selectedBucket","closeModalAndRefresh","useState","loading","setLoading","kmsKeyID","setKmsKeyID","encryptionType","setEncryptionType","useEffect","algorithm","kmsMasterKeyID","modalOpen","onClose","title","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","api","then","catch","err","encType","container","item","xs","className","modalFormScrollable","formFieldRow","onChange","target","value","id","name","label","options","modalButtonBar","type","variant","color","onClick","disabled","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","multiline","tooltip","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","placement","fullWidth","helperText","inputRebase","size","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","root","height","lineHeight","marginTop","spacing","input","fontSize","padding","border","borderRadius","display","alignItems","borderColor","backgroundColor","InputBase","fieldContainer","flexFlow","map","option","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","width","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","length","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","styled","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","justifyContent","textDecoration","minHeight","paddingTop","boxSizing","whiteSpace","paddingLeft","paddingRight","borderBottom","palette","backgroundClip","action","hover","menuItemClasses","alpha","primary","main","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginBottom","marginLeft","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","React","inProps","ref","useThemeProps","component","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","undefined","_jsx","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4220.4e76aa0b.chunk.js b/portal-ui/build/static/js/4220.4e76aa0b.chunk.js new file mode 100644 index 000000000..2c0b3ba02 --- /dev/null +++ b/portal-ui/build/static/js/4220.4e76aa0b.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4220],{53224:function(e,t,n){var i=n(18489),a=n(83738),o=(n(50390),n(70758)),r=n(62449),s=n(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,i=t.color,a=e.palette.primary.main;return"primary"===i&&"contained"===n?a=e.palette.primary.contrastText:"primary"===i&&"outlined"===n?a=e.palette.primary.main:"secondary"===i&&(a=e.palette.secondary.main),a}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,v=e.icon,f=void 0===v?null:v,h=(0,a.Z)(e,l);return(0,s.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},h),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},66964:function(e,t,n){var i=n(18489),a=n(50390),o=n(12066),r=n(25594),s=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),v=n(97538),f=n(44977),h=n(62559),x=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function Z(e){var t=x();return(0,h.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,x=e.autoComplete,g=void 0===x?"off":x,b=e.disabled,j=void 0!==b&&b,y=e.multiline,C=void 0!==y&&y,N=e.tooltip,S=void 0===N?"":N,P=e.index,w=void 0===P?0:P,I=e.error,k=void 0===I?"":I,M=e.required,E=void 0!==M&&M,L=e.placeholder,z=void 0===L?"":L,F=e.min,T=e.max,A=e.overlayId,D=e.overlayIcon,R=void 0===D?null:D,_=e.overlayObject,B=void 0===_?null:_,V=e.extraInputProps,W=void 0===V?{}:V,O=e.overlayAction,q=e.noLabelMinWidth,G=void 0!==q&&q,H=e.pattern,K=void 0===H?"":H,Y=e.autoFocus,X=void 0!==Y&&Y,$=e.classes,Q=e.className,U=void 0===Q?"":Q,J=e.onKeyPress,ee=(0,i.Z)({"data-index":w},W);return"number"===m&&F&&(ee.min=F),"number"===m&&T&&(ee.max=T),""!==K&&(ee.pattern=K),(0,h.jsx)(a.Fragment,{children:(0,h.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==U?U:"",""!==k?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,h.jsxs)(s.Z,{htmlFor:d,className:G?$.noMinWidthLabel:$.inputLabel,children:[(0,h.jsxs)("span",{children:[t,E?"*":""]}),""!==S&&(0,h.jsx)("div",{className:$.tooltipContainer,children:(0,h.jsx)(l.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:$.tooltip,children:(0,h.jsx)(v.Z,{})})})})]}),(0,h.jsxs)("div",{className:$.textBoxContainer,children:[(0,h.jsx)(Z,{id:d,name:u,fullWidth:!0,value:o,autoFocus:X,disabled:j,onChange:n,type:m,multiline:C,autoComplete:g,inputProps:ee,error:""!==k,helperText:k,placeholder:z,className:$.inputRebase,onKeyPress:J}),R&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:O?function(){O()}:function(){return null},id:A,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),B&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:B})]})]})})}))},67754:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),r=n(46413),s=n(36554),l=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),v=n(72462),f=n(97538),h=n(62559),x=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},v.YI),v.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},v.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,i=e.name,r=e.onChange,p=e.options,m=e.label,v=e.tooltip,Z=void 0===v?"":v,g=e.value,b=e.disabled,j=void 0!==b&&b;return(0,h.jsx)(a.Fragment,{children:(0,h.jsxs)(o.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,h.jsxs)(s.Z,{htmlFor:n,className:t.inputLabel,children:[(0,h.jsx)("span",{children:m}),""!==Z&&(0,h.jsx)("div",{className:t.tooltipContainer,children:(0,h.jsx)(l.Z,{title:Z,placement:"top-start",children:(0,h.jsx)("div",{className:t.tooltip,children:(0,h.jsx)(f.Z,{})})})})]}),(0,h.jsx)(c.Z,{fullWidth:!0,children:(0,h.jsx)(d.Z,{id:n,name:i,value:g,onChange:r,input:(0,h.jsx)(x,{}),disabled:j,children:p.map((function(e){return(0,h.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},51002:function(e,t,n){var i=n(23430),a=n(18489),o=n(50390),r=n(34424),s=n(95467),l=n(97771),c=n(84402),d=n(78426),u=n(93085),p=n(86509),m=n(4285),v=n(72462),f=n(44149),h=n(21278),x=n(45980),Z=n(62559),g=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK});t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)({},v.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(g((function(e){var t=e.onClose,n=e.modalOpen,r=e.title,p=e.children,m=e.classes,v=e.wideLimit,f=void 0===v||v,g=e.modalSnackMessage,b=e.noContentPadding,j=e.setModalSnackMessage,y=e.titleIcon,C=void 0===y?null:y,N=(0,o.useState)(!1),S=(0,i.Z)(N,2),P=S[0],w=S[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(g){if(""===g.message)return void w(!1);"error"!==g.type&&w(!0)}}),[g]);var I=f?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},k="";return g&&(k=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(k=g.message)),(0,Z.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:n,classes:m},I),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,Z.jsxs)(d.Z,{className:m.title,children:[(0,Z.jsxs)("div",{className:m.titleText,children:[C," ",r]}),(0,Z.jsx)("div",{className:m.closeContainer,children:(0,Z.jsx)(s.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,Z.jsx)(h.Z,{})})})]}),(0,Z.jsx)(x.Z,{isModal:!0}),(0,Z.jsx)(l.Z,{open:P,className:m.snackBarModal,onClose:function(){w(!1),j("")},message:k,ContentProps:{className:"".concat(m.snackBar," ").concat(g&&"error"===g.type?m.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:b?"":m.content,children:p})]}))})))},84220:function(e,t,n){n.r(t),n.d(t,{default:function(){return L}});var i=n(23430),a=n(18489),o=n(50390),r=n(34424),s=n(86509),l=n(4285),c=n(72462),d=n(12066),u=n(25594),p=n(14549),m=n(44149),v=n(8174),f=n(38342),h=n.n(f),x=n(51002),Z=n(66964),g=n(28948),b=n(66946),j=n(81378),y=n(30324),C=n(93127),N=n(67754),S=n(62559),P=(0,l.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}},factorElements:{display:"flex",justifyContent:"flex-start",marginLeft:30},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"}},c.DF),c.ID))}))((function(e){var t=e.tenant,n=e.classes,a=e.open,r=e.onClosePoolAndReload,s=(0,o.useState)(!1),l=(0,i.Z)(s,2),c=l[0],d=l[1],m=(0,o.useState)(0),v=(0,i.Z)(m,2),f=v[0],P=v[1],w=(0,o.useState)(0),I=(0,i.Z)(w,2),k=I[0],M=I[1],E=(0,o.useState)(0),L=(0,i.Z)(E,2),z=L[0],F=L[1],T=(0,o.useState)(""),A=(0,i.Z)(T,2),D=A[0],R=A[1],_=(0,o.useState)([]),B=(0,i.Z)(_,2),V=B[0],W=B[1],O=1073741824*k*z,q=O*f;return(0,o.useEffect)((function(){R(""),W([]),y.Z.invoke("GET","/api/v1/namespaces/".concat(t.namespace,"/resourcequotas/").concat(t.namespace,"-storagequota")).then((function(e){var t=h()(e,"elements",[]).map((function(e){var t=h()(e,"name","").split(".storageclass.storage.k8s.io/requests.storage")[0];return{label:t,value:t}}));W(t),t.length>0&&R(t[0].value)})).catch((function(e){console.error(e)}))}),[t]),(0,S.jsx)(x.Z,{onClose:function(){return r(!1)},modalOpen:a,title:"Add Pool",titleIcon:(0,S.jsx)(p.X2,{}),children:(0,S.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),d(!0);var n=(0,g.en)(t.pools),i=(0,C.P)(t.name,n),a={name:n,servers:f,volumes_per_server:z,volume_configuration:{size:1073741824*k,storage_class_name:D,labels:null},affinity:i};y.Z.invoke("POST","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.name,"/pools"),a).then((function(){d(!1),r(!0)})).catch((function(e){d(!1)}))},children:[(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(Z.Z,{id:"number_of_nodes",name:"number_of_nodes",type:"number",onChange:function(e){P(parseInt(e.target.value))},label:"Number of Nodes",value:f.toString(10)})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(Z.Z,{id:"pool_size",name:"pool_size",type:"number",onChange:function(e){M(parseInt(e.target.value))},label:"Volume Size (Gi)",value:k.toString(10)})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(Z.Z,{id:"volumes_per_sever",name:"volumes_per_sever",type:"number",onChange:function(e){F(parseInt(e.target.value))},label:"Volumes per Server",value:z.toString(10)})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(N.Z,{id:"storage_class",name:"storage_class",onChange:function(e){R(e.target.value)},label:"Storage Class",value:D,options:V,disabled:V.length<1})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.bottomContainer,children:(0,S.jsxs)("div",{className:n.factorElements,children:[(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:n.sizeNumber,children:(0,g.ae)(O.toString(10))}),(0,S.jsx)("div",{className:n.sizeDescription,children:"Instance Capacity"})]}),(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:n.sizeNumber,children:(0,g.ae)(q.toString(10))}),(0,S.jsx)("div",{className:n.sizeDescription,children:"Total Capacity"})]})]})}),(0,S.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,S.jsx)(b.Z,{type:"button",variant:"outlined",color:"primary",disabled:c,onClick:function(){return r(!1)},children:"Cancel"}),(0,S.jsx)(b.Z,{type:"submit",variant:"contained",color:"primary",disabled:c,children:"Save"})]}),c&&(0,S.jsx)(u.ZP,{item:!0,xs:12,children:(0,S.jsx)(j.Z,{})})]})})})),w=n(65771),I=n(46864),k=n(13336),M=n(53224),E=(0,r.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo}}),{setErrorSnackMessage:m.Ih,setTenantDetailsLoad:I.V2}),L=(0,l.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},c.oZ),c.OR),c.VX),(0,c.Bz)(e.spacing(4))))}))(E((function(e){var t=e.classes,n=e.tenant,a=e.loadingTenant,r=e.setTenantDetailsLoad,s=(0,o.useState)([]),l=(0,i.Z)(s,2),c=l[0],m=l[1],f=(0,o.useState)(!1),h=(0,i.Z)(f,2),x=h[0],Z=h[1],g=(0,o.useState)(""),b=(0,i.Z)(g,2),j=b[0],y=b[1];(0,o.useEffect)((function(){if(n){var e=n.pools?n.pools:[];m(e)}}),[n]);var C=c.filter((function(e){return!!e.name.toLowerCase().includes(j.toLowerCase())}));return(0,S.jsxs)(o.Fragment,{children:[x&&null!==n&&(0,S.jsx)(P,{open:x,onClosePoolAndReload:function(e){Z(!1),e&&r(!0)},tenant:n}),(0,S.jsx)("h1",{className:t.sectionTitle,children:"Pools"}),(0,S.jsxs)(u.ZP,{container:!0,children:[(0,S.jsxs)(u.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,S.jsx)(d.Z,{placeholder:"Filter",className:t.searchField,id:"search-resource",label:"",onChange:function(e){y(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,S.jsx)(w.Z,{position:"start",children:(0,S.jsx)(k.Z,{})})},variant:"standard"}),(0,S.jsx)(M.Z,{tooltip:"Expand Tenant",text:"Expand Tenant",onClick:function(){Z(!0)},icon:(0,S.jsx)(p.dt,{}),color:"primary",variant:"contained"})]}),(0,S.jsx)(u.ZP,{item:!0,xs:12,children:(0,S.jsx)("br",{})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,S.jsx)(v.Z,{itemActions:[],columns:[{label:"Name",elementKey:"name"},{label:"Capacity",elementKey:"capacity"},{label:"# of Instances",elementKey:"servers"},{label:"# of Drives",elementKey:"volumes"}],isLoading:a,records:C,entityName:"Servers",idField:"name",customEmptyMessage:"No Pools found"})})]})]})})))},93127:function(e,t,n){n.d(t,{P:function(){return i},q:function(){return a}});var i=function(e,t){return{podAntiAffinity:{requiredDuringSchedulingIgnoredDuringExecution:[{labelSelector:{matchExpressions:[{key:"v1.min.io/tenant",operator:"In",values:[e]},{key:"v1.min.io/pool",operator:"In",values:[t]}]},topologyKey:"kubernetes.io/hostname"}]}}},a=function(e,t,n,a){var o=e.split("&"),r=[];o.forEach((function(e){var t=e.split("=");2===t.length&&r.push({key:t[0],operator:"In",values:[t[1]]})}));var s={nodeAffinity:{requiredDuringSchedulingIgnoredDuringExecution:{nodeSelectorTerms:[{matchExpressions:r}]}}};if(t){var l=i(n,a);s.podAntiAffinity=l.podAntiAffinity}return console.log(s),s}},21278:function(e,t,n){var i=n(64119);t.Z=void 0;var a=i(n(66830)),o=n(62559),r=(0,a.default)((0,o.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=r},4247:function(e,t,n){n.d(t,{V:function(){return a}});var i=n(10594);function a(e){return(0,i.Z)("MuiDivider",e)}var o=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=o},65771:function(e,t,n){n.d(t,{Z:function(){return y}});var i=n(36222),a=n(1048),o=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(91442),d=n(35477),u=n(14478),p=n(23060),m=n(8208),v=n(10594);function f(e){return(0,v.Z)("MuiInputAdornment",e)}var h,x=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),Z=n(15573),g=n(62559),b=["children","className","component","disablePointerEvents","disableTypography","position","variant"],j=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(x.positionStart,"&:not(.").concat(x.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),y=r.forwardRef((function(e,t){var n=(0,Z.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,m=n.className,v=n.component,x=void 0===v?"div":v,y=n.disablePointerEvents,C=void 0!==y&&y,N=n.disableTypography,S=void 0!==N&&N,P=n.position,w=n.variant,I=(0,a.Z)(n,b),k=(0,p.Z)()||{},M=w;w&&k.variant,k&&!M&&(M=k.variant);var E=(0,o.Z)({},n,{hiddenLabel:k.hiddenLabel,size:k.size,disablePointerEvents:C,position:P,variant:M}),L=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,a=e.position,o=e.size,r=e.variant,s={root:["root",n&&"disablePointerEvents",a&&"position".concat((0,c.Z)(a)),r,i&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,l.Z)(s,f,t)}(E);return(0,g.jsx)(u.Z.Provider,{value:null,children:(0,g.jsx)(j,(0,o.Z)({as:x,ownerState:E,className:(0,s.Z)(L.root,m),ref:t},I,{children:"string"!==typeof i||S?(0,g.jsxs)(r.Fragment,{children:["start"===P?h||(h=(0,g.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,g.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))},31680:function(e,t,n){n.d(t,{Z:function(){return S}});var i=n(36222),a=n(1048),o=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),v=n(40839),f=n(3299),h=n(4247),x=n(2198),Z=n(23586),g=n(10594);function b(e){return(0,g.Z)("MuiMenuItem",e)}var j=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],N=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,a=e.ownerState;return(0,o.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!a.disableGutters&&{paddingLeft:16,paddingRight:16},a.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(j.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(j.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(j.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(j.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(j.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(h.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(h.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(Z.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(Z.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(x.Z.root),{minWidth:36}),t),!a.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),a.dense&&(0,o.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(x.Z.root," svg"),{fontSize:"1.25rem"})))})),S=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,c=void 0!==i&&i,d=n.component,m=void 0===d?"li":d,h=n.dense,x=void 0!==h&&h,Z=n.divider,g=void 0!==Z&&Z,j=n.disableGutters,S=void 0!==j&&j,P=n.focusVisibleClassName,w=n.role,I=void 0===w?"menuitem":w,k=n.tabIndex,M=(0,a.Z)(n,C),E=r.useContext(p.Z),L={dense:x||E.dense||!1,disableGutters:S},z=r.useRef(null);(0,v.Z)((function(){c&&z.current&&z.current.focus()}),[c]);var F,T=(0,o.Z)({},n,{dense:L.dense,divider:g,disableGutters:S}),A=function(e){var t=e.disabled,n=e.dense,i=e.divider,a=e.disableGutters,r=e.selected,s=e.classes,c={root:["root",n&&"dense",t&&"disabled",!a&&"gutters",i&&"divider",r&&"selected"]},d=(0,l.Z)(c,b,s);return(0,o.Z)({},s,d)}(n),D=(0,f.Z)(z,t);return n.disabled||(F=void 0!==k?k:-1),(0,y.jsx)(p.Z.Provider,{value:L,children:(0,y.jsx)(N,(0,o.Z)({ref:D,role:I,tabIndex:F,component:m,focusVisibleClassName:(0,s.Z)(A.focusVisible,P)},M,{ownerState:T,classes:A}))})}))}}]); +//# sourceMappingURL=4220.4e76aa0b.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4220.4e76aa0b.chunk.js.map b/portal-ui/build/static/js/4220.4e76aa0b.chunk.js.map new file mode 100644 index 000000000..2ca831944 --- /dev/null +++ b/portal-ui/build/static/js/4220.4e76aa0b.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4220.4e76aa0b.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tenants/TenantDetails/AddPoolModal.tsx","screens/Console/Tenants/TenantDetails/PoolsSummary.tsx","screens/Console/Tenants/TenantDetails/utils.ts","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { generatePoolName, niceBytes } from \"../../../../common/utils\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { IAddPoolRequest, ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler, IAffinityModel } from \"../../../../common/types\";\nimport { getDefaultAffinity } from \"./utils\";\n\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { IQuotaElement, IQuotas, Opts } from \"../ListTenants/utils\";\nimport { NewPoolIcon } from \"../../../../icons\";\n\ninterface IAddPoolProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClosePoolAndReload: (shouldReload: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n marginLeft: 30,\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddPoolModal = ({\n tenant,\n classes,\n open,\n onClosePoolAndReload,\n}: IAddPoolProps) => {\n const [addSending, setAddSending] = useState(false);\n const [numberOfNodes, setNumberOfNodes] = useState(0);\n const [volumeSize, setVolumeSize] = useState(0);\n const [volumesPerServer, setVolumesPerSever] = useState(0);\n const [selectedStorageClass, setSelectedStorageClass] = useState(\"\");\n const [storageClasses, setStorageClasses] = useState([]);\n\n const instanceCapacity: number = volumeSize * 1073741824 * volumesPerServer;\n const totalCapacity: number = instanceCapacity * numberOfNodes;\n\n useEffect(() => {\n setSelectedStorageClass(\"\");\n\n setStorageClasses([]);\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenant.namespace}/resourcequotas/${tenant.namespace}-storagequota`\n )\n .then((res: IQuotas) => {\n const elements: IQuotaElement[] = get(res, \"elements\", []);\n\n const newStorage = elements.map((storageClass: any) => {\n const name = get(storageClass, \"name\", \"\").split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n\n return { label: name, value: name };\n });\n\n setStorageClasses(newStorage);\n if (newStorage.length > 0) {\n setSelectedStorageClass(newStorage[0].value);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n });\n }, [tenant]);\n\n return (\n onClosePoolAndReload(false)}\n modalOpen={open}\n title=\"Add Pool\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n setAddSending(true);\n\n const poolName = generatePoolName(tenant.pools);\n\n const defaultAffinity: IAffinityModel = getDefaultAffinity(\n tenant.name,\n poolName\n );\n\n const data: IAddPoolRequest = {\n name: poolName,\n servers: numberOfNodes,\n volumes_per_server: volumesPerServer,\n volume_configuration: {\n size: volumeSize * 1073741824,\n storage_class_name: selectedStorageClass,\n labels: null,\n },\n affinity: defaultAffinity,\n };\n\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenant.namespace}/tenants/${tenant.name}/pools`,\n data\n )\n .then(() => {\n setAddSending(false);\n onClosePoolAndReload(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n // setDeleteError(err);\n });\n }}\n >\n \n ) => {\n setNumberOfNodes(parseInt(e.target.value));\n }}\n label=\"Number of Nodes\"\n value={numberOfNodes.toString(10)}\n />\n \n \n ) => {\n setVolumeSize(parseInt(e.target.value));\n }}\n label=\"Volume Size (Gi)\"\n value={volumeSize.toString(10)}\n />\n \n \n ) => {\n setVolumesPerSever(parseInt(e.target.value));\n }}\n label=\"Volumes per Server\"\n value={volumesPerServer.toString(10)}\n />\n \n \n ) => {\n setSelectedStorageClass(e.target.value as string);\n }}\n label=\"Storage Class\"\n value={selectedStorageClass}\n options={storageClasses}\n disabled={storageClasses.length < 1}\n />\n \n\n \n
    \n
    \n
    \n {niceBytes(instanceCapacity.toString(10))}\n
    \n
    Instance Capacity
    \n
    \n
    \n
    \n {niceBytes(totalCapacity.toString(10))}\n
    \n
    Total Capacity
    \n
    \n
    \n
    \n \n onClosePoolAndReload(false)}\n >\n Cancel\n \n \n Save\n \n \n {addSending && (\n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(AddPoolModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { TextField } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { AddIcon } from \"../../../../icons\";\nimport { IPool, ITenant } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport AddPoolModal from \"./AddPoolModal\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\ninterface IPoolsSummary {\n classes: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...actionsTray,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PoolsSummary = ({\n classes,\n tenant,\n loadingTenant,\n setTenantDetailsLoad,\n}: IPoolsSummary) => {\n const [pools, setPools] = useState([]);\n const [addPoolOpen, setAddPool] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n useEffect(() => {\n if (tenant) {\n const resPools = !tenant.pools ? [] : tenant.pools;\n setPools(resPools);\n }\n }, [tenant]);\n\n const onClosePoolAndRefresh = (reload: boolean) => {\n setAddPool(false);\n\n if (reload) {\n setTenantDetailsLoad(true);\n }\n };\n\n const filteredPools = pools.filter((pool) => {\n if (pool.name.toLowerCase().includes(filter.toLowerCase())) {\n return true;\n }\n\n return false;\n });\n\n return (\n \n {addPoolOpen && tenant !== null && (\n \n )}\n\n

    Pools

    \n \n \n {\n setFilter(event.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n\n {\n setAddPool(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n
    \n
    \n\n \n \n \n
    \n
    \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setTenantDetailsLoad,\n});\n\nexport default withStyles(styles)(connector(PoolsSummary));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport { IAffinityModel } from \"../../../../common/types\";\n\nexport const getDefaultAffinity = (tenantName: string, poolName: string) => {\n const defaultAffinity: IAffinityModel = {\n podAntiAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: [\n {\n labelSelector: {\n matchExpressions: [\n {\n key: \"v1.min.io/tenant\",\n operator: \"In\",\n values: [tenantName],\n },\n {\n key: \"v1.min.io/pool\",\n operator: \"In\",\n values: [poolName],\n },\n ],\n },\n topologyKey: \"kubernetes.io/hostname\",\n },\n ],\n },\n };\n return defaultAffinity;\n};\n\nexport const getNodeSelector = (\n labels: string,\n withPodAntiAffinity: boolean,\n tenantName: string,\n poolName: string\n) => {\n // Labels in the form of key1=value1&key2=value2&key3=value3...\n const splittedLabels = labels.split(\"&\");\n let matchExpressions: any = [];\n\n splittedLabels.forEach((label: string) => {\n const splitKeyValue = label.split(\"=\");\n if (splitKeyValue.length === 2) {\n matchExpressions.push({\n key: splitKeyValue[0],\n operator: \"In\",\n values: [splitKeyValue[1]],\n });\n }\n });\n\n const nodeSelector: IAffinityModel = {\n nodeAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: {\n nodeSelectorTerms: [\n {\n matchExpressions: matchExpressions,\n },\n ],\n },\n },\n };\n if (withPodAntiAffinity) {\n const def = getDefaultAffinity(tenantName, poolName);\n nodeSelector.podAntiAffinity = def.podAntiAffinity;\n }\n console.log(nodeSelector);\n return nodeSelector;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","inputStyles","createStyles","inputFieldStyles","InputField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","onKeyPress","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","height","lineHeight","marginTop","spacing","input","borderRadius","alignItems","backgroundColor","InputBase","fieldContainer","flexFlow","options","item","xs","map","option","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","useState","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","buttonContainer","textAlign","bottomContainer","margin","justifyContent","factorElements","sizeNumber","sizeDescription","formFieldStyles","modalStyleUtils","tenant","onClosePoolAndReload","addSending","setAddSending","numberOfNodes","setNumberOfNodes","volumeSize","setVolumeSize","volumesPerServer","setVolumesPerSever","selectedStorageClass","setSelectedStorageClass","storageClasses","setStorageClasses","instanceCapacity","totalCapacity","api","namespace","then","res","newStorage","get","storageClass","split","catch","err","console","ModalWrapper","noValidate","onSubmit","e","preventDefault","poolName","generatePoolName","pools","defaultAffinity","getDefaultAffinity","data","servers","volumes_per_server","volume_configuration","storage_class_name","labels","affinity","Grid","formFieldRow","InputBoxWrapper","parseInt","target","toString","SelectWrapper","niceBytes","modalButtonBar","Button","LinearProgress","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenantInfo","setErrorSnackMessage","setTenantDetailsLoad","tenantDetailsStyles","actionsTray","tableStyles","containerForHeader","setPools","addPoolOpen","setAddPool","filter","setFilter","resPools","filteredPools","pool","toLowerCase","includes","Fragment","reload","sectionTitle","TextField","searchField","disableUnderline","startAdornment","InputAdornment","SearchIcon","RBIconButton","tableBlock","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","customEmptyMessage","tenantName","podAntiAffinity","requiredDuringSchedulingIgnoredDuringExecution","labelSelector","matchExpressions","key","operator","values","topologyKey","getNodeSelector","withPodAntiAffinity","splittedLabels","forEach","splitKeyValue","push","nodeSelector","nodeAffinity","nodeSelectorTerms","def","log","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getInputAdornmentUtilityClass","_span","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","whiteSpace","action","active","inputAdornmentClasses","marginRight","pointerEvents","React","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","dense","divider","disableGutters","gutters","typography","body1","textDecoration","minHeight","paddingTop","boxSizing","paddingLeft","paddingRight","borderBottom","backgroundClip","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","focusVisibleClassName","role","tabIndexProp","tabIndex","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","composedClasses","handleRef","useForkRef","undefined","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4220.8d9a9028.chunk.js b/portal-ui/build/static/js/4220.8d9a9028.chunk.js deleted file mode 100644 index 18faf5c30..000000000 --- a/portal-ui/build/static/js/4220.8d9a9028.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4220],{53224:function(e,t,n){var i=n(18489),a=n(83738),o=(n(50390),n(70758)),r=n(62449),s=n(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,r.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,i=t.color,a=e.palette.primary.main;return"primary"===i&&"contained"===n?a=e.palette.primary.contrastText:"primary"===i&&"outlined"===n?a=e.palette.primary.main:"secondary"===i&&(a=e.palette.secondary.main),a}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,r=e.text,d=void 0===r?"":r,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,v=e.icon,f=void 0===v?null:v,h=(0,a.Z)(e,l);return(0,s.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},h),{},{children:[(0,s.jsx)("span",{children:d})," ",f]}))}},66964:function(e,t,n){var i=n(18489),a=n(50390),o=n(12066),r=n(25594),s=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),v=n(97538),f=n(44977),h=n(62559),x=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function Z(e){var t=x();return(0,h.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,x=e.autoComplete,g=void 0===x?"off":x,b=e.disabled,j=void 0!==b&&b,y=e.multiline,C=void 0!==y&&y,N=e.tooltip,S=void 0===N?"":N,P=e.index,w=void 0===P?0:P,I=e.error,k=void 0===I?"":I,M=e.required,E=void 0!==M&&M,L=e.placeholder,z=void 0===L?"":L,F=e.min,T=e.max,A=e.overlayId,D=e.overlayIcon,R=void 0===D?null:D,_=e.overlayObject,B=void 0===_?null:_,V=e.extraInputProps,W=void 0===V?{}:V,O=e.overlayAction,q=e.noLabelMinWidth,G=void 0!==q&&q,H=e.pattern,K=void 0===H?"":H,Y=e.autoFocus,X=void 0!==Y&&Y,$=e.classes,Q=e.className,U=void 0===Q?"":Q,J=e.onKeyPress,ee=(0,i.Z)({"data-index":w},W);return"number"===m&&F&&(ee.min=F),"number"===m&&T&&(ee.max=T),""!==K&&(ee.pattern=K),(0,h.jsx)(a.Fragment,{children:(0,h.jsxs)(r.ZP,{container:!0,className:(0,f.Z)(""!==U?U:"",""!==k?$.errorInField:$.inputBoxContainer),children:[""!==t&&(0,h.jsxs)(s.Z,{htmlFor:d,className:G?$.noMinWidthLabel:$.inputLabel,children:[(0,h.jsxs)("span",{children:[t,E?"*":""]}),""!==S&&(0,h.jsx)("div",{className:$.tooltipContainer,children:(0,h.jsx)(l.Z,{title:S,placement:"top-start",children:(0,h.jsx)("div",{className:$.tooltip,children:(0,h.jsx)(v.Z,{})})})})]}),(0,h.jsxs)("div",{className:$.textBoxContainer,children:[(0,h.jsx)(Z,{id:d,name:u,fullWidth:!0,value:o,autoFocus:X,disabled:j,onChange:n,type:m,multiline:C,autoComplete:g,inputProps:ee,error:""!==k,helperText:k,placeholder:z,className:$.inputRebase,onKeyPress:J}),R&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,h.jsx)(c.Z,{onClick:O?function(){O()}:function(){return null},id:A,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:R})}),B&&(0,h.jsx)("div",{className:"".concat($.overlayAction," ").concat(""!==t?"withLabel":""),children:B})]})]})})}))},67754:function(e,t,n){var i=n(18489),a=n(50390),o=n(25594),r=n(46413),s=n(36554),l=n(94187),c=n(47554),d=n(43965),u=n(31680),p=n(86509),m=n(4285),v=n(72462),f=n(97538),h=n(62559),x=(0,m.Z)((function(e){return(0,p.Z)({root:{height:38,lineHeight:1,"label + &":{marginTop:e.spacing(3)}},input:{height:38,position:"relative",color:"#07193E",fontSize:13,fontWeight:600,padding:"8px 20px 10px 10px",border:"#e5e5e5 1px solid",borderRadius:4,display:"flex",alignItems:"center","&:hover":{borderColor:"#393939"},"&:focus":{backgroundColor:"#fff"}}})}))(r.ZP);t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},v.YI),v.Hr),{},{inputLabel:(0,i.Z)((0,i.Z)({},v.YI.inputLabel),{},{"& span":{fontWeight:"normal"}}),fieldContainer:{display:"flex","@media (max-width: 600px)":{flexFlow:"column"}}}))}))((function(e){var t=e.classes,n=e.id,i=e.name,r=e.onChange,p=e.options,m=e.label,v=e.tooltip,Z=void 0===v?"":v,g=e.value,b=e.disabled,j=void 0!==b&&b;return(0,h.jsx)(a.Fragment,{children:(0,h.jsxs)(o.ZP,{item:!0,xs:12,className:t.fieldContainer,children:[""!==m&&(0,h.jsxs)(s.Z,{htmlFor:n,className:t.inputLabel,children:[(0,h.jsx)("span",{children:m}),""!==Z&&(0,h.jsx)("div",{className:t.tooltipContainer,children:(0,h.jsx)(l.Z,{title:Z,placement:"top-start",children:(0,h.jsx)("div",{className:t.tooltip,children:(0,h.jsx)(f.Z,{})})})})]}),(0,h.jsx)(c.Z,{fullWidth:!0,children:(0,h.jsx)(d.Z,{id:n,name:i,value:g,onChange:r,input:(0,h.jsx)(x,{}),disabled:j,children:p.map((function(e){return(0,h.jsx)(u.Z,{value:e.value,children:e.label},"select-".concat(i,"-").concat(e.label))}))})})]})})}))},51002:function(e,t,n){var i=n(23430),a=n(18489),o=n(50390),r=n(34424),s=n(95467),l=n(97771),c=n(84402),d=n(78426),u=n(93085),p=n(86509),m=n(4285),v=n(72462),f=n(44149),h=n(21278),x=n(45980),Z=n(62559),g=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:f.MK});t.Z=(0,m.Z)((function(e){return(0,p.Z)((0,a.Z)((0,a.Z)({},v.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(g((function(e){var t=e.onClose,n=e.modalOpen,r=e.title,p=e.children,m=e.classes,v=e.wideLimit,f=void 0===v||v,g=e.modalSnackMessage,b=e.noContentPadding,j=e.setModalSnackMessage,y=e.titleIcon,C=void 0===y?null:y,N=(0,o.useState)(!1),S=(0,i.Z)(N,2),P=S[0],w=S[1];(0,o.useEffect)((function(){j("")}),[j]),(0,o.useEffect)((function(){if(g){if(""===g.message)return void w(!1);"error"!==g.type&&w(!0)}}),[g]);var I=f?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},k="";return g&&(k=g.detailedErrorMsg,(""===g.detailedErrorMsg||g.detailedErrorMsg.length<5)&&(k=g.message)),(0,Z.jsxs)(c.Z,(0,a.Z)((0,a.Z)({open:n,classes:m},I),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:m.root,children:[(0,Z.jsxs)(d.Z,{className:m.title,children:[(0,Z.jsxs)("div",{className:m.titleText,children:[C," ",r]}),(0,Z.jsx)("div",{className:m.closeContainer,children:(0,Z.jsx)(s.Z,{"aria-label":"close",className:m.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,Z.jsx)(h.Z,{})})})]}),(0,Z.jsx)(x.Z,{isModal:!0}),(0,Z.jsx)(l.Z,{open:P,className:m.snackBarModal,onClose:function(){w(!1),j("")},message:k,ContentProps:{className:"".concat(m.snackBar," ").concat(g&&"error"===g.type?m.errorSnackBar:"")},autoHideDuration:g&&"error"===g.type?1e4:5e3}),(0,Z.jsx)(u.Z,{className:b?"":m.content,children:p})]}))})))},84220:function(e,t,n){n.r(t),n.d(t,{default:function(){return L}});var i=n(23430),a=n(18489),o=n(50390),r=n(34424),s=n(86509),l=n(4285),c=n(72462),d=n(12066),u=n(25594),p=n(86362),m=n(44149),v=n(8174),f=n(38342),h=n.n(f),x=n(51002),Z=n(66964),g=n(28948),b=n(66946),j=n(81378),y=n(30324),C=n(93127),N=n(67754),S=n(62559),P=(0,l.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},bottomContainer:{display:"flex",flexGrow:1,alignItems:"center",margin:"auto",justifyContent:"center","& div":{width:150,"@media (max-width: 900px)":{flexFlow:"column"}}},factorElements:{display:"flex",justifyContent:"flex-start",marginLeft:30},sizeNumber:{fontSize:35,fontWeight:700,textAlign:"center"},sizeDescription:{fontSize:14,color:"#777",textAlign:"center"}},c.DF),c.ID))}))((function(e){var t=e.tenant,n=e.classes,a=e.open,r=e.onClosePoolAndReload,s=(0,o.useState)(!1),l=(0,i.Z)(s,2),c=l[0],d=l[1],m=(0,o.useState)(0),v=(0,i.Z)(m,2),f=v[0],P=v[1],w=(0,o.useState)(0),I=(0,i.Z)(w,2),k=I[0],M=I[1],E=(0,o.useState)(0),L=(0,i.Z)(E,2),z=L[0],F=L[1],T=(0,o.useState)(""),A=(0,i.Z)(T,2),D=A[0],R=A[1],_=(0,o.useState)([]),B=(0,i.Z)(_,2),V=B[0],W=B[1],O=1073741824*k*z,q=O*f;return(0,o.useEffect)((function(){R(""),W([]),y.Z.invoke("GET","/api/v1/namespaces/".concat(t.namespace,"/resourcequotas/").concat(t.namespace,"-storagequota")).then((function(e){var t=h()(e,"elements",[]).map((function(e){var t=h()(e,"name","").split(".storageclass.storage.k8s.io/requests.storage")[0];return{label:t,value:t}}));W(t),t.length>0&&R(t[0].value)})).catch((function(e){console.error(e)}))}),[t]),(0,S.jsx)(x.Z,{onClose:function(){return r(!1)},modalOpen:a,title:"Add Pool",titleIcon:(0,S.jsx)(p.X2,{}),children:(0,S.jsxs)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),d(!0);var n=(0,g.en)(t.pools),i=(0,C.P)(t.name,n),a={name:n,servers:f,volumes_per_server:z,volume_configuration:{size:1073741824*k,storage_class_name:D,labels:null},affinity:i};y.Z.invoke("POST","/api/v1/namespaces/".concat(t.namespace,"/tenants/").concat(t.name,"/pools"),a).then((function(){d(!1),r(!0)})).catch((function(e){d(!1)}))},children:[(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(Z.Z,{id:"number_of_nodes",name:"number_of_nodes",type:"number",onChange:function(e){P(parseInt(e.target.value))},label:"Number of Nodes",value:f.toString(10)})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(Z.Z,{id:"pool_size",name:"pool_size",type:"number",onChange:function(e){M(parseInt(e.target.value))},label:"Volume Size (Gi)",value:k.toString(10)})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(Z.Z,{id:"volumes_per_sever",name:"volumes_per_sever",type:"number",onChange:function(e){F(parseInt(e.target.value))},label:"Volumes per Server",value:z.toString(10)})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,S.jsx)(N.Z,{id:"storage_class",name:"storage_class",onChange:function(e){R(e.target.value)},label:"Storage Class",value:D,options:V,disabled:V.length<1})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:n.bottomContainer,children:(0,S.jsxs)("div",{className:n.factorElements,children:[(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:n.sizeNumber,children:(0,g.ae)(O.toString(10))}),(0,S.jsx)("div",{className:n.sizeDescription,children:"Instance Capacity"})]}),(0,S.jsxs)("div",{children:[(0,S.jsx)("div",{className:n.sizeNumber,children:(0,g.ae)(q.toString(10))}),(0,S.jsx)("div",{className:n.sizeDescription,children:"Total Capacity"})]})]})}),(0,S.jsxs)(u.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,S.jsx)(b.Z,{type:"button",variant:"outlined",color:"primary",disabled:c,onClick:function(){return r(!1)},children:"Cancel"}),(0,S.jsx)(b.Z,{type:"submit",variant:"contained",color:"primary",disabled:c,children:"Save"})]}),c&&(0,S.jsx)(u.ZP,{item:!0,xs:12,children:(0,S.jsx)(j.Z,{})})]})})})),w=n(65771),I=n(46864),k=n(13336),M=n(53224),E=(0,r.$j)((function(e){return{loadingTenant:e.tenants.tenantDetails.loadingTenant,selectedTenant:e.tenants.tenantDetails.currentTenant,tenant:e.tenants.tenantDetails.tenantInfo}}),{setErrorSnackMessage:m.Ih,setTenantDetailsLoad:I.V2}),L=(0,l.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)((0,a.Z)((0,a.Z)({},c.oZ),c.OR),c.VX),(0,c.Bz)(e.spacing(4))))}))(E((function(e){var t=e.classes,n=e.tenant,a=e.loadingTenant,r=e.setTenantDetailsLoad,s=(0,o.useState)([]),l=(0,i.Z)(s,2),c=l[0],m=l[1],f=(0,o.useState)(!1),h=(0,i.Z)(f,2),x=h[0],Z=h[1],g=(0,o.useState)(""),b=(0,i.Z)(g,2),j=b[0],y=b[1];(0,o.useEffect)((function(){if(n){var e=n.pools?n.pools:[];m(e)}}),[n]);var C=c.filter((function(e){return!!e.name.toLowerCase().includes(j.toLowerCase())}));return(0,S.jsxs)(o.Fragment,{children:[x&&null!==n&&(0,S.jsx)(P,{open:x,onClosePoolAndReload:function(e){Z(!1),e&&r(!0)},tenant:n}),(0,S.jsx)("h1",{className:t.sectionTitle,children:"Pools"}),(0,S.jsxs)(u.ZP,{container:!0,children:[(0,S.jsxs)(u.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,S.jsx)(d.Z,{placeholder:"Filter",className:t.searchField,id:"search-resource",label:"",onChange:function(e){y(e.target.value)},InputProps:{disableUnderline:!0,startAdornment:(0,S.jsx)(w.Z,{position:"start",children:(0,S.jsx)(k.Z,{})})},variant:"standard"}),(0,S.jsx)(M.Z,{tooltip:"Expand Tenant",text:"Expand Tenant",onClick:function(){Z(!0)},icon:(0,S.jsx)(p.dt,{}),color:"primary",variant:"contained"})]}),(0,S.jsx)(u.ZP,{item:!0,xs:12,children:(0,S.jsx)("br",{})}),(0,S.jsx)(u.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,S.jsx)(v.Z,{itemActions:[],columns:[{label:"Name",elementKey:"name"},{label:"Capacity",elementKey:"capacity"},{label:"# of Instances",elementKey:"servers"},{label:"# of Drives",elementKey:"volumes"}],isLoading:a,records:C,entityName:"Servers",idField:"name",customEmptyMessage:"No Pools found"})})]})]})})))},93127:function(e,t,n){n.d(t,{P:function(){return i},q:function(){return a}});var i=function(e,t){return{podAntiAffinity:{requiredDuringSchedulingIgnoredDuringExecution:[{labelSelector:{matchExpressions:[{key:"v1.min.io/tenant",operator:"In",values:[e]},{key:"v1.min.io/pool",operator:"In",values:[t]}]},topologyKey:"kubernetes.io/hostname"}]}}},a=function(e,t,n,a){var o=e.split("&"),r=[];o.forEach((function(e){var t=e.split("=");2===t.length&&r.push({key:t[0],operator:"In",values:[t[1]]})}));var s={nodeAffinity:{requiredDuringSchedulingIgnoredDuringExecution:{nodeSelectorTerms:[{matchExpressions:r}]}}};if(t){var l=i(n,a);s.podAntiAffinity=l.podAntiAffinity}return console.log(s),s}},21278:function(e,t,n){var i=n(64119);t.Z=void 0;var a=i(n(66830)),o=n(62559),r=(0,a.default)((0,o.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=r},4247:function(e,t,n){n.d(t,{V:function(){return a}});var i=n(10594);function a(e){return(0,i.Z)("MuiDivider",e)}var o=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=o},65771:function(e,t,n){n.d(t,{Z:function(){return y}});var i=n(36222),a=n(1048),o=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(91442),d=n(35477),u=n(14478),p=n(23060),m=n(8208),v=n(10594);function f(e){return(0,v.Z)("MuiInputAdornment",e)}var h,x=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),Z=n(15573),g=n(62559),b=["children","className","component","disablePointerEvents","disableTypography","position","variant"],j=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,i.Z)({},"&.".concat(x.positionStart,"&:not(.").concat(x.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),y=r.forwardRef((function(e,t){var n=(0,Z.Z)({props:e,name:"MuiInputAdornment"}),i=n.children,m=n.className,v=n.component,x=void 0===v?"div":v,y=n.disablePointerEvents,C=void 0!==y&&y,N=n.disableTypography,S=void 0!==N&&N,P=n.position,w=n.variant,I=(0,a.Z)(n,b),k=(0,p.Z)()||{},M=w;w&&k.variant,k&&!M&&(M=k.variant);var E=(0,o.Z)({},n,{hiddenLabel:k.hiddenLabel,size:k.size,disablePointerEvents:C,position:P,variant:M}),L=function(e){var t=e.classes,n=e.disablePointerEvents,i=e.hiddenLabel,a=e.position,o=e.size,r=e.variant,s={root:["root",n&&"disablePointerEvents",a&&"position".concat((0,c.Z)(a)),r,i&&"hiddenLabel",o&&"size".concat((0,c.Z)(o))]};return(0,l.Z)(s,f,t)}(E);return(0,g.jsx)(u.Z.Provider,{value:null,children:(0,g.jsx)(j,(0,o.Z)({as:x,ownerState:E,className:(0,s.Z)(L.root,m),ref:t},I,{children:"string"!==typeof i||S?(0,g.jsxs)(r.Fragment,{children:["start"===P?h||(h=(0,g.jsx)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,g.jsx)(d.Z,{color:"text.secondary",children:i})}))})}))},31680:function(e,t,n){n.d(t,{Z:function(){return S}});var i=n(36222),a=n(1048),o=n(32793),r=n(50390),s=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),v=n(40839),f=n(3299),h=n(4247),x=n(2198),Z=n(23586),g=n(10594);function b(e){return(0,g.Z)("MuiMenuItem",e)}var j=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],N=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,a=e.ownerState;return(0,o.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!a.disableGutters&&{paddingLeft:16,paddingRight:16},a.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(j.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(j.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(j.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(j.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(j.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(h.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(h.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(Z.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(Z.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(x.Z.root),{minWidth:36}),t),!a.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),a.dense&&(0,o.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(x.Z.root," svg"),{fontSize:"1.25rem"})))})),S=r.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,c=void 0!==i&&i,d=n.component,m=void 0===d?"li":d,h=n.dense,x=void 0!==h&&h,Z=n.divider,g=void 0!==Z&&Z,j=n.disableGutters,S=void 0!==j&&j,P=n.focusVisibleClassName,w=n.role,I=void 0===w?"menuitem":w,k=n.tabIndex,M=(0,a.Z)(n,C),E=r.useContext(p.Z),L={dense:x||E.dense||!1,disableGutters:S},z=r.useRef(null);(0,v.Z)((function(){c&&z.current&&z.current.focus()}),[c]);var F,T=(0,o.Z)({},n,{dense:L.dense,divider:g,disableGutters:S}),A=function(e){var t=e.disabled,n=e.dense,i=e.divider,a=e.disableGutters,r=e.selected,s=e.classes,c={root:["root",n&&"dense",t&&"disabled",!a&&"gutters",i&&"divider",r&&"selected"]},d=(0,l.Z)(c,b,s);return(0,o.Z)({},s,d)}(n),D=(0,f.Z)(z,t);return n.disabled||(F=void 0!==k?k:-1),(0,y.jsx)(p.Z.Provider,{value:L,children:(0,y.jsx)(N,(0,o.Z)({ref:D,role:I,tabIndex:F,component:m,focusVisibleClassName:(0,s.Z)(A.focusVisible,P)},M,{ownerState:T,classes:A}))})}))}}]); -//# sourceMappingURL=4220.8d9a9028.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4220.8d9a9028.chunk.js.map b/portal-ui/build/static/js/4220.8d9a9028.chunk.js.map deleted file mode 100644 index 4e64d5933..000000000 --- a/portal-ui/build/static/js/4220.8d9a9028.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4220.8d9a9028.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Tenants/TenantDetails/AddPoolModal.tsx","screens/Console/Tenants/TenantDetails/PoolsSummary.tsx","screens/Console/Tenants/TenantDetails/utils.ts","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n InputBase,\n Tooltip,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { fieldBasic, tooltipHelper } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\nexport interface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (e: SelectChangeEvent) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n inputLabel: {\n ...fieldBasic.inputLabel,\n \"& span\": {\n fontWeight: \"normal\",\n },\n },\n fieldContainer: {\n display: \"flex\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n });\n\nconst SelectStyled = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 38,\n lineHeight: 1,\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n height: 38,\n position: \"relative\",\n color: \"#07193E\",\n fontSize: 13,\n fontWeight: 600,\n padding: \"8px 20px 10px 10px\",\n border: \"#e5e5e5 1px solid\",\n borderRadius: 4,\n display: \"flex\",\n alignItems: \"center\",\n \"&:hover\": {\n borderColor: \"#393939\",\n },\n \"&:focus\": {\n backgroundColor: \"#fff\",\n },\n },\n })\n)(InputBase);\n\nconst SelectWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n }\n disabled={disabled}\n >\n {options.map((option) => (\n \n {option.label}\n \n ))}\n \n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(SelectWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","import React, { useEffect, useState } from \"react\";\nimport get from \"lodash/get\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport Grid from \"@mui/material/Grid\";\nimport { generatePoolName, niceBytes } from \"../../../../common/utils\";\nimport { Button, LinearProgress, SelectChangeEvent } from \"@mui/material\";\nimport api from \"../../../../common/api\";\nimport { IAddPoolRequest, ITenant } from \"../ListTenants/types\";\nimport { ErrorResponseHandler, IAffinityModel } from \"../../../../common/types\";\nimport { getDefaultAffinity } from \"./utils\";\n\nimport SelectWrapper from \"../../Common/FormComponents/SelectWrapper/SelectWrapper\";\nimport { IQuotaElement, IQuotas, Opts } from \"../ListTenants/utils\";\nimport { NewPoolIcon } from \"../../../../icons\";\n\ninterface IAddPoolProps {\n tenant: ITenant;\n classes: any;\n open: boolean;\n onClosePoolAndReload: (shouldReload: boolean) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n bottomContainer: {\n display: \"flex\",\n flexGrow: 1,\n alignItems: \"center\",\n margin: \"auto\",\n justifyContent: \"center\",\n \"& div\": {\n width: 150,\n \"@media (max-width: 900px)\": {\n flexFlow: \"column\",\n },\n },\n },\n factorElements: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n marginLeft: 30,\n },\n sizeNumber: {\n fontSize: 35,\n fontWeight: 700,\n textAlign: \"center\",\n },\n sizeDescription: {\n fontSize: 14,\n color: \"#777\",\n textAlign: \"center\",\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\nconst AddPoolModal = ({\n tenant,\n classes,\n open,\n onClosePoolAndReload,\n}: IAddPoolProps) => {\n const [addSending, setAddSending] = useState(false);\n const [numberOfNodes, setNumberOfNodes] = useState(0);\n const [volumeSize, setVolumeSize] = useState(0);\n const [volumesPerServer, setVolumesPerSever] = useState(0);\n const [selectedStorageClass, setSelectedStorageClass] = useState(\"\");\n const [storageClasses, setStorageClasses] = useState([]);\n\n const instanceCapacity: number = volumeSize * 1073741824 * volumesPerServer;\n const totalCapacity: number = instanceCapacity * numberOfNodes;\n\n useEffect(() => {\n setSelectedStorageClass(\"\");\n\n setStorageClasses([]);\n api\n .invoke(\n \"GET\",\n `/api/v1/namespaces/${tenant.namespace}/resourcequotas/${tenant.namespace}-storagequota`\n )\n .then((res: IQuotas) => {\n const elements: IQuotaElement[] = get(res, \"elements\", []);\n\n const newStorage = elements.map((storageClass: any) => {\n const name = get(storageClass, \"name\", \"\").split(\n \".storageclass.storage.k8s.io/requests.storage\"\n )[0];\n\n return { label: name, value: name };\n });\n\n setStorageClasses(newStorage);\n if (newStorage.length > 0) {\n setSelectedStorageClass(newStorage[0].value);\n }\n })\n .catch((err: ErrorResponseHandler) => {\n console.error(err);\n });\n }, [tenant]);\n\n return (\n onClosePoolAndReload(false)}\n modalOpen={open}\n title=\"Add Pool\"\n titleIcon={}\n >\n ) => {\n e.preventDefault();\n setAddSending(true);\n\n const poolName = generatePoolName(tenant.pools);\n\n const defaultAffinity: IAffinityModel = getDefaultAffinity(\n tenant.name,\n poolName\n );\n\n const data: IAddPoolRequest = {\n name: poolName,\n servers: numberOfNodes,\n volumes_per_server: volumesPerServer,\n volume_configuration: {\n size: volumeSize * 1073741824,\n storage_class_name: selectedStorageClass,\n labels: null,\n },\n affinity: defaultAffinity,\n };\n\n api\n .invoke(\n \"POST\",\n `/api/v1/namespaces/${tenant.namespace}/tenants/${tenant.name}/pools`,\n data\n )\n .then(() => {\n setAddSending(false);\n onClosePoolAndReload(true);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddSending(false);\n // setDeleteError(err);\n });\n }}\n >\n \n ) => {\n setNumberOfNodes(parseInt(e.target.value));\n }}\n label=\"Number of Nodes\"\n value={numberOfNodes.toString(10)}\n />\n \n \n ) => {\n setVolumeSize(parseInt(e.target.value));\n }}\n label=\"Volume Size (Gi)\"\n value={volumeSize.toString(10)}\n />\n \n \n ) => {\n setVolumesPerSever(parseInt(e.target.value));\n }}\n label=\"Volumes per Server\"\n value={volumesPerServer.toString(10)}\n />\n \n \n ) => {\n setSelectedStorageClass(e.target.value as string);\n }}\n label=\"Storage Class\"\n value={selectedStorageClass}\n options={storageClasses}\n disabled={storageClasses.length < 1}\n />\n \n\n \n
    \n
    \n
    \n {niceBytes(instanceCapacity.toString(10))}\n
    \n
    Instance Capacity
    \n
    \n
    \n
    \n {niceBytes(totalCapacity.toString(10))}\n
    \n
    Total Capacity
    \n
    \n
    \n
    \n \n onClosePoolAndReload(false)}\n >\n Cancel\n \n \n Save\n \n \n {addSending && (\n \n \n \n )}\n \n \n );\n};\n\nexport default withStyles(styles)(AddPoolModal);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n actionsTray,\n containerForHeader,\n tableStyles,\n tenantDetailsStyles,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { TextField } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { AddIcon } from \"../../../../icons\";\nimport { IPool, ITenant } from \"../ListTenants/types\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport TableWrapper from \"../../Common/TableWrapper/TableWrapper\";\nimport AddPoolModal from \"./AddPoolModal\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport { AppState } from \"../../../../store\";\nimport { setTenantDetailsLoad } from \"../actions\";\nimport SearchIcon from \"../../../../icons/SearchIcon\";\nimport RBIconButton from \"../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\n\ninterface IPoolsSummary {\n classes: any;\n tenant: ITenant | null;\n loadingTenant: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n setTenantDetailsLoad: typeof setTenantDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...tenantDetailsStyles,\n ...actionsTray,\n ...tableStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst PoolsSummary = ({\n classes,\n tenant,\n loadingTenant,\n setTenantDetailsLoad,\n}: IPoolsSummary) => {\n const [pools, setPools] = useState([]);\n const [addPoolOpen, setAddPool] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n useEffect(() => {\n if (tenant) {\n const resPools = !tenant.pools ? [] : tenant.pools;\n setPools(resPools);\n }\n }, [tenant]);\n\n const onClosePoolAndRefresh = (reload: boolean) => {\n setAddPool(false);\n\n if (reload) {\n setTenantDetailsLoad(true);\n }\n };\n\n const filteredPools = pools.filter((pool) => {\n if (pool.name.toLowerCase().includes(filter.toLowerCase())) {\n return true;\n }\n\n return false;\n });\n\n return (\n \n {addPoolOpen && tenant !== null && (\n \n )}\n\n

    Pools

    \n \n \n {\n setFilter(event.target.value);\n }}\n InputProps={{\n disableUnderline: true,\n startAdornment: (\n \n \n \n ),\n }}\n variant=\"standard\"\n />\n\n {\n setAddPool(true);\n }}\n icon={}\n color=\"primary\"\n variant={\"contained\"}\n />\n \n \n
    \n
    \n\n \n \n \n
    \n
    \n );\n};\n\nconst mapState = (state: AppState) => ({\n loadingTenant: state.tenants.tenantDetails.loadingTenant,\n selectedTenant: state.tenants.tenantDetails.currentTenant,\n tenant: state.tenants.tenantDetails.tenantInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setTenantDetailsLoad,\n});\n\nexport default withStyles(styles)(connector(PoolsSummary));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport { IAffinityModel } from \"../../../../common/types\";\n\nexport const getDefaultAffinity = (tenantName: string, poolName: string) => {\n const defaultAffinity: IAffinityModel = {\n podAntiAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: [\n {\n labelSelector: {\n matchExpressions: [\n {\n key: \"v1.min.io/tenant\",\n operator: \"In\",\n values: [tenantName],\n },\n {\n key: \"v1.min.io/pool\",\n operator: \"In\",\n values: [poolName],\n },\n ],\n },\n topologyKey: \"kubernetes.io/hostname\",\n },\n ],\n },\n };\n return defaultAffinity;\n};\n\nexport const getNodeSelector = (\n labels: string,\n withPodAntiAffinity: boolean,\n tenantName: string,\n poolName: string\n) => {\n // Labels in the form of key1=value1&key2=value2&key3=value3...\n const splittedLabels = labels.split(\"&\");\n let matchExpressions: any = [];\n\n splittedLabels.forEach((label: string) => {\n const splitKeyValue = label.split(\"=\");\n if (splitKeyValue.length === 2) {\n matchExpressions.push({\n key: splitKeyValue[0],\n operator: \"In\",\n values: [splitKeyValue[1]],\n });\n }\n });\n\n const nodeSelector: IAffinityModel = {\n nodeAffinity: {\n requiredDuringSchedulingIgnoredDuringExecution: {\n nodeSelectorTerms: [\n {\n matchExpressions: matchExpressions,\n },\n ],\n },\n },\n };\n if (withPodAntiAffinity) {\n const def = getDefaultAffinity(tenantName, poolName);\n nodeSelector.podAntiAffinity = def.podAntiAffinity;\n }\n console.log(nodeSelector);\n return nodeSelector;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;"],"names":["useStyles","makeStyles","theme","root","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","width","marginLeft","text","classes","onClick","disabled","tooltip","icon","restProps","size","sx","border","fontSize","display","inputStyles","createStyles","inputFieldStyles","InputField","InputProps","withStyles","fieldBasic","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","inputLabel","fontWeight","label","onChange","value","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","className","onKeyPress","inputProps","container","clsx","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","tooltipContainer","title","placement","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","SelectStyled","height","lineHeight","marginTop","spacing","input","borderRadius","alignItems","backgroundColor","InputBase","fieldContainer","flexFlow","options","item","xs","map","option","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","useState","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","length","open","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","buttonContainer","textAlign","bottomContainer","margin","justifyContent","factorElements","sizeNumber","sizeDescription","formFieldStyles","modalStyleUtils","tenant","onClosePoolAndReload","addSending","setAddSending","numberOfNodes","setNumberOfNodes","volumeSize","setVolumeSize","volumesPerServer","setVolumesPerSever","selectedStorageClass","setSelectedStorageClass","storageClasses","setStorageClasses","instanceCapacity","totalCapacity","api","namespace","then","res","newStorage","get","storageClass","split","catch","err","console","ModalWrapper","noValidate","onSubmit","e","preventDefault","poolName","generatePoolName","pools","defaultAffinity","getDefaultAffinity","data","servers","volumes_per_server","volume_configuration","storage_class_name","labels","affinity","Grid","formFieldRow","InputBoxWrapper","parseInt","target","toString","SelectWrapper","niceBytes","modalButtonBar","Button","LinearProgress","loadingTenant","tenants","tenantDetails","selectedTenant","currentTenant","tenantInfo","setErrorSnackMessage","setTenantDetailsLoad","tenantDetailsStyles","actionsTray","tableStyles","containerForHeader","setPools","addPoolOpen","setAddPool","filter","setFilter","resPools","filteredPools","pool","toLowerCase","includes","Fragment","reload","sectionTitle","TextField","searchField","disableUnderline","startAdornment","InputAdornment","SearchIcon","RBIconButton","tableBlock","TableWrapper","itemActions","columns","elementKey","isLoading","records","entityName","idField","customEmptyMessage","tenantName","podAntiAffinity","requiredDuringSchedulingIgnoredDuringExecution","labelSelector","matchExpressions","key","operator","values","topologyKey","getNodeSelector","withPodAntiAffinity","splittedLabels","forEach","splitKeyValue","push","nodeSelector","nodeAffinity","nodeSelectorTerms","def","log","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getInputAdornmentUtilityClass","_span","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","whiteSpace","action","active","inputAdornmentClasses","marginRight","pointerEvents","React","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","getMenuItemUtilityClass","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","dense","divider","disableGutters","gutters","typography","body1","textDecoration","minHeight","paddingTop","boxSizing","paddingLeft","paddingRight","borderBottom","backgroundClip","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","opacity","disabledOpacity","marginBottom","listItemTextClasses","listItemIconClasses","minWidth","breakpoints","up","body2","focusVisibleClassName","role","tabIndexProp","tabIndex","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","composedClasses","handleRef","useForkRef","undefined","focusVisible"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4298.e6c437dd.chunk.js b/portal-ui/build/static/js/4298.2fa3347c.chunk.js similarity index 99% rename from portal-ui/build/static/js/4298.e6c437dd.chunk.js rename to portal-ui/build/static/js/4298.2fa3347c.chunk.js index c5f2d0246..8528f8fbd 100644 --- a/portal-ui/build/static/js/4298.e6c437dd.chunk.js +++ b/portal-ui/build/static/js/4298.2fa3347c.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4298],{8235:function(e,t,n){n(50390);var o=n(86509),r=n(4285),i=n(25594),a=n(62559);t.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,r=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(i.ZP,{container:!0,children:[(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,a.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},53224:function(e,t,n){var o=n(18489),r=n(83738),i=(n(50390),n(70758)),a=n(62449),l=n(62559),s=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,o=t.color,r=e.palette.primary.main;return"primary"===o&&"contained"===n?r=e.palette.primary.contrastText:"primary"===o&&"outlined"===n?r=e.palette.primary.main:"secondary"===o&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,a=e.text,d=void 0===a?"":a,p=e.disabled,u=void 0!==p&&p,m=e.tooltip,h=e.icon,f=void 0===h?null:h,g=(0,r.Z)(e,s);return(0,l.jsxs)(i.Z,(0,o.Z)((0,o.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:u,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},g),{},{children:[(0,l.jsx)("span",{children:d})," ",f]}))}},11835:function(e,t,n){var o=n(18489),r=n(83738),i=(n(50390),n(86509)),a=n(4285),l=n(62559),s=["classes","children"];t.Z=(0,a.Z)((function(e){return(0,i.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var t=e.classes,n=e.children,i=(0,r.Z)(e,s);return(0,l.jsx)("button",(0,o.Z)((0,o.Z)({},i),{},{className:t.root,children:n}))}))},70758:function(e,t,n){var o=n(18489),r=n(36222),i=n(83738),a=(n(50390),n(86509)),l=n(4285),s=n(95467),c=n(94187),d=n(44977),p=n(62559),u=["classes","children","variant","tooltip"];t.Z=(0,l.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,a=e.variant,l=void 0===a?"outlined":a,m=e.tooltip,h=(0,i.Z)(e,u),f=(0,p.jsx)(s.Z,(0,o.Z)((0,o.Z)({},h),{},{className:(0,d.Z)(t.root,(0,r.Z)({},t.contained,"contained"===l)),children:n}));return m&&""!==m?(0,p.jsx)(c.Z,{title:m,children:(0,p.jsx)("span",{children:f})}):f}))},25534:function(e,t,n){var o=n(18489),r=(n(50390),n(25594)),i=n(86509),a=n(4285),l=n(72462),s=n(62559);t.Z=(0,a.Z)((function(e){return(0,i.Z)((0,o.Z)({},l.Bw))}))((function(e){var t=e.classes,n=e.className,o=void 0===n?"":n,i=e.children;return(0,s.jsx)("div",{className:t.contentSpacer,children:(0,s.jsx)(r.ZP,{container:!0,children:(0,s.jsx)(r.ZP,{item:!0,xs:12,className:o,children:i})})})}))},23165:function(e,t,n){var o=n(36222),r=n(18489),i=(n(50390),n(65771)),a=n(13336),l=n(12066),s=n(4285),c=n(86509),d=n(72462),p=n(62559);t.Z=(0,s.Z)((function(e){return(0,c.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,r=e.classes,s=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,u=e.overrideClass,m=e.value,h=(0,o.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,p.jsx)(i.Z,{position:d,className:r.adornment,children:(0,p.jsx)(a.Z,{})}));return(0,p.jsx)(l.Z,{placeholder:n,className:u||r.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){s(e.target.value)},variant:"standard",value:m})}))},66147:function(e,t,n){n.r(t);var o=n(23430),r=n(18489),i=n(50390),a=n(34424),l=n(86509),s=n(4285),c=n(81378),d=n(83310),p=n(25594),u=n(60654),m=n(65433),h=n(86362),f=n(8174),g=n(44149),b=n(72462),y=n(30324),v=n(18221),S=n(24442),x=n(8235),T=n(11835),Z=n(25534),k=n(23165),E=n(53224),A=n(49495),j=n(62559),_={setErrorSnackMessage:g.Ih},N=(0,a.$j)(null,_);t.default=(0,s.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},b.OR),b.Je),(0,b.Bz)(e.spacing(4))),{},{twHeight:{minHeight:400},tableBlock:(0,r.Z)({},b.VX.tableBlock),rightActionItems:{display:"flex",alignItems:"center","& button":{whiteSpace:"nowrap"}},searchField:(0,r.Z)((0,r.Z)({},b.qg.searchField),{},{maxWidth:380})}))}))(N((function(e){var t=e.classes,n=e.setErrorSnackMessage,r=(0,i.useState)([]),a=(0,o.Z)(r,2),l=a[0],s=a[1],g=(0,i.useState)(""),b=(0,o.Z)(g,2),_=b[0],N=b[1],L=(0,i.useState)(!1),w=(0,o.Z)(L,2),C=w[0],P=w[1];(0,i.useEffect)((function(){if(C){y.Z.invoke("GET","/api/v1/admin/notification_endpoints").then((function(e){var t=[];null!==e.notification_endpoints&&(t=e.notification_endpoints),s((0,m.fk)(t)),P(!1)})).catch((function(e){n(e),P(!1)}))}}),[C,n]),(0,i.useEffect)((function(){P(!0)}),[]);var I=l.filter((function(e){return""===_||e.service_name.indexOf(_)>=0}));return(0,j.jsx)(i.Fragment,{children:(0,j.jsxs)(Z.Z,{children:[(0,j.jsxs)(p.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,j.jsx)(k.Z,{placeholder:"Search target",onChange:N,overrideClass:t.searchField,value:_}),(0,j.jsxs)("div",{className:t.rightActionItems,children:[(0,j.jsx)(E.Z,{tooltip:"Refresh List",text:"Refresh",variant:"outlined",color:"primary",icon:(0,j.jsx)(v.default,{}),onClick:function(){P(!0)}}),(0,j.jsx)(E.Z,{tooltip:"Add Notification Target",text:" Add Notification Target",variant:"contained",color:"primary",icon:(0,j.jsx)(h.dt,{}),onClick:function(){S.Z.push(A.gA.NOTIFICATIONS_ENDPOINTS_ADD)}})]})]}),C&&(0,j.jsx)(c.Z,{}),!C&&(0,j.jsxs)(i.Fragment,{children:[l.length>0&&(0,j.jsxs)(i.Fragment,{children:[(0,j.jsx)(p.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,j.jsx)(f.Z,{itemActions:[],columns:[{label:"Status",elementKey:"status",renderFunction:function(e){return(0,j.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,j.jsx)(u.Z,{style:"Offline"===e?{color:d.Z[500]}:{}}),e]})},width:150},{label:"Service",elementKey:"service_name"}],isLoading:C,records:I,entityName:"Notification Endpoints",idField:"service_name",customPaperHeight:t.twHeight})}),(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)(x.Z,{title:"Notification Endpoints",iconComponent:(0,j.jsx)(h.cC,{}),help:(0,j.jsxs)(i.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"You can learn more at our"," ",(0,j.jsx)("a",{href:"https://docs.min.io/minio/baremetal/monitoring/bucket-notifications/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===l.length&&(0,j.jsx)(p.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,j.jsx)(p.ZP,{item:!0,xs:8,children:(0,j.jsx)(x.Z,{title:"Notification Targets",iconComponent:(0,j.jsx)(h.cC,{}),help:(0,j.jsxs)(i.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"To get started,"," ",(0,j.jsx)(T.Z,{onClick:function(){S.Z.push(A.gA.NOTIFICATIONS_ENDPOINTS_ADD)},children:"Add a Notification Target"}),"."]})})})})]})]})})})))},65433:function(e,t,n){n.d(t,{ee:function(){return i},dM:function(){return a},fk:function(){return f},BR:function(){return g},DD:function(){return y},oj:function(){return v}});var o,r=n(36222),i="notify_postgres",a="notify_mysql",l="notify_kafka",s="notify_amqp",c="notify_mqtt",d="notify_redis",p="notify_nats",u="notify_elasticsearch",m="notify_webhook",h="notify_nsq",f=function(e){return e.map((function(e){return{service_name:"".concat(e.service,":").concat(e.account_id),status:e.status}}))},g=[{actionTrigger:i,targetTitle:"PostgreSQL",logo:"/postgres-logo.svg"},{actionTrigger:l,targetTitle:"Kafka",logo:"/kafka-logo.svg"},{actionTrigger:s,targetTitle:"AMQP",logo:"/amqp-logo.svg"},{actionTrigger:c,targetTitle:"MQTT",logo:"/mqtt-logo.svg"},{actionTrigger:d,targetTitle:"Redis",logo:"/redis-logo.svg"},{actionTrigger:p,targetTitle:"NATS",logo:"/nats-logo.svg"},{actionTrigger:a,targetTitle:"Mysql",logo:"/mysql-logo.svg"},{actionTrigger:u,targetTitle:"Elastic Search",logo:"/elasticsearch-logo.svg"},{actionTrigger:m,targetTitle:"Webhook",logo:"/webhooks-logo.svg"},{actionTrigger:h,targetTitle:"NSQ",logo:"/nsq-logo.svg"}],b=[{name:"queue-dir",label:"Queue Directory",required:!0,tooltip:"staging dir for undelivered messages e.g. '/home/events'",type:"string",placeholder:"Enter Queue Directory"},{name:"queue-limit",label:"Queue Limit",required:!1,tooltip:"maximum limit for undelivered messages, defaults to '10000'",type:"number",placeholder:"Enter Queue Limit"},{name:"comment",label:"Comment",required:!1,type:"comment",placeholder:"Enter custom notes if any"}],y=function(e){return e.filter((function(e){return""!==e.value}))},v=(o={},(0,r.Z)(o,l,[{name:"brokers",label:"Brokers",required:!0,tooltip:"Comma separated list of Kafka broker addresses",type:"string",placeholder:"Enter Brokers"},{name:"topic",label:"Topic",tooltip:"Kafka topic used for bucket notifications",type:"string",placeholder:"Enter Topic"},{name:"sasl_username",label:"SASL Username",tooltip:"Username for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Username"},{name:"sasl_password",label:"SASL Password",tooltip:"Password for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Password"},{name:"sasl_mechanism",label:"SASL Mechanism",tooltip:"SASL authentication mechanism, default 'PLAIN'",type:"string"},{name:"tls_client_auth",label:"TLS Client Auth",tooltip:"Client Auth determines the Kafka server's policy for TLS client auth",type:"string",placeholder:"Enter TLS Client Auth"},{name:"sasl",label:"SASL",tooltip:"Set to 'on' to enable SASL authentication",type:"on|off"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS skip verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"client_tls_cert",label:"client TLS cert",tooltip:"Path to client certificate for mTLS auth",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS auth",type:"path",placeholder:"Enter TLS Client Key"},{name:"version",label:"Version",tooltip:"Specify the version of the Kafka cluster e.g '2.2.0'",type:"string",placeholder:"Enter Kafka Version"}].concat(b)),(0,r.Z)(o,s,[{name:"url",required:!0,label:"URL",tooltip:"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`",type:"url"},{name:"exchange",label:"Exchange",tooltip:"Name of the AMQP exchange",type:"string",placeholder:"Enter Exchange"},{name:"exchange_type",label:"Exchange Type",tooltip:"AMQP exchange type",type:"string",placeholder:"Enter Exchange Type"},{name:"routing_key",label:"Routing Key",tooltip:"Routing key for publishing",type:"string",placeholder:"Enter Routing Key"},{name:"mandatory",label:"Mandatory",tooltip:"Quietly ignore undelivered messages when set to 'off', default is 'on'",type:"on|off"},{name:"durable",label:"Durable",tooltip:"Persist queue across broker restarts when set to 'on', default is 'off'",type:"on|off"},{name:"no_wait",label:"No Wait",tooltip:"Non-blocking message delivery when set to 'on', default is 'off'",type:"on|off"},{name:"internal",label:"Internal",tooltip:"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges",type:"on|off"},{name:"auto_deleted",label:"Auto Deleted",tooltip:"Auto delete queue when set to 'on', when there are no consumers",type:"on|off"},{name:"delivery_mode",label:"Delivery Mode",tooltip:"Set to '1' for non-persistent or '2' for persistent queue",type:"number",placeholder:"Enter Delivery Mode"}].concat(b)),(0,r.Z)(o,d,[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address. For example: `localhost:6379`",type:"address",placeholder:"Enter Address"},{name:"key",required:!0,label:"Key",tooltip:"Redis key to store/update events, key is auto-created",type:"string",placeholder:"Enter Key"},{name:"password",label:"Password",tooltip:"Redis server password",type:"string",placeholder:"Enter Password"}].concat(b)),(0,r.Z)(o,c,[{name:"broker",required:!0,label:"Broker",tooltip:"MQTT server endpoint e.g. `tcp://localhost:1883`",type:"uri",placeholder:"Enter Brokers"},{name:"topic",required:!0,label:"Topic",tooltip:"name of the MQTT topic to publish",type:"string",placeholder:"Enter Topic"},{name:"username",label:"Username",tooltip:"MQTT username",type:"string",placeholder:"Enter Username"},{name:"password",label:"Password",tooltip:"MQTT password",type:"string",placeholder:"Enter Password"},{name:"qos",label:"QOS",tooltip:"Set the quality of service priority, defaults to '0'",type:"number",placeholder:"Enter QOS"},{name:"keep_alive_interval",label:"Keep Alive Interval",tooltip:"Keep-alive interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Keep Alive Internal"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"}].concat(b)),(0,r.Z)(o,p,[{name:"address",required:!0,label:"Address",tooltip:"NATS server address e.g. '0.0.0.0:4222'",type:"address",placeholder:"Enter Address"},{name:"subject",required:!0,label:"Subject",tooltip:"NATS subscription subject",type:"string",placeholder:"Enter NATS Subject"},{name:"username",label:"Username",tooltip:"NATS username",type:"string",placeholder:"Enter NATS Username"},{name:"password",label:"Password",tooltip:"NATS password",type:"string",placeholder:"Enter NATS password"},{name:"token",label:"Token",tooltip:"NATS token",type:"string",placeholder:"Enter NATS token"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"ping_interval",label:"Ping Interval",tooltip:"Client ping commands interval in s,m,h,d. Disabled by default",type:"duration",placeholder:"Enter Ping Interval"},{name:"streaming",label:"Streaming",tooltip:"Set to 'on', to use streaming NATS server",type:"on|off"},{name:"streaming_async",label:"Streaming async",tooltip:"Set to 'on', to enable asynchronous publish",type:"on|off"},{name:"streaming_max_pub_acks_in_flight",label:"Streaming max publish ACKS in flight",tooltip:"Number of messages to publish without waiting for ACKs",type:"number",placeholder:"Enter Streaming in flight value"},{name:"streaming_cluster_id",label:"Streaming Cluster ID",tooltip:"Unique ID for NATS streaming cluster",type:"string",placeholder:"Enter Streaming Cluster ID"},{name:"cert_authority",label:"Cert Authority",tooltip:"Path to certificate chain of the target NATS server",type:"string",placeholder:"Enter Cert Authority"},{name:"client_cert",label:"Client Cert",tooltip:"Client cert for NATS mTLS auth",type:"string",placeholder:"Enter Client Cert"},{name:"client_key",label:"Client Key",tooltip:"Client cert key for NATS mTLS auth",type:"string",placeholder:"Enter Client Key"}].concat(b)),(0,r.Z)(o,u,[{name:"url",required:!0,label:"URL",tooltip:"Elasticsearch server's address, with optional authentication info",type:"url",placeholder:"Enter URL"},{name:"index",required:!0,label:"Index",tooltip:"Elasticsearch index to store/update events, index is auto-created",type:"string",placeholder:"Enter Index"},{name:"format",required:!0,label:"Format",tooltip:"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'",type:"enum",placeholder:"Enter Format"}].concat(b)),(0,r.Z)(o,m,[{name:"endpoint",required:!0,label:"Endpoint",tooltip:"webhook server endpoint e.g. http://localhost:8080/minio/events",type:"url",placeholder:"Enter Endpoint"},{name:"auth_token",label:"Auth Token",tooltip:"opaque string or JWT authorization token",type:"string",placeholder:"Enter auth_token"}].concat(b)),(0,r.Z)(o,h,[{name:"nsqd_address",required:!0,label:"NSQD Address",tooltip:"NSQ server address e.g. '127.0.0.1:4150'",type:"address",placeholder:"Enter nsqd_address"},{name:"topic",required:!0,label:"Topic",tooltip:"NSQ topic",type:"string",placeholder:"Enter Topic"},{name:"tls",label:"TLS",tooltip:"set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'trust server TLS without verification, defaults to "on" (verify)',type:"on|off"}].concat(b)),o)},60654:function(e,t,n){var o=n(64119);t.Z=void 0;var r=o(n(66830)),i=n(62559),a=(0,r.default)((0,i.jsx)("circle",{cx:"12",cy:"12",r:"8"}),"FiberManualRecord");t.Z=a},65771:function(e,t,n){n.d(t,{Z:function(){return T}});var o=n(36222),r=n(1048),i=n(32793),a=n(50390),l=n(44977),s=n(50076),c=n(91442),d=n(35477),p=n(14478),u=n(23060),m=n(8208),h=n(10594);function f(e){return(0,h.Z)("MuiInputAdornment",e)}var g,b=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),y=n(15573),v=n(62559),S=["children","className","component","disablePointerEvents","disableTypography","position","variant"],x=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,o.Z)({},"&.".concat(b.positionStart,"&:not(.").concat(b.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),T=a.forwardRef((function(e,t){var n=(0,y.Z)({props:e,name:"MuiInputAdornment"}),o=n.children,m=n.className,h=n.component,b=void 0===h?"div":h,T=n.disablePointerEvents,Z=void 0!==T&&T,k=n.disableTypography,E=void 0!==k&&k,A=n.position,j=n.variant,_=(0,r.Z)(n,S),N=(0,u.Z)()||{},L=j;j&&N.variant,N&&!L&&(L=N.variant);var w=(0,i.Z)({},n,{hiddenLabel:N.hiddenLabel,size:N.size,disablePointerEvents:Z,position:A,variant:L}),C=function(e){var t=e.classes,n=e.disablePointerEvents,o=e.hiddenLabel,r=e.position,i=e.size,a=e.variant,l={root:["root",n&&"disablePointerEvents",r&&"position".concat((0,c.Z)(r)),a,o&&"hiddenLabel",i&&"size".concat((0,c.Z)(i))]};return(0,s.Z)(l,f,t)}(w);return(0,v.jsx)(p.Z.Provider,{value:null,children:(0,v.jsx)(x,(0,i.Z)({as:b,ownerState:w,className:(0,l.Z)(C.root,m),ref:t},_,{children:"string"!==typeof o||E?(0,v.jsxs)(a.Fragment,{children:["start"===A?g||(g=(0,v.jsx)("span",{className:"notranslate",children:"\u200b"})):null,o]}):(0,v.jsx)(d.Z,{color:"text.secondary",children:o})}))})}))},83738:function(e,t,n){function o(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}n.d(t,{Z:function(){return o}})}}]); -//# sourceMappingURL=4298.e6c437dd.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4298],{8235:function(e,t,n){n(50390);var o=n(86509),r=n(4285),i=n(25594),a=n(62559);t.Z=(0,r.Z)((function(e){return(0,o.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,o=e.title,r=e.help;return(0,a.jsx)("div",{className:t.root,children:(0,a.jsxs)(i.ZP,{container:!0,children:[(0,a.jsxs)(i.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,o]}),(0,a.jsx)(i.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},53224:function(e,t,n){var o=n(18489),r=n(83738),i=(n(50390),n(70758)),a=n(62449),l=n(62559),s=["onClick","text","disabled","tooltip","icon"],c=(0,a.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,o=t.color,r=e.palette.primary.main;return"primary"===o&&"contained"===n?r=e.palette.primary.contrastText:"primary"===o&&"outlined"===n?r=e.palette.primary.main:"secondary"===o&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,a=e.text,d=void 0===a?"":a,p=e.disabled,u=void 0!==p&&p,m=e.tooltip,h=e.icon,f=void 0===h?null:h,g=(0,r.Z)(e,s);return(0,l.jsxs)(i.Z,(0,o.Z)((0,o.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:u,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},g),{},{children:[(0,l.jsx)("span",{children:d})," ",f]}))}},11835:function(e,t,n){var o=n(18489),r=n(83738),i=(n(50390),n(86509)),a=n(4285),l=n(62559),s=["classes","children"];t.Z=(0,a.Z)((function(e){return(0,i.Z)({root:{padding:0,margin:0,border:0,backgroundColor:"transparent",textDecoration:"underline",cursor:"pointer",fontSize:"inherit",color:e.palette.info.main,fontFamily:"Lato, sans-serif"}})}))((function(e){var t=e.classes,n=e.children,i=(0,r.Z)(e,s);return(0,l.jsx)("button",(0,o.Z)((0,o.Z)({},i),{},{className:t.root,children:n}))}))},70758:function(e,t,n){var o=n(18489),r=n(36222),i=n(83738),a=(n(50390),n(86509)),l=n(4285),s=n(95467),c=n(94187),d=n(44977),p=n(62559),u=["classes","children","variant","tooltip"];t.Z=(0,l.Z)((function(e){return(0,a.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,a=e.variant,l=void 0===a?"outlined":a,m=e.tooltip,h=(0,i.Z)(e,u),f=(0,p.jsx)(s.Z,(0,o.Z)((0,o.Z)({},h),{},{className:(0,d.Z)(t.root,(0,r.Z)({},t.contained,"contained"===l)),children:n}));return m&&""!==m?(0,p.jsx)(c.Z,{title:m,children:(0,p.jsx)("span",{children:f})}):f}))},25534:function(e,t,n){var o=n(18489),r=(n(50390),n(25594)),i=n(86509),a=n(4285),l=n(72462),s=n(62559);t.Z=(0,a.Z)((function(e){return(0,i.Z)((0,o.Z)({},l.Bw))}))((function(e){var t=e.classes,n=e.className,o=void 0===n?"":n,i=e.children;return(0,s.jsx)("div",{className:t.contentSpacer,children:(0,s.jsx)(r.ZP,{container:!0,children:(0,s.jsx)(r.ZP,{item:!0,xs:12,className:o,children:i})})})}))},23165:function(e,t,n){var o=n(36222),r=n(18489),i=(n(50390),n(65771)),a=n(13336),l=n(12066),s=n(4285),c=n(86509),d=n(72462),p=n(62559);t.Z=(0,s.Z)((function(e){return(0,c.Z)({searchField:(0,r.Z)({},d.qg.searchField),adornment:{}})}))((function(e){var t=e.placeholder,n=void 0===t?"":t,r=e.classes,s=e.onChange,c=e.adornmentPosition,d=void 0===c?"end":c,u=e.overrideClass,m=e.value,h=(0,o.Z)({disableUnderline:!0},"".concat(d,"Adornment"),(0,p.jsx)(i.Z,{position:d,className:r.adornment,children:(0,p.jsx)(a.Z,{})}));return(0,p.jsx)(l.Z,{placeholder:n,className:u||r.searchField,id:"search-resource",label:"",InputProps:h,onChange:function(e){s(e.target.value)},variant:"standard",value:m})}))},66147:function(e,t,n){n.r(t);var o=n(23430),r=n(18489),i=n(50390),a=n(34424),l=n(86509),s=n(4285),c=n(81378),d=n(83310),p=n(25594),u=n(60654),m=n(65433),h=n(14549),f=n(8174),g=n(44149),b=n(72462),y=n(30324),v=n(18221),S=n(24442),x=n(8235),T=n(11835),Z=n(25534),k=n(23165),E=n(53224),A=n(49495),j=n(62559),_={setErrorSnackMessage:g.Ih},N=(0,a.$j)(null,_);t.default=(0,s.Z)((function(e){return(0,l.Z)((0,r.Z)((0,r.Z)((0,r.Z)((0,r.Z)({},b.OR),b.Je),(0,b.Bz)(e.spacing(4))),{},{twHeight:{minHeight:400},tableBlock:(0,r.Z)({},b.VX.tableBlock),rightActionItems:{display:"flex",alignItems:"center","& button":{whiteSpace:"nowrap"}},searchField:(0,r.Z)((0,r.Z)({},b.qg.searchField),{},{maxWidth:380})}))}))(N((function(e){var t=e.classes,n=e.setErrorSnackMessage,r=(0,i.useState)([]),a=(0,o.Z)(r,2),l=a[0],s=a[1],g=(0,i.useState)(""),b=(0,o.Z)(g,2),_=b[0],N=b[1],L=(0,i.useState)(!1),w=(0,o.Z)(L,2),C=w[0],P=w[1];(0,i.useEffect)((function(){if(C){y.Z.invoke("GET","/api/v1/admin/notification_endpoints").then((function(e){var t=[];null!==e.notification_endpoints&&(t=e.notification_endpoints),s((0,m.fk)(t)),P(!1)})).catch((function(e){n(e),P(!1)}))}}),[C,n]),(0,i.useEffect)((function(){P(!0)}),[]);var I=l.filter((function(e){return""===_||e.service_name.indexOf(_)>=0}));return(0,j.jsx)(i.Fragment,{children:(0,j.jsxs)(Z.Z,{children:[(0,j.jsxs)(p.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,j.jsx)(k.Z,{placeholder:"Search target",onChange:N,overrideClass:t.searchField,value:_}),(0,j.jsxs)("div",{className:t.rightActionItems,children:[(0,j.jsx)(E.Z,{tooltip:"Refresh List",text:"Refresh",variant:"outlined",color:"primary",icon:(0,j.jsx)(v.default,{}),onClick:function(){P(!0)}}),(0,j.jsx)(E.Z,{tooltip:"Add Notification Target",text:" Add Notification Target",variant:"contained",color:"primary",icon:(0,j.jsx)(h.dt,{}),onClick:function(){S.Z.push(A.gA.NOTIFICATIONS_ENDPOINTS_ADD)}})]})]}),C&&(0,j.jsx)(c.Z,{}),!C&&(0,j.jsxs)(i.Fragment,{children:[l.length>0&&(0,j.jsxs)(i.Fragment,{children:[(0,j.jsx)(p.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,j.jsx)(f.Z,{itemActions:[],columns:[{label:"Status",elementKey:"status",renderFunction:function(e){return(0,j.jsxs)("div",{style:{display:"flex",alignItems:"center"},children:[(0,j.jsx)(u.Z,{style:"Offline"===e?{color:d.Z[500]}:{}}),e]})},width:150},{label:"Service",elementKey:"service_name"}],isLoading:C,records:I,entityName:"Notification Endpoints",idField:"service_name",customPaperHeight:t.twHeight})}),(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsx)(x.Z,{title:"Notification Endpoints",iconComponent:(0,j.jsx)(h.cC,{}),help:(0,j.jsxs)(i.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"You can learn more at our"," ",(0,j.jsx)("a",{href:"https://docs.min.io/minio/baremetal/monitoring/bucket-notifications/bucket-notifications.html?ref=con",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]}),0===l.length&&(0,j.jsx)(p.ZP,{container:!0,justifyContent:"center",alignContent:"center",alignItems:"center",children:(0,j.jsx)(p.ZP,{item:!0,xs:8,children:(0,j.jsx)(x.Z,{title:"Notification Targets",iconComponent:(0,j.jsx)(h.cC,{}),help:(0,j.jsxs)(i.Fragment,{children:["MinIO bucket notifications allow administrators to send notifications to supported external services on certain object or bucket events. MinIO supports bucket and object-level S3 events similar to the Amazon S3 Event Notifications.",(0,j.jsx)("br",{}),(0,j.jsx)("br",{}),"To get started,"," ",(0,j.jsx)(T.Z,{onClick:function(){S.Z.push(A.gA.NOTIFICATIONS_ENDPOINTS_ADD)},children:"Add a Notification Target"}),"."]})})})})]})]})})})))},65433:function(e,t,n){n.d(t,{ee:function(){return i},dM:function(){return a},fk:function(){return f},BR:function(){return g},DD:function(){return y},oj:function(){return v}});var o,r=n(36222),i="notify_postgres",a="notify_mysql",l="notify_kafka",s="notify_amqp",c="notify_mqtt",d="notify_redis",p="notify_nats",u="notify_elasticsearch",m="notify_webhook",h="notify_nsq",f=function(e){return e.map((function(e){return{service_name:"".concat(e.service,":").concat(e.account_id),status:e.status}}))},g=[{actionTrigger:i,targetTitle:"PostgreSQL",logo:"/postgres-logo.svg"},{actionTrigger:l,targetTitle:"Kafka",logo:"/kafka-logo.svg"},{actionTrigger:s,targetTitle:"AMQP",logo:"/amqp-logo.svg"},{actionTrigger:c,targetTitle:"MQTT",logo:"/mqtt-logo.svg"},{actionTrigger:d,targetTitle:"Redis",logo:"/redis-logo.svg"},{actionTrigger:p,targetTitle:"NATS",logo:"/nats-logo.svg"},{actionTrigger:a,targetTitle:"Mysql",logo:"/mysql-logo.svg"},{actionTrigger:u,targetTitle:"Elastic Search",logo:"/elasticsearch-logo.svg"},{actionTrigger:m,targetTitle:"Webhook",logo:"/webhooks-logo.svg"},{actionTrigger:h,targetTitle:"NSQ",logo:"/nsq-logo.svg"}],b=[{name:"queue-dir",label:"Queue Directory",required:!0,tooltip:"staging dir for undelivered messages e.g. '/home/events'",type:"string",placeholder:"Enter Queue Directory"},{name:"queue-limit",label:"Queue Limit",required:!1,tooltip:"maximum limit for undelivered messages, defaults to '10000'",type:"number",placeholder:"Enter Queue Limit"},{name:"comment",label:"Comment",required:!1,type:"comment",placeholder:"Enter custom notes if any"}],y=function(e){return e.filter((function(e){return""!==e.value}))},v=(o={},(0,r.Z)(o,l,[{name:"brokers",label:"Brokers",required:!0,tooltip:"Comma separated list of Kafka broker addresses",type:"string",placeholder:"Enter Brokers"},{name:"topic",label:"Topic",tooltip:"Kafka topic used for bucket notifications",type:"string",placeholder:"Enter Topic"},{name:"sasl_username",label:"SASL Username",tooltip:"Username for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Username"},{name:"sasl_password",label:"SASL Password",tooltip:"Password for SASL/PLAIN or SASL/SCRAM authentication",type:"string",placeholder:"Enter SASL Password"},{name:"sasl_mechanism",label:"SASL Mechanism",tooltip:"SASL authentication mechanism, default 'PLAIN'",type:"string"},{name:"tls_client_auth",label:"TLS Client Auth",tooltip:"Client Auth determines the Kafka server's policy for TLS client auth",type:"string",placeholder:"Enter TLS Client Auth"},{name:"sasl",label:"SASL",tooltip:"Set to 'on' to enable SASL authentication",type:"on|off"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS skip verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"client_tls_cert",label:"client TLS cert",tooltip:"Path to client certificate for mTLS auth",type:"path",placeholder:"Enter TLS Client Cert"},{name:"client_tls_key",label:"client TLS key",tooltip:"Path to client key for mTLS auth",type:"path",placeholder:"Enter TLS Client Key"},{name:"version",label:"Version",tooltip:"Specify the version of the Kafka cluster e.g '2.2.0'",type:"string",placeholder:"Enter Kafka Version"}].concat(b)),(0,r.Z)(o,s,[{name:"url",required:!0,label:"URL",tooltip:"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`",type:"url"},{name:"exchange",label:"Exchange",tooltip:"Name of the AMQP exchange",type:"string",placeholder:"Enter Exchange"},{name:"exchange_type",label:"Exchange Type",tooltip:"AMQP exchange type",type:"string",placeholder:"Enter Exchange Type"},{name:"routing_key",label:"Routing Key",tooltip:"Routing key for publishing",type:"string",placeholder:"Enter Routing Key"},{name:"mandatory",label:"Mandatory",tooltip:"Quietly ignore undelivered messages when set to 'off', default is 'on'",type:"on|off"},{name:"durable",label:"Durable",tooltip:"Persist queue across broker restarts when set to 'on', default is 'off'",type:"on|off"},{name:"no_wait",label:"No Wait",tooltip:"Non-blocking message delivery when set to 'on', default is 'off'",type:"on|off"},{name:"internal",label:"Internal",tooltip:"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges",type:"on|off"},{name:"auto_deleted",label:"Auto Deleted",tooltip:"Auto delete queue when set to 'on', when there are no consumers",type:"on|off"},{name:"delivery_mode",label:"Delivery Mode",tooltip:"Set to '1' for non-persistent or '2' for persistent queue",type:"number",placeholder:"Enter Delivery Mode"}].concat(b)),(0,r.Z)(o,d,[{name:"address",required:!0,label:"Address",tooltip:"Redis server's address. For example: `localhost:6379`",type:"address",placeholder:"Enter Address"},{name:"key",required:!0,label:"Key",tooltip:"Redis key to store/update events, key is auto-created",type:"string",placeholder:"Enter Key"},{name:"password",label:"Password",tooltip:"Redis server password",type:"string",placeholder:"Enter Password"}].concat(b)),(0,r.Z)(o,c,[{name:"broker",required:!0,label:"Broker",tooltip:"MQTT server endpoint e.g. `tcp://localhost:1883`",type:"uri",placeholder:"Enter Brokers"},{name:"topic",required:!0,label:"Topic",tooltip:"name of the MQTT topic to publish",type:"string",placeholder:"Enter Topic"},{name:"username",label:"Username",tooltip:"MQTT username",type:"string",placeholder:"Enter Username"},{name:"password",label:"Password",tooltip:"MQTT password",type:"string",placeholder:"Enter Password"},{name:"qos",label:"QOS",tooltip:"Set the quality of service priority, defaults to '0'",type:"number",placeholder:"Enter QOS"},{name:"keep_alive_interval",label:"Keep Alive Interval",tooltip:"Keep-alive interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Keep Alive Internal"},{name:"reconnect_interval",label:"Reconnect Interval",tooltip:"Reconnect interval for MQTT connections in s,m,h,d",type:"duration",placeholder:"Enter Reconnect Interval"}].concat(b)),(0,r.Z)(o,p,[{name:"address",required:!0,label:"Address",tooltip:"NATS server address e.g. '0.0.0.0:4222'",type:"address",placeholder:"Enter Address"},{name:"subject",required:!0,label:"Subject",tooltip:"NATS subscription subject",type:"string",placeholder:"Enter NATS Subject"},{name:"username",label:"Username",tooltip:"NATS username",type:"string",placeholder:"Enter NATS Username"},{name:"password",label:"Password",tooltip:"NATS password",type:"string",placeholder:"Enter NATS password"},{name:"token",label:"Token",tooltip:"NATS token",type:"string",placeholder:"Enter NATS token"},{name:"tls",label:"TLS",tooltip:"Set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'Trust server TLS without verification, defaults to "on" (verify)',type:"on|off"},{name:"ping_interval",label:"Ping Interval",tooltip:"Client ping commands interval in s,m,h,d. Disabled by default",type:"duration",placeholder:"Enter Ping Interval"},{name:"streaming",label:"Streaming",tooltip:"Set to 'on', to use streaming NATS server",type:"on|off"},{name:"streaming_async",label:"Streaming async",tooltip:"Set to 'on', to enable asynchronous publish",type:"on|off"},{name:"streaming_max_pub_acks_in_flight",label:"Streaming max publish ACKS in flight",tooltip:"Number of messages to publish without waiting for ACKs",type:"number",placeholder:"Enter Streaming in flight value"},{name:"streaming_cluster_id",label:"Streaming Cluster ID",tooltip:"Unique ID for NATS streaming cluster",type:"string",placeholder:"Enter Streaming Cluster ID"},{name:"cert_authority",label:"Cert Authority",tooltip:"Path to certificate chain of the target NATS server",type:"string",placeholder:"Enter Cert Authority"},{name:"client_cert",label:"Client Cert",tooltip:"Client cert for NATS mTLS auth",type:"string",placeholder:"Enter Client Cert"},{name:"client_key",label:"Client Key",tooltip:"Client cert key for NATS mTLS auth",type:"string",placeholder:"Enter Client Key"}].concat(b)),(0,r.Z)(o,u,[{name:"url",required:!0,label:"URL",tooltip:"Elasticsearch server's address, with optional authentication info",type:"url",placeholder:"Enter URL"},{name:"index",required:!0,label:"Index",tooltip:"Elasticsearch index to store/update events, index is auto-created",type:"string",placeholder:"Enter Index"},{name:"format",required:!0,label:"Format",tooltip:"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'",type:"enum",placeholder:"Enter Format"}].concat(b)),(0,r.Z)(o,m,[{name:"endpoint",required:!0,label:"Endpoint",tooltip:"webhook server endpoint e.g. http://localhost:8080/minio/events",type:"url",placeholder:"Enter Endpoint"},{name:"auth_token",label:"Auth Token",tooltip:"opaque string or JWT authorization token",type:"string",placeholder:"Enter auth_token"}].concat(b)),(0,r.Z)(o,h,[{name:"nsqd_address",required:!0,label:"NSQD Address",tooltip:"NSQ server address e.g. '127.0.0.1:4150'",type:"address",placeholder:"Enter nsqd_address"},{name:"topic",required:!0,label:"Topic",tooltip:"NSQ topic",type:"string",placeholder:"Enter Topic"},{name:"tls",label:"TLS",tooltip:"set to 'on' to enable TLS",type:"on|off"},{name:"tls_skip_verify",label:"TLS Skip Verify",tooltip:'trust server TLS without verification, defaults to "on" (verify)',type:"on|off"}].concat(b)),o)},60654:function(e,t,n){var o=n(64119);t.Z=void 0;var r=o(n(66830)),i=n(62559),a=(0,r.default)((0,i.jsx)("circle",{cx:"12",cy:"12",r:"8"}),"FiberManualRecord");t.Z=a},65771:function(e,t,n){n.d(t,{Z:function(){return T}});var o=n(36222),r=n(1048),i=n(32793),a=n(50390),l=n(44977),s=n(50076),c=n(91442),d=n(35477),p=n(14478),u=n(23060),m=n(8208),h=n(10594);function f(e){return(0,h.Z)("MuiInputAdornment",e)}var g,b=(0,n(43349).Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),y=n(15573),v=n(62559),S=["children","className","component","disablePointerEvents","disableTypography","position","variant"],x=(0,m.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,c.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,i.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,o.Z)({},"&.".concat(b.positionStart,"&:not(.").concat(b.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),T=a.forwardRef((function(e,t){var n=(0,y.Z)({props:e,name:"MuiInputAdornment"}),o=n.children,m=n.className,h=n.component,b=void 0===h?"div":h,T=n.disablePointerEvents,Z=void 0!==T&&T,k=n.disableTypography,E=void 0!==k&&k,A=n.position,j=n.variant,_=(0,r.Z)(n,S),N=(0,u.Z)()||{},L=j;j&&N.variant,N&&!L&&(L=N.variant);var w=(0,i.Z)({},n,{hiddenLabel:N.hiddenLabel,size:N.size,disablePointerEvents:Z,position:A,variant:L}),C=function(e){var t=e.classes,n=e.disablePointerEvents,o=e.hiddenLabel,r=e.position,i=e.size,a=e.variant,l={root:["root",n&&"disablePointerEvents",r&&"position".concat((0,c.Z)(r)),a,o&&"hiddenLabel",i&&"size".concat((0,c.Z)(i))]};return(0,s.Z)(l,f,t)}(w);return(0,v.jsx)(p.Z.Provider,{value:null,children:(0,v.jsx)(x,(0,i.Z)({as:b,ownerState:w,className:(0,l.Z)(C.root,m),ref:t},_,{children:"string"!==typeof o||E?(0,v.jsxs)(a.Fragment,{children:["start"===A?g||(g=(0,v.jsx)("span",{className:"notranslate",children:"\u200b"})):null,o]}):(0,v.jsx)(d.Z,{color:"text.secondary",children:o})}))})}))},83738:function(e,t,n){function o(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}n.d(t,{Z:function(){return o}})}}]); +//# sourceMappingURL=4298.2fa3347c.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4298.e6c437dd.chunk.js.map b/portal-ui/build/static/js/4298.2fa3347c.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4298.e6c437dd.chunk.js.map rename to portal-ui/build/static/js/4298.2fa3347c.chunk.js.map index e7a8a8e41..a3addeb66 100644 --- a/portal-ui/build/static/js/4298.e6c437dd.chunk.js.map +++ b/portal-ui/build/static/js/4298.2fa3347c.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4298.e6c437dd.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx","screens/Console/NotificationEndpoints/utils.ts","../node_modules/@mui/icons-material/FiberManualRecord.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
    \n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport { red } from \"@mui/material/colors\";\nimport Grid from \"@mui/material/Grid\";\nimport FiberManualRecordIcon from \"@mui/icons-material/FiberManualRecord\";\nimport {\n NotificationEndpointItem,\n NotificationEndpointsList,\n TransformedEndpointItem,\n} from \"./types\";\nimport { notificationTransform } from \"./utils\";\nimport { AddIcon, LambdaIcon } from \"../../../icons\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n settingsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport history from \"../../../history\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport AButton from \"../Common/AButton/AButton\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\ninterface IListNotificationEndpoints {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...settingsCommon,\n ...containerForHeader(theme.spacing(4)),\n twHeight: {\n minHeight: 400,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n rightActionItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"& button\": {\n whiteSpace: \"nowrap\",\n },\n },\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst ListNotificationEndpoints = ({\n classes,\n setErrorSnackMessage,\n}: IListNotificationEndpoints) => {\n //Local States\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n\n //Effects\n // load records on mount\n useEffect(() => {\n if (isLoading) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/admin/notification_endpoints`)\n .then((res: NotificationEndpointsList) => {\n let resNotEndList: NotificationEndpointItem[] = [];\n if (res.notification_endpoints !== null) {\n resNotEndList = res.notification_endpoints;\n }\n setRecords(notificationTransform(resNotEndList));\n setIsLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setIsLoading(false);\n });\n };\n fetchRecords();\n }\n }, [isLoading, setErrorSnackMessage]);\n\n useEffect(() => {\n setIsLoading(true);\n }, []);\n\n const filteredRecords = records.filter((b: TransformedEndpointItem) => {\n if (filter === \"\") {\n return true;\n }\n return b.service_name.indexOf(filter) >= 0;\n });\n\n const statusDisplay = (status: string) => {\n return (\n \n \n {status}\n \n );\n };\n\n return (\n \n \n \n \n
    \n }\n onClick={() => {\n setIsLoading(true);\n }}\n />\n\n }\n onClick={() => {\n history.push(IAM_PAGES.NOTIFICATIONS_ENDPOINTS_ADD);\n }}\n />\n
    \n
    \n {isLoading && }\n {!isLoading && (\n \n {records.length > 0 && (\n \n \n \n \n \n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain\n object or bucket events. MinIO supports bucket and\n object-level S3 events similar to the Amazon S3 Event\n Notifications.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n
    \n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain\n object or bucket events. MinIO supports bucket and\n object-level S3 events similar to the Amazon S3 Event\n Notifications.\n
    \n
    \n To get started,{\" \"}\n {\n history.push(IAM_PAGES.NOTIFICATIONS_ENDPOINTS_ADD);\n }}\n >\n Add a Notification Target\n \n .\n
    \n }\n />\n
    \n \n )}\n
    \n )}\n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListNotificationEndpoints));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { NotificationEndpointItem } from \"./types\";\n\nimport { IElementValue } from \"../Configurations/types\";\n\nexport const notifyPostgres = \"notify_postgres\";\nexport const notifyMysql = \"notify_mysql\";\nexport const notifyKafka = \"notify_kafka\";\nexport const notifyAmqp = \"notify_amqp\";\nexport const notifyMqtt = \"notify_mqtt\";\nexport const notifyRedis = \"notify_redis\";\nexport const notifyNats = \"notify_nats\";\nexport const notifyElasticsearch = \"notify_elasticsearch\";\nexport const notifyWebhooks = \"notify_webhook\";\nexport const notifyNsq = \"notify_nsq\";\n\nexport const notificationTransform = (\n notificationElements: NotificationEndpointItem[]\n) => {\n return notificationElements.map((element) => {\n return {\n service_name: `${element.service}:${element.account_id}`,\n status: element.status,\n };\n });\n};\n\nexport const servicesList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: \"/postgres-logo.svg\",\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: \"/kafka-logo.svg\",\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: \"/amqp-logo.svg\",\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: \"/mqtt-logo.svg\",\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: \"/redis-logo.svg\",\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: \"/nats-logo.svg\",\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: \"/mysql-logo.svg\",\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: \"/elasticsearch-logo.svg\",\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: \"/webhooks-logo.svg\",\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: \"/nsq-logo.svg\",\n },\n];\n\nconst commonFields = [\n {\n name: \"queue-dir\",\n label: \"Queue Directory\",\n required: true,\n\n tooltip: \"staging dir for undelivered messages e.g. '/home/events'\",\n type: \"string\",\n placeholder: \"Enter Queue Directory\",\n },\n {\n name: \"queue-limit\",\n label: \"Queue Limit\",\n required: false,\n\n tooltip: \"maximum limit for undelivered messages, defaults to '10000'\",\n type: \"number\",\n placeholder: \"Enter Queue Limit\",\n },\n {\n name: \"comment\",\n label: \"Comment\",\n required: false,\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n];\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const notificationEndpointsFields: any = {\n [notifyKafka]: [\n {\n name: \"brokers\",\n label: \"Brokers\",\n required: true,\n\n tooltip: \"Comma separated list of Kafka broker addresses\",\n type: \"string\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n label: \"Topic\",\n tooltip: \"Kafka topic used for bucket notifications\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"sasl_username\",\n label: \"SASL Username\",\n tooltip: \"Username for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Username\",\n },\n {\n name: \"sasl_password\",\n label: \"SASL Password\",\n tooltip: \"Password for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Password\",\n },\n {\n name: \"sasl_mechanism\",\n label: \"SASL Mechanism\",\n tooltip: \"SASL authentication mechanism, default 'PLAIN'\",\n type: \"string\",\n },\n {\n name: \"tls_client_auth\",\n label: \"TLS Client Auth\",\n tooltip:\n \"Client Auth determines the Kafka server's policy for TLS client auth\",\n type: \"string\",\n placeholder: \"Enter TLS Client Auth\",\n },\n {\n name: \"sasl\",\n label: \"SASL\",\n tooltip: \"Set to 'on' to enable SASL authentication\",\n type: \"on|off\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS skip verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"client_tls_cert\",\n label: \"client TLS cert\",\n tooltip: \"Path to client certificate for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Cert\",\n },\n {\n name: \"client_tls_key\",\n label: \"client TLS key\",\n tooltip: \"Path to client key for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Key\",\n },\n {\n name: \"version\",\n label: \"Version\",\n tooltip: \"Specify the version of the Kafka cluster e.g '2.2.0'\",\n type: \"string\",\n placeholder: \"Enter Kafka Version\",\n },\n ...commonFields,\n ],\n [notifyAmqp]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`\",\n type: \"url\",\n },\n {\n name: \"exchange\",\n label: \"Exchange\",\n tooltip: \"Name of the AMQP exchange\",\n type: \"string\",\n placeholder: \"Enter Exchange\",\n },\n {\n name: \"exchange_type\",\n label: \"Exchange Type\",\n tooltip: \"AMQP exchange type\",\n type: \"string\",\n placeholder: \"Enter Exchange Type\",\n },\n {\n name: \"routing_key\",\n label: \"Routing Key\",\n tooltip: \"Routing key for publishing\",\n type: \"string\",\n placeholder: \"Enter Routing Key\",\n },\n {\n name: \"mandatory\",\n label: \"Mandatory\",\n tooltip:\n \"Quietly ignore undelivered messages when set to 'off', default is 'on'\",\n type: \"on|off\",\n },\n {\n name: \"durable\",\n label: \"Durable\",\n tooltip:\n \"Persist queue across broker restarts when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"no_wait\",\n label: \"No Wait\",\n tooltip:\n \"Non-blocking message delivery when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"internal\",\n label: \"Internal\",\n tooltip:\n \"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges\",\n type: \"on|off\",\n },\n {\n name: \"auto_deleted\",\n label: \"Auto Deleted\",\n tooltip:\n \"Auto delete queue when set to 'on', when there are no consumers\",\n type: \"on|off\",\n },\n {\n name: \"delivery_mode\",\n label: \"Delivery Mode\",\n tooltip: \"Set to '1' for non-persistent or '2' for persistent queue\",\n type: \"number\",\n placeholder: \"Enter Delivery Mode\",\n },\n ...commonFields,\n ],\n [notifyRedis]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"Redis server's address. For example: `localhost:6379`\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"key\",\n required: true,\n label: \"Key\",\n tooltip: \"Redis key to store/update events, key is auto-created\",\n type: \"string\",\n placeholder: \"Enter Key\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"Redis server password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n ...commonFields,\n ],\n [notifyMqtt]: [\n {\n name: \"broker\",\n required: true,\n label: \"Broker\",\n tooltip: \"MQTT server endpoint e.g. `tcp://localhost:1883`\",\n type: \"uri\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"name of the MQTT topic to publish\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"MQTT username\",\n type: \"string\",\n placeholder: \"Enter Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"MQTT password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n {\n name: \"qos\",\n label: \"QOS\",\n tooltip: \"Set the quality of service priority, defaults to '0'\",\n type: \"number\",\n placeholder: \"Enter QOS\",\n },\n {\n name: \"keep_alive_interval\",\n label: \"Keep Alive Interval\",\n tooltip: \"Keep-alive interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Keep Alive Internal\",\n },\n {\n name: \"reconnect_interval\",\n label: \"Reconnect Interval\",\n tooltip: \"Reconnect interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Reconnect Interval\",\n },\n ...commonFields,\n ],\n [notifyNats]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"NATS server address e.g. '0.0.0.0:4222'\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"subject\",\n required: true,\n label: \"Subject\",\n tooltip: \"NATS subscription subject\",\n type: \"string\",\n placeholder: \"Enter NATS Subject\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"NATS username\",\n type: \"string\",\n placeholder: \"Enter NATS Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"NATS password\",\n type: \"string\",\n placeholder: \"Enter NATS password\",\n },\n {\n name: \"token\",\n label: \"Token\",\n tooltip: \"NATS token\",\n type: \"string\",\n placeholder: \"Enter NATS token\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"ping_interval\",\n label: \"Ping Interval\",\n tooltip: \"Client ping commands interval in s,m,h,d. Disabled by default\",\n type: \"duration\",\n placeholder: \"Enter Ping Interval\",\n },\n {\n name: \"streaming\",\n label: \"Streaming\",\n tooltip: \"Set to 'on', to use streaming NATS server\",\n type: \"on|off\",\n },\n {\n name: \"streaming_async\",\n label: \"Streaming async\",\n tooltip: \"Set to 'on', to enable asynchronous publish\",\n type: \"on|off\",\n },\n {\n name: \"streaming_max_pub_acks_in_flight\",\n label: \"Streaming max publish ACKS in flight\",\n tooltip: \"Number of messages to publish without waiting for ACKs\",\n type: \"number\",\n placeholder: \"Enter Streaming in flight value\",\n },\n {\n name: \"streaming_cluster_id\",\n label: \"Streaming Cluster ID\",\n tooltip: \"Unique ID for NATS streaming cluster\",\n type: \"string\",\n placeholder: \"Enter Streaming Cluster ID\",\n },\n {\n name: \"cert_authority\",\n label: \"Cert Authority\",\n tooltip: \"Path to certificate chain of the target NATS server\",\n type: \"string\",\n placeholder: \"Enter Cert Authority\",\n },\n {\n name: \"client_cert\",\n label: \"Client Cert\",\n tooltip: \"Client cert for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_key\",\n label: \"Client Key\",\n tooltip: \"Client cert key for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Key\",\n },\n ...commonFields,\n ],\n [notifyElasticsearch]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"Elasticsearch server's address, with optional authentication info\",\n type: \"url\",\n placeholder: \"Enter URL\",\n },\n {\n name: \"index\",\n required: true,\n label: \"Index\",\n tooltip:\n \"Elasticsearch index to store/update events, index is auto-created\",\n type: \"string\",\n placeholder: \"Enter Index\",\n },\n {\n name: \"format\",\n required: true,\n label: \"Format\",\n tooltip:\n \"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\",\n type: \"enum\",\n placeholder: \"Enter Format\",\n },\n ...commonFields,\n ],\n [notifyWebhooks]: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n tooltip:\n \"webhook server endpoint e.g. http://localhost:8080/minio/events\",\n type: \"url\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n label: \"Auth Token\",\n tooltip: \"opaque string or JWT authorization token\",\n type: \"string\",\n placeholder: \"Enter auth_token\",\n },\n ...commonFields,\n ],\n [notifyNsq]: [\n {\n name: \"nsqd_address\",\n required: true,\n label: \"NSQD Address\",\n tooltip: \"NSQ server address e.g. '127.0.0.1:4150'\",\n type: \"address\",\n placeholder: \"Enter nsqd_address\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"NSQ topic\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n ...commonFields,\n ],\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"8\"\n}), 'FiberManualRecord');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","pageContentStyles","contentSpacer","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","mapDispatchToProps","setErrorSnackMessage","connector","connect","actionsTray","settingsCommon","containerForHeader","spacing","twHeight","minHeight","tableBlock","tableStyles","rightActionItems","whiteSpace","maxWidth","useState","records","setRecords","filter","setFilter","isLoading","setIsLoading","useEffect","api","then","res","resNotEndList","notification_endpoints","notificationTransform","catch","err","filteredRecords","b","service_name","indexOf","Fragment","history","IAM_PAGES","length","itemActions","columns","elementKey","renderFunction","status","style","red","entityName","idField","customPaperHeight","href","rel","justifyContent","alignContent","notifyPostgres","notifyMysql","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationElements","map","element","service","account_id","servicesList","actionTrigger","targetTitle","logo","commonFields","name","required","type","removeEmptyFields","formFields","field","notificationEndpointsFields","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","cx","cy","r","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","action","active","inputAdornmentClasses","marginTop","pointerEvents","React","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4298.2fa3347c.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/AButton/AButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/SearchBox.tsx","screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx","screens/Console/NotificationEndpoints/utils.ts","../node_modules/@mui/icons-material/FiberManualRecord.js","../node_modules/@mui/material/InputAdornment/inputAdornmentClasses.js","../node_modules/@mui/material/InputAdornment/InputAdornment.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/babel-preset-react-app/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
    \n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButtonProps } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 0,\n margin: 0,\n border: 0,\n backgroundColor: \"transparent\",\n textDecoration: \"underline\",\n cursor: \"pointer\",\n fontSize: \"inherit\",\n color: theme.palette.info.main,\n fontFamily: \"Lato, sans-serif\",\n },\n });\n\ninterface IAButton extends IconButtonProps {\n classes: any;\n children: any;\n}\n\nconst AButton = ({ classes, children, ...rest }: IAButton) => {\n return (\n \n );\n};\n\nexport default withStyles(styles)(AButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport InputAdornment from \"@mui/material/InputAdornment\";\nimport SearchIcon from \"../../../icons/SearchIcon\";\nimport TextField from \"@mui/material/TextField\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport { searchField } from \"./FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n searchField: {\n ...searchField.searchField,\n },\n adornment: {},\n });\n\ntype SearchBoxProps = {\n placeholder?: string;\n value: string;\n classes: any;\n onChange: (value: string) => void;\n adornmentPosition?: \"start\" | \"end\";\n overrideClass?: any;\n};\n\nconst SearchBox = ({\n placeholder = \"\",\n classes,\n onChange,\n adornmentPosition = \"end\",\n overrideClass,\n value,\n}: SearchBoxProps) => {\n const inputProps = {\n disableUnderline: true,\n [`${adornmentPosition}Adornment`]: (\n \n \n \n ),\n };\n return (\n {\n onChange(e.target.value);\n }}\n variant=\"standard\"\n value={value}\n />\n );\n};\n\nexport default withStyles(styles)(SearchBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport { red } from \"@mui/material/colors\";\nimport Grid from \"@mui/material/Grid\";\nimport FiberManualRecordIcon from \"@mui/icons-material/FiberManualRecord\";\nimport {\n NotificationEndpointItem,\n NotificationEndpointsList,\n TransformedEndpointItem,\n} from \"./types\";\nimport { notificationTransform } from \"./utils\";\nimport { AddIcon, LambdaIcon } from \"../../../icons\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n settingsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport RefreshIcon from \"../../../icons/RefreshIcon\";\nimport history from \"../../../history\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport AButton from \"../Common/AButton/AButton\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport SearchBox from \"../Common/SearchBox\";\nimport RBIconButton from \"../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport { IAM_PAGES } from \"../../../common/SecureComponent/permissions\";\n\ninterface IListNotificationEndpoints {\n classes: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...actionsTray,\n ...settingsCommon,\n ...containerForHeader(theme.spacing(4)),\n twHeight: {\n minHeight: 400,\n },\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n rightActionItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"& button\": {\n whiteSpace: \"nowrap\",\n },\n },\n searchField: {\n ...searchField.searchField,\n maxWidth: 380,\n },\n });\n\nconst ListNotificationEndpoints = ({\n classes,\n setErrorSnackMessage,\n}: IListNotificationEndpoints) => {\n //Local States\n const [records, setRecords] = useState([]);\n const [filter, setFilter] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n\n //Effects\n // load records on mount\n useEffect(() => {\n if (isLoading) {\n const fetchRecords = () => {\n api\n .invoke(\"GET\", `/api/v1/admin/notification_endpoints`)\n .then((res: NotificationEndpointsList) => {\n let resNotEndList: NotificationEndpointItem[] = [];\n if (res.notification_endpoints !== null) {\n resNotEndList = res.notification_endpoints;\n }\n setRecords(notificationTransform(resNotEndList));\n setIsLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setIsLoading(false);\n });\n };\n fetchRecords();\n }\n }, [isLoading, setErrorSnackMessage]);\n\n useEffect(() => {\n setIsLoading(true);\n }, []);\n\n const filteredRecords = records.filter((b: TransformedEndpointItem) => {\n if (filter === \"\") {\n return true;\n }\n return b.service_name.indexOf(filter) >= 0;\n });\n\n const statusDisplay = (status: string) => {\n return (\n \n \n {status}\n \n );\n };\n\n return (\n \n \n \n \n
    \n }\n onClick={() => {\n setIsLoading(true);\n }}\n />\n\n }\n onClick={() => {\n history.push(IAM_PAGES.NOTIFICATIONS_ENDPOINTS_ADD);\n }}\n />\n
    \n
    \n {isLoading && }\n {!isLoading && (\n \n {records.length > 0 && (\n \n \n \n \n \n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain\n object or bucket events. MinIO supports bucket and\n object-level S3 events similar to the Amazon S3 Event\n Notifications.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n
    \n )}\n {records.length === 0 && (\n \n \n }\n help={\n \n MinIO bucket notifications allow administrators to send\n notifications to supported external services on certain\n object or bucket events. MinIO supports bucket and\n object-level S3 events similar to the Amazon S3 Event\n Notifications.\n
    \n
    \n To get started,{\" \"}\n {\n history.push(IAM_PAGES.NOTIFICATIONS_ENDPOINTS_ADD);\n }}\n >\n Add a Notification Target\n \n .\n
    \n }\n />\n
    \n \n )}\n
    \n )}\n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(ListNotificationEndpoints));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { NotificationEndpointItem } from \"./types\";\n\nimport { IElementValue } from \"../Configurations/types\";\n\nexport const notifyPostgres = \"notify_postgres\";\nexport const notifyMysql = \"notify_mysql\";\nexport const notifyKafka = \"notify_kafka\";\nexport const notifyAmqp = \"notify_amqp\";\nexport const notifyMqtt = \"notify_mqtt\";\nexport const notifyRedis = \"notify_redis\";\nexport const notifyNats = \"notify_nats\";\nexport const notifyElasticsearch = \"notify_elasticsearch\";\nexport const notifyWebhooks = \"notify_webhook\";\nexport const notifyNsq = \"notify_nsq\";\n\nexport const notificationTransform = (\n notificationElements: NotificationEndpointItem[]\n) => {\n return notificationElements.map((element) => {\n return {\n service_name: `${element.service}:${element.account_id}`,\n status: element.status,\n };\n });\n};\n\nexport const servicesList = [\n {\n actionTrigger: notifyPostgres,\n targetTitle: \"PostgreSQL\",\n logo: \"/postgres-logo.svg\",\n },\n {\n actionTrigger: notifyKafka,\n targetTitle: \"Kafka\",\n logo: \"/kafka-logo.svg\",\n },\n {\n actionTrigger: notifyAmqp,\n targetTitle: \"AMQP\",\n logo: \"/amqp-logo.svg\",\n },\n {\n actionTrigger: notifyMqtt,\n targetTitle: \"MQTT\",\n logo: \"/mqtt-logo.svg\",\n },\n {\n actionTrigger: notifyRedis,\n targetTitle: \"Redis\",\n logo: \"/redis-logo.svg\",\n },\n {\n actionTrigger: notifyNats,\n targetTitle: \"NATS\",\n logo: \"/nats-logo.svg\",\n },\n {\n actionTrigger: notifyMysql,\n targetTitle: \"Mysql\",\n logo: \"/mysql-logo.svg\",\n },\n {\n actionTrigger: notifyElasticsearch,\n targetTitle: \"Elastic Search\",\n logo: \"/elasticsearch-logo.svg\",\n },\n {\n actionTrigger: notifyWebhooks,\n targetTitle: \"Webhook\",\n logo: \"/webhooks-logo.svg\",\n },\n {\n actionTrigger: notifyNsq,\n targetTitle: \"NSQ\",\n logo: \"/nsq-logo.svg\",\n },\n];\n\nconst commonFields = [\n {\n name: \"queue-dir\",\n label: \"Queue Directory\",\n required: true,\n\n tooltip: \"staging dir for undelivered messages e.g. '/home/events'\",\n type: \"string\",\n placeholder: \"Enter Queue Directory\",\n },\n {\n name: \"queue-limit\",\n label: \"Queue Limit\",\n required: false,\n\n tooltip: \"maximum limit for undelivered messages, defaults to '10000'\",\n type: \"number\",\n placeholder: \"Enter Queue Limit\",\n },\n {\n name: \"comment\",\n label: \"Comment\",\n required: false,\n type: \"comment\",\n placeholder: \"Enter custom notes if any\",\n },\n];\n\nexport const removeEmptyFields = (formFields: IElementValue[]) => {\n const nonEmptyFields = formFields.filter((field) => field.value !== \"\");\n\n return nonEmptyFields;\n};\n\nexport const notificationEndpointsFields: any = {\n [notifyKafka]: [\n {\n name: \"brokers\",\n label: \"Brokers\",\n required: true,\n\n tooltip: \"Comma separated list of Kafka broker addresses\",\n type: \"string\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n label: \"Topic\",\n tooltip: \"Kafka topic used for bucket notifications\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"sasl_username\",\n label: \"SASL Username\",\n tooltip: \"Username for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Username\",\n },\n {\n name: \"sasl_password\",\n label: \"SASL Password\",\n tooltip: \"Password for SASL/PLAIN or SASL/SCRAM authentication\",\n type: \"string\",\n placeholder: \"Enter SASL Password\",\n },\n {\n name: \"sasl_mechanism\",\n label: \"SASL Mechanism\",\n tooltip: \"SASL authentication mechanism, default 'PLAIN'\",\n type: \"string\",\n },\n {\n name: \"tls_client_auth\",\n label: \"TLS Client Auth\",\n tooltip:\n \"Client Auth determines the Kafka server's policy for TLS client auth\",\n type: \"string\",\n placeholder: \"Enter TLS Client Auth\",\n },\n {\n name: \"sasl\",\n label: \"SASL\",\n tooltip: \"Set to 'on' to enable SASL authentication\",\n type: \"on|off\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS skip verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"client_tls_cert\",\n label: \"client TLS cert\",\n tooltip: \"Path to client certificate for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Cert\",\n },\n {\n name: \"client_tls_key\",\n label: \"client TLS key\",\n tooltip: \"Path to client key for mTLS auth\",\n type: \"path\",\n placeholder: \"Enter TLS Client Key\",\n },\n {\n name: \"version\",\n label: \"Version\",\n tooltip: \"Specify the version of the Kafka cluster e.g '2.2.0'\",\n type: \"string\",\n placeholder: \"Enter Kafka Version\",\n },\n ...commonFields,\n ],\n [notifyAmqp]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"AMQP server endpoint e.g. `amqp://myuser:mypassword@localhost:5672`\",\n type: \"url\",\n },\n {\n name: \"exchange\",\n label: \"Exchange\",\n tooltip: \"Name of the AMQP exchange\",\n type: \"string\",\n placeholder: \"Enter Exchange\",\n },\n {\n name: \"exchange_type\",\n label: \"Exchange Type\",\n tooltip: \"AMQP exchange type\",\n type: \"string\",\n placeholder: \"Enter Exchange Type\",\n },\n {\n name: \"routing_key\",\n label: \"Routing Key\",\n tooltip: \"Routing key for publishing\",\n type: \"string\",\n placeholder: \"Enter Routing Key\",\n },\n {\n name: \"mandatory\",\n label: \"Mandatory\",\n tooltip:\n \"Quietly ignore undelivered messages when set to 'off', default is 'on'\",\n type: \"on|off\",\n },\n {\n name: \"durable\",\n label: \"Durable\",\n tooltip:\n \"Persist queue across broker restarts when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"no_wait\",\n label: \"No Wait\",\n tooltip:\n \"Non-blocking message delivery when set to 'on', default is 'off'\",\n type: \"on|off\",\n },\n {\n name: \"internal\",\n label: \"Internal\",\n tooltip:\n \"Set to 'on' for exchange to be not used directly by publishers, but only when bound to other exchanges\",\n type: \"on|off\",\n },\n {\n name: \"auto_deleted\",\n label: \"Auto Deleted\",\n tooltip:\n \"Auto delete queue when set to 'on', when there are no consumers\",\n type: \"on|off\",\n },\n {\n name: \"delivery_mode\",\n label: \"Delivery Mode\",\n tooltip: \"Set to '1' for non-persistent or '2' for persistent queue\",\n type: \"number\",\n placeholder: \"Enter Delivery Mode\",\n },\n ...commonFields,\n ],\n [notifyRedis]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"Redis server's address. For example: `localhost:6379`\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"key\",\n required: true,\n label: \"Key\",\n tooltip: \"Redis key to store/update events, key is auto-created\",\n type: \"string\",\n placeholder: \"Enter Key\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"Redis server password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n ...commonFields,\n ],\n [notifyMqtt]: [\n {\n name: \"broker\",\n required: true,\n label: \"Broker\",\n tooltip: \"MQTT server endpoint e.g. `tcp://localhost:1883`\",\n type: \"uri\",\n placeholder: \"Enter Brokers\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"name of the MQTT topic to publish\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"MQTT username\",\n type: \"string\",\n placeholder: \"Enter Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"MQTT password\",\n type: \"string\",\n placeholder: \"Enter Password\",\n },\n {\n name: \"qos\",\n label: \"QOS\",\n tooltip: \"Set the quality of service priority, defaults to '0'\",\n type: \"number\",\n placeholder: \"Enter QOS\",\n },\n {\n name: \"keep_alive_interval\",\n label: \"Keep Alive Interval\",\n tooltip: \"Keep-alive interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Keep Alive Internal\",\n },\n {\n name: \"reconnect_interval\",\n label: \"Reconnect Interval\",\n tooltip: \"Reconnect interval for MQTT connections in s,m,h,d\",\n type: \"duration\",\n placeholder: \"Enter Reconnect Interval\",\n },\n ...commonFields,\n ],\n [notifyNats]: [\n {\n name: \"address\",\n required: true,\n label: \"Address\",\n tooltip: \"NATS server address e.g. '0.0.0.0:4222'\",\n type: \"address\",\n placeholder: \"Enter Address\",\n },\n {\n name: \"subject\",\n required: true,\n label: \"Subject\",\n tooltip: \"NATS subscription subject\",\n type: \"string\",\n placeholder: \"Enter NATS Subject\",\n },\n {\n name: \"username\",\n label: \"Username\",\n tooltip: \"NATS username\",\n type: \"string\",\n placeholder: \"Enter NATS Username\",\n },\n {\n name: \"password\",\n label: \"Password\",\n tooltip: \"NATS password\",\n type: \"string\",\n placeholder: \"Enter NATS password\",\n },\n {\n name: \"token\",\n label: \"Token\",\n tooltip: \"NATS token\",\n type: \"string\",\n placeholder: \"Enter NATS token\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"Set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'Trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n {\n name: \"ping_interval\",\n label: \"Ping Interval\",\n tooltip: \"Client ping commands interval in s,m,h,d. Disabled by default\",\n type: \"duration\",\n placeholder: \"Enter Ping Interval\",\n },\n {\n name: \"streaming\",\n label: \"Streaming\",\n tooltip: \"Set to 'on', to use streaming NATS server\",\n type: \"on|off\",\n },\n {\n name: \"streaming_async\",\n label: \"Streaming async\",\n tooltip: \"Set to 'on', to enable asynchronous publish\",\n type: \"on|off\",\n },\n {\n name: \"streaming_max_pub_acks_in_flight\",\n label: \"Streaming max publish ACKS in flight\",\n tooltip: \"Number of messages to publish without waiting for ACKs\",\n type: \"number\",\n placeholder: \"Enter Streaming in flight value\",\n },\n {\n name: \"streaming_cluster_id\",\n label: \"Streaming Cluster ID\",\n tooltip: \"Unique ID for NATS streaming cluster\",\n type: \"string\",\n placeholder: \"Enter Streaming Cluster ID\",\n },\n {\n name: \"cert_authority\",\n label: \"Cert Authority\",\n tooltip: \"Path to certificate chain of the target NATS server\",\n type: \"string\",\n placeholder: \"Enter Cert Authority\",\n },\n {\n name: \"client_cert\",\n label: \"Client Cert\",\n tooltip: \"Client cert for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Cert\",\n },\n {\n name: \"client_key\",\n label: \"Client Key\",\n tooltip: \"Client cert key for NATS mTLS auth\",\n type: \"string\",\n placeholder: \"Enter Client Key\",\n },\n ...commonFields,\n ],\n [notifyElasticsearch]: [\n {\n name: \"url\",\n required: true,\n label: \"URL\",\n tooltip:\n \"Elasticsearch server's address, with optional authentication info\",\n type: \"url\",\n placeholder: \"Enter URL\",\n },\n {\n name: \"index\",\n required: true,\n label: \"Index\",\n tooltip:\n \"Elasticsearch index to store/update events, index is auto-created\",\n type: \"string\",\n placeholder: \"Enter Index\",\n },\n {\n name: \"format\",\n required: true,\n label: \"Format\",\n tooltip:\n \"'namespace' reflects current bucket/object list and 'access' reflects a journal of object operations, defaults to 'namespace'\",\n type: \"enum\",\n placeholder: \"Enter Format\",\n },\n ...commonFields,\n ],\n [notifyWebhooks]: [\n {\n name: \"endpoint\",\n required: true,\n label: \"Endpoint\",\n tooltip:\n \"webhook server endpoint e.g. http://localhost:8080/minio/events\",\n type: \"url\",\n placeholder: \"Enter Endpoint\",\n },\n {\n name: \"auth_token\",\n label: \"Auth Token\",\n tooltip: \"opaque string or JWT authorization token\",\n type: \"string\",\n placeholder: \"Enter auth_token\",\n },\n ...commonFields,\n ],\n [notifyNsq]: [\n {\n name: \"nsqd_address\",\n required: true,\n label: \"NSQD Address\",\n tooltip: \"NSQ server address e.g. '127.0.0.1:4150'\",\n type: \"address\",\n placeholder: \"Enter nsqd_address\",\n },\n {\n name: \"topic\",\n required: true,\n label: \"Topic\",\n tooltip: \"NSQ topic\",\n type: \"string\",\n placeholder: \"Enter Topic\",\n },\n {\n name: \"tls\",\n label: \"TLS\",\n tooltip: \"set to 'on' to enable TLS\",\n type: \"on|off\",\n },\n {\n name: \"tls_skip_verify\",\n label: \"TLS Skip Verify\",\n tooltip:\n 'trust server TLS without verification, defaults to \"on\" (verify)',\n type: \"on|off\",\n },\n ...commonFields,\n ],\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"8\"\n}), 'FiberManualRecord');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getInputAdornmentUtilityClass(slot) {\n return generateUtilityClass('MuiInputAdornment', slot);\n}\nconst inputAdornmentClasses = generateUtilityClasses('MuiInputAdornment', ['root', 'filled', 'standard', 'outlined', 'positionStart', 'positionEnd', 'disablePointerEvents', 'hiddenLabel', 'sizeSmall']);\nexport default inputAdornmentClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n\nvar _span;\n\nconst _excluded = [\"children\", \"className\", \"component\", \"disablePointerEvents\", \"disableTypography\", \"position\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport capitalize from '../utils/capitalize';\nimport Typography from '../Typography';\nimport FormControlContext from '../FormControl/FormControlContext';\nimport useFormControl from '../FormControl/useFormControl';\nimport styled from '../styles/styled';\nimport inputAdornmentClasses, { getInputAdornmentUtilityClass } from './inputAdornmentClasses';\nimport useThemeProps from '../styles/useThemeProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], ownerState.disablePointerEvents === true && styles.disablePointerEvents, styles[ownerState.variant]];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePointerEvents,\n hiddenLabel,\n position,\n size,\n variant\n } = ownerState;\n const slots = {\n root: ['root', disablePointerEvents && 'disablePointerEvents', position && `position${capitalize(position)}`, variant, hiddenLabel && 'hiddenLabel', size && `size${capitalize(size)}`]\n };\n return composeClasses(slots, getInputAdornmentUtilityClass, classes);\n};\n\nconst InputAdornmentRoot = styled('div', {\n name: 'MuiInputAdornment',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({\n display: 'flex',\n height: '0.01em',\n // Fix IE11 flexbox alignment. To remove at some point.\n maxHeight: '2em',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n color: theme.palette.action.active\n}, ownerState.variant === 'filled' && {\n // Styles applied to the root element if `variant=\"filled\"`.\n [`&.${inputAdornmentClasses.positionStart}&:not(.${inputAdornmentClasses.hiddenLabel})`]: {\n marginTop: 16\n }\n}, ownerState.position === 'start' && {\n // Styles applied to the root element if `position=\"start\"`.\n marginRight: 8\n}, ownerState.position === 'end' && {\n // Styles applied to the root element if `position=\"end\"`.\n marginLeft: 8\n}, ownerState.disablePointerEvents === true && {\n // Styles applied to the root element if `disablePointerEvents={true}`.\n pointerEvents: 'none'\n}));\nconst InputAdornment = /*#__PURE__*/React.forwardRef(function InputAdornment(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiInputAdornment'\n });\n\n const {\n children,\n className,\n component = 'div',\n disablePointerEvents = false,\n disableTypography = false,\n position,\n variant: variantProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const muiFormControl = useFormControl() || {};\n let variant = variantProp;\n\n if (variantProp && muiFormControl.variant) {\n if (process.env.NODE_ENV !== 'production') {\n if (variantProp === muiFormControl.variant) {\n console.error('MUI: The `InputAdornment` variant infers the variant prop ' + 'you do not have to provide one.');\n }\n }\n }\n\n if (muiFormControl && !variant) {\n variant = muiFormControl.variant;\n }\n\n const ownerState = _extends({}, props, {\n hiddenLabel: muiFormControl.hiddenLabel,\n size: muiFormControl.size,\n disablePointerEvents,\n position,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormControlContext.Provider, {\n value: null,\n children: /*#__PURE__*/_jsx(InputAdornmentRoot, _extends({\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref\n }, other, {\n children: typeof children === 'string' && !disableTypography ? /*#__PURE__*/_jsx(Typography, {\n color: \"text.secondary\",\n children: children\n }) : /*#__PURE__*/_jsxs(React.Fragment, {\n children: [position === 'start' ?\n /* notranslate needed while Google Translate will not fix zero-width space issue */\n _span || (_span = /*#__PURE__*/_jsx(\"span\", {\n className: \"notranslate\",\n children: \"\\u200B\"\n })) : null, children]\n })\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? InputAdornment.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally an `IconButton` or string.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Disable pointer events on the root.\n * This allows for the content of the adornment to focus the `input` on click.\n * @default false\n */\n disablePointerEvents: PropTypes.bool,\n\n /**\n * If children is a string then disable wrapping in a Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n\n /**\n * The position this adornment should appear relative to the `Input`.\n */\n position: PropTypes.oneOf(['end', 'start']).isRequired,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The variant to use.\n * Note: If you are using the `TextField` component or the `FormControl` component\n * you do not have to set this manually.\n */\n variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])\n} : void 0;\nexport default InputAdornment;","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","margin","textDecoration","cursor","info","fontFamily","children","rest","borderWidth","borderStyle","opacity","contained","background","dark","light","button","clsx","pageContentStyles","contentSpacer","searchField","adornment","placeholder","onChange","adornmentPosition","overrideClass","value","inputProps","disableUnderline","position","id","label","InputProps","e","target","mapDispatchToProps","setErrorSnackMessage","connector","connect","actionsTray","settingsCommon","containerForHeader","spacing","twHeight","minHeight","tableBlock","tableStyles","rightActionItems","whiteSpace","maxWidth","useState","records","setRecords","filter","setFilter","isLoading","setIsLoading","useEffect","api","then","res","resNotEndList","notification_endpoints","notificationTransform","catch","err","filteredRecords","b","service_name","indexOf","Fragment","history","IAM_PAGES","length","itemActions","columns","elementKey","renderFunction","status","style","red","entityName","idField","customPaperHeight","href","rel","justifyContent","alignContent","notifyPostgres","notifyMysql","notifyKafka","notifyAmqp","notifyMqtt","notifyRedis","notifyNats","notifyElasticsearch","notifyWebhooks","notifyNsq","notificationElements","map","element","service","account_id","servicesList","actionTrigger","targetTitle","logo","commonFields","name","required","type","removeEmptyFields","formFields","field","notificationEndpointsFields","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","cx","cy","r","getInputAdornmentUtilityClass","slot","generateUtilityClass","_span","generateUtilityClasses","_excluded","InputAdornmentRoot","styled","overridesResolver","styles","ownerState","capitalize","disablePointerEvents","_extends","maxHeight","action","active","inputAdornmentClasses","marginTop","pointerEvents","React","inProps","ref","useThemeProps","component","disableTypography","variantProp","other","_objectWithoutPropertiesLoose","muiFormControl","useFormControl","hiddenLabel","slots","composeClasses","useUtilityClasses","_jsx","FormControlContext","as","_jsxs","Typography","_objectWithoutProperties","source","excluded","key","i","sourceKeys","Object","keys","getOwnPropertySymbols","sourceSymbolKeys","prototype","propertyIsEnumerable","call"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4487.8cae9359.chunk.js b/portal-ui/build/static/js/4487.8631b03a.chunk.js similarity index 59% rename from portal-ui/build/static/js/4487.8cae9359.chunk.js rename to portal-ui/build/static/js/4487.8631b03a.chunk.js index f951957e1..3e37314d4 100644 --- a/portal-ui/build/static/js/4487.8cae9359.chunk.js +++ b/portal-ui/build/static/js/4487.8631b03a.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4487],{77926:function(e,n,a){a.r(n),a.d(n,{default:function(){return B}});var t=a(23430),i=a(18489),o=a(50390),l=a(34424),s=a(25594),r=a(66946),c=a(86509),d=a(4285),u=a(30324),p=a(77555),m=a(29399),v=a(73481),x=a(35044),Z=a(74268),f=a(4182),h=a(72462),j=a(44149),b=a(51002),g=a(66964),C=a(12066),N=a(36554),k=a(94187),M=a(47554),S=a(62449),y=a(10728),P=a(97538),w=a(62559),E=(0,S.Z)((function(e){return(0,c.Z)((0,i.Z)({},h.gM))}));function F(e){var n=E();return(0,w.jsx)(C.Z,(0,i.Z)({InputProps:{classes:n}},e))}var T=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr))}))((function(e){var n=e.classes,a=e.id,l=e.name,r=e.onChange,c=e.options,d=e.label,u=e.tooltip,p=void 0===u?"":u,m=e.value,v=e.disabled,x=void 0!==v&&v,Z=(0,o.useState)(c[0]),f=(0,t.Z)(Z,2),h=f[0],j=f[1];return(0,w.jsx)(o.Fragment,{children:(0,w.jsxs)(s.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==d&&(0,w.jsxs)(N.Z,{htmlFor:a,className:n.inputLabel,children:[(0,w.jsx)("span",{children:d}),""!==p&&(0,w.jsx)("div",{className:n.tooltipContainer,children:(0,w.jsx)(k.Z,{title:p,placement:"top-start",children:(0,w.jsx)("div",{className:n.tooltip,children:(0,w.jsx)(P.Z,{})})})})]}),(0,w.jsx)(M.Z,{fullWidth:!0,children:(0,w.jsx)(y.Z,{id:a,options:c,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===m},disabled:x,renderInput:function(e){return(0,w.jsx)(F,(0,i.Z)((0,i.Z)({},e),{},{name:l}))},value:h,onChange:function(e,n){n&&(r(n.value),j(n))},autoHighlight:!0})})]})})})),I=a(86362),R=(0,l.$j)(null,{setModalErrorSnackMessage:j.zb}),B=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({arnField:{"& div div .MuiOutlinedInput-root":{padding:0}}},h.DF),h.ID))}))(R((function(e){var n=e.classes,a=e.open,i=e.selectedBucket,l=e.closeModalAndRefresh,c=e.setModalErrorSnackMessage,d=(0,o.useState)(!1),h=(0,t.Z)(d,2),j=h[0],C=h[1],N=(0,o.useState)(""),k=(0,t.Z)(N,2),M=k[0],S=k[1],y=(0,o.useState)(""),P=(0,t.Z)(y,2),E=P[0],F=P[1],R=(0,o.useState)(""),B=(0,t.Z)(R,2),L=B[0],O=B[1],H=(0,o.useState)([]),W=(0,t.Z)(H,2),D=W[0],z=W[1],A=(0,o.useState)([]),G=(0,t.Z)(A,2),K=G[0],Y=G[1],q=(0,o.useCallback)((function(){C(!0),u.Z.invoke("GET","/api/v1/admin/arns").then((function(e){var n=[];null!==e.arns&&(n=e.arns),C(!1),Y(n)})).catch((function(e){C(!1),c(e)}))}),[c]);(0,o.useEffect)((function(){q()}),[q]);var U=function(e,n){var a=D.indexOf(n),t=[];-1===a?t=t.concat(D,n):0===a?t=t.concat(D.slice(1)):a===D.length-1?t=t.concat(D.slice(0,-1)):a>0&&(t=t.concat(D.slice(0,a),D.slice(a+1))),z(t)},V=K.map((function(e){return{label:e,value:e}}));return(0,w.jsx)(b.Z,{modalOpen:a,onClose:function(){l()},title:"Subscribe To Bucket Events",titleIcon:(0,w.jsx)(I.c3,{}),children:(0,w.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),j||(C(!0),u.Z.invoke("POST","/api/v1/buckets/".concat(i,"/events"),{configuration:{arn:L,events:D,prefix:M,suffix:E},ignoreExisting:!0}).then((function(){C(!1),l()})).catch((function(e){C(!1),c(e)})))},children:(0,w.jsxs)(s.ZP,{container:!0,children:[(0,w.jsxs)(s.ZP,{item:!0,xs:12,className:n.formScrollable,children:[(0,w.jsx)(s.ZP,{item:!0,xs:12,className:"".concat(n.arnField," ").concat(n.formFieldRow),children:(0,w.jsx)(T,{onChange:function(e){O(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:L,options:V})}),(0,w.jsx)(s.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsx)(g.Z,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:M,onChange:function(e){S(e.target.value)}})}),(0,w.jsx)(s.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsx)(g.Z,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:E,onChange:function(e){F(e.target.value)}})}),(0,w.jsx)(s.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsxs)(f.Z,{size:"medium",children:[(0,w.jsx)(p.Z,{className:n.minTableHeader,children:(0,w.jsxs)(m.Z,{children:[(0,w.jsx)(v.Z,{children:"Select"}),(0,w.jsx)(v.Z,{children:"Event"})]})}),(0,w.jsx)(x.Z,{children:[{label:"PUT - Object Uploaded",value:"put"},{label:"GET - Object accessed",value:"get"},{label:"DELETE - Object Deleted",value:"delete"}].map((function(e){return(0,w.jsxs)(m.Z,{onClick:function(n){return U(0,e.value)},children:[(0,w.jsx)(v.Z,{padding:"checkbox",children:(0,w.jsx)(Z.Z,{value:e.value,color:"primary",inputProps:{"aria-label":"secondary checkbox"},onChange:function(n){return U(0,e.value)},checked:D.includes(e.value)})}),(0,w.jsx)(v.Z,{className:n.wrapCell,children:e.label})]},"group-".concat(e.value))}))})]})})]}),(0,w.jsxs)(s.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,w.jsx)(r.Z,{type:"button",variant:"outlined",color:"primary",disabled:j,onClick:function(){l()},children:"Cancel"}),(0,w.jsx)(r.Z,{type:"submit",variant:"contained",color:"primary",disabled:j,children:"Save"})]})]})})})})))},66964:function(e,n,a){var t=a(18489),i=a(50390),o=a(12066),l=a(25594),s=a(36554),r=a(94187),c=a(95467),d=a(86509),u=a(62449),p=a(4285),m=a(72462),v=a(97538),x=a(44977),Z=a(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},m.gM))}));function h(e){var n=f();return(0,Z.jsx)(o.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,a=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,f=e.autoComplete,j=void 0===f?"off":f,b=e.disabled,g=void 0!==b&&b,C=e.multiline,N=void 0!==C&&C,k=e.tooltip,M=void 0===k?"":k,S=e.index,y=void 0===S?0:S,P=e.error,w=void 0===P?"":P,E=e.required,F=void 0!==E&&E,T=e.placeholder,I=void 0===T?"":T,R=e.min,B=e.max,L=e.overlayId,O=e.overlayIcon,H=void 0===O?null:O,W=e.overlayObject,D=void 0===W?null:W,z=e.extraInputProps,A=void 0===z?{}:z,G=e.overlayAction,K=e.noLabelMinWidth,Y=void 0!==K&&K,q=e.pattern,U=void 0===q?"":q,V=e.autoFocus,$=void 0!==V&&V,_=e.classes,Q=e.className,J=void 0===Q?"":Q,X=e.onKeyPress,ee=(0,t.Z)({"data-index":y},A);return"number"===m&&R&&(ee.min=R),"number"===m&&B&&(ee.max=B),""!==U&&(ee.pattern=U),(0,Z.jsx)(i.Fragment,{children:(0,Z.jsxs)(l.ZP,{container:!0,className:(0,x.Z)(""!==J?J:"",""!==w?_.errorInField:_.inputBoxContainer),children:[""!==n&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:Y?_.noMinWidthLabel:_.inputLabel,children:[(0,Z.jsxs)("span",{children:[n,F?"*":""]}),""!==M&&(0,Z.jsx)("div",{className:_.tooltipContainer,children:(0,Z.jsx)(r.Z,{title:M,placement:"top-start",children:(0,Z.jsx)("div",{className:_.tooltip,children:(0,Z.jsx)(v.Z,{})})})})]}),(0,Z.jsxs)("div",{className:_.textBoxContainer,children:[(0,Z.jsx)(h,{id:d,name:u,fullWidth:!0,value:o,autoFocus:$,disabled:g,onChange:a,type:m,multiline:N,autoComplete:j,inputProps:ee,error:""!==w,helperText:w,placeholder:I,className:_.inputRebase,onKeyPress:X}),H&&(0,Z.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,Z.jsx)(c.Z,{onClick:G?function(){G()}:function(){return null},id:L,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:H})}),D&&(0,Z.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:D})]})]})})}))},51002:function(e,n,a){var t=a(23430),i=a(18489),o=a(50390),l=a(34424),s=a(95467),r=a(97771),c=a(84402),d=a(78426),u=a(93085),p=a(86509),m=a(4285),v=a(72462),x=a(44149),Z=a(21278),f=a(45980),h=a(62559),j=(0,l.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},v.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(j((function(e){var n=e.onClose,a=e.modalOpen,l=e.title,p=e.children,m=e.classes,v=e.wideLimit,x=void 0===v||v,j=e.modalSnackMessage,b=e.noContentPadding,g=e.setModalSnackMessage,C=e.titleIcon,N=void 0===C?null:C,k=(0,o.useState)(!1),M=(0,t.Z)(k,2),S=M[0],y=M[1];(0,o.useEffect)((function(){g("")}),[g]),(0,o.useEffect)((function(){if(j){if(""===j.message)return void y(!1);"error"!==j.type&&y(!0)}}),[j]);var P=x?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return j&&(w=j.detailedErrorMsg,(""===j.detailedErrorMsg||j.detailedErrorMsg.length<5)&&(w=j.message)),(0,h.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:a,classes:m},P),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&n()},className:m.root,children:[(0,h.jsxs)(d.Z,{className:m.title,children:[(0,h.jsxs)("div",{className:m.titleText,children:[N," ",l]}),(0,h.jsx)("div",{className:m.closeContainer,children:(0,h.jsx)(s.Z,{"aria-label":"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,h.jsx)(Z.Z,{})})})]}),(0,h.jsx)(f.Z,{isModal:!0}),(0,h.jsx)(r.Z,{open:S,className:m.snackBarModal,onClose:function(){y(!1),g("")},message:w,ContentProps:{className:"".concat(m.snackBar," ").concat(j&&"error"===j.type?m.errorSnackBar:"")},autoHideDuration:j&&"error"===j.type?1e4:5e3}),(0,h.jsx)(u.Z,{className:b?"":m.content,children:p})]}))})))},21278:function(e,n,a){var t=a(64119);n.Z=void 0;var i=t(a(66830)),o=a(62559),l=(0,i.default)((0,o.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");n.Z=l},77555:function(e,n,a){a.d(n,{Z:function(){return h}});var t=a(32793),i=a(1048),o=a(50390),l=a(44977),s=a(50076),r=a(29413),c=a(15573),d=a(8208),u=a(10594);function p(e){return(0,u.Z)("MuiTableHead",e)}(0,a(43349).Z)("MuiTableHead",["root"]);var m=a(62559),v=["className","component"],x=(0,d.ZP)("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:function(e,n){return n.root}})({display:"table-header-group"}),Z={variant:"head"},f="thead",h=o.forwardRef((function(e,n){var a=(0,c.Z)({props:e,name:"MuiTableHead"}),o=a.className,d=a.component,u=void 0===d?f:d,h=(0,i.Z)(a,v),j=(0,t.Z)({},a,{component:u}),b=function(e){var n=e.classes;return(0,s.Z)({root:["root"]},p,n)}(j);return(0,m.jsx)(r.Z.Provider,{value:Z,children:(0,m.jsx)(x,(0,t.Z)({as:u,className:(0,l.Z)(b.root,o),ref:n,role:u===f?null:"rowgroup",ownerState:j},h))})}))}}]); -//# sourceMappingURL=4487.8cae9359.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4487],{77926:function(e,n,a){a.r(n),a.d(n,{default:function(){return B}});var t=a(23430),i=a(18489),l=a(50390),o=a(34424),s=a(25594),r=a(66946),c=a(86509),d=a(4285),u=a(30324),p=a(77555),m=a(29399),v=a(73481),x=a(35044),Z=a(74268),f=a(4182),h=a(72462),j=a(44149),b=a(51002),g=a(66964),C=a(12066),N=a(36554),k=a(94187),M=a(47554),S=a(62449),y=a(10728),P=a(97538),w=a(62559),E=(0,S.Z)((function(e){return(0,c.Z)((0,i.Z)({},h.gM))}));function F(e){var n=E();return(0,w.jsx)(C.Z,(0,i.Z)({InputProps:{classes:n}},e))}var T=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({},h.YI),h.Hr))}))((function(e){var n=e.classes,a=e.id,o=e.name,r=e.onChange,c=e.options,d=e.label,u=e.tooltip,p=void 0===u?"":u,m=e.value,v=e.disabled,x=void 0!==v&&v,Z=(0,l.useState)(c[0]),f=(0,t.Z)(Z,2),h=f[0],j=f[1];return(0,w.jsx)(l.Fragment,{children:(0,w.jsxs)(s.ZP,{item:!0,xs:12,className:n.fieldContainer,children:[""!==d&&(0,w.jsxs)(N.Z,{htmlFor:a,className:n.inputLabel,children:[(0,w.jsx)("span",{children:d}),""!==p&&(0,w.jsx)("div",{className:n.tooltipContainer,children:(0,w.jsx)(k.Z,{title:p,placement:"top-start",children:(0,w.jsx)("div",{className:n.tooltip,children:(0,w.jsx)(P.Z,{})})})})]}),(0,w.jsx)(M.Z,{fullWidth:!0,children:(0,w.jsx)(y.Z,{id:a,options:c,getOptionLabel:function(e){return e.label},isOptionEqualToValue:function(e){return e.value===m},disabled:x,renderInput:function(e){return(0,w.jsx)(F,(0,i.Z)((0,i.Z)({},e),{},{name:o}))},value:h,onChange:function(e,n){n&&(r(n.value),j(n))},autoHighlight:!0})})]})})})),I=a(14549),R=(0,o.$j)(null,{setModalErrorSnackMessage:j.zb}),B=(0,d.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({arnField:{"& div div .MuiOutlinedInput-root":{padding:0}}},h.DF),h.ID))}))(R((function(e){var n=e.classes,a=e.open,i=e.selectedBucket,o=e.closeModalAndRefresh,c=e.setModalErrorSnackMessage,d=(0,l.useState)(!1),h=(0,t.Z)(d,2),j=h[0],C=h[1],N=(0,l.useState)(""),k=(0,t.Z)(N,2),M=k[0],S=k[1],y=(0,l.useState)(""),P=(0,t.Z)(y,2),E=P[0],F=P[1],R=(0,l.useState)(""),B=(0,t.Z)(R,2),L=B[0],O=B[1],H=(0,l.useState)([]),W=(0,t.Z)(H,2),D=W[0],z=W[1],A=(0,l.useState)([]),G=(0,t.Z)(A,2),K=G[0],Y=G[1],q=(0,l.useCallback)((function(){C(!0),u.Z.invoke("GET","/api/v1/admin/arns").then((function(e){var n=[];null!==e.arns&&(n=e.arns),C(!1),Y(n)})).catch((function(e){C(!1),c(e)}))}),[c]);(0,l.useEffect)((function(){q()}),[q]);var U=function(e,n){var a=D.indexOf(n),t=[];-1===a?t=t.concat(D,n):0===a?t=t.concat(D.slice(1)):a===D.length-1?t=t.concat(D.slice(0,-1)):a>0&&(t=t.concat(D.slice(0,a),D.slice(a+1))),z(t)},V=K.map((function(e){return{label:e,value:e}}));return(0,w.jsx)(b.Z,{modalOpen:a,onClose:function(){o()},title:"Subscribe To Bucket Events",titleIcon:(0,w.jsx)(I.c3,{}),children:(0,w.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),j||(C(!0),u.Z.invoke("POST","/api/v1/buckets/".concat(i,"/events"),{configuration:{arn:L,events:D,prefix:M,suffix:E},ignoreExisting:!0}).then((function(){C(!1),o()})).catch((function(e){C(!1),c(e)})))},children:(0,w.jsxs)(s.ZP,{container:!0,children:[(0,w.jsxs)(s.ZP,{item:!0,xs:12,className:n.formScrollable,children:[(0,w.jsx)(s.ZP,{item:!0,xs:12,className:"".concat(n.arnField," ").concat(n.formFieldRow),children:(0,w.jsx)(T,{onChange:function(e){O(e)},id:"select-access-policy",name:"select-access-policy",label:"ARN",value:L,options:V})}),(0,w.jsx)(s.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsx)(g.Z,{id:"prefix-input",name:"prefix-input",label:"Prefix",value:M,onChange:function(e){S(e.target.value)}})}),(0,w.jsx)(s.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsx)(g.Z,{id:"suffix-input",name:"suffix-input",label:"Suffix",value:E,onChange:function(e){F(e.target.value)}})}),(0,w.jsx)(s.ZP,{item:!0,xs:12,className:n.formFieldRow,children:(0,w.jsxs)(f.Z,{size:"medium",children:[(0,w.jsx)(p.Z,{className:n.minTableHeader,children:(0,w.jsxs)(m.Z,{children:[(0,w.jsx)(v.Z,{children:"Select"}),(0,w.jsx)(v.Z,{children:"Event"})]})}),(0,w.jsx)(x.Z,{children:[{label:"PUT - Object Uploaded",value:"put"},{label:"GET - Object accessed",value:"get"},{label:"DELETE - Object Deleted",value:"delete"}].map((function(e){return(0,w.jsxs)(m.Z,{onClick:function(n){return U(0,e.value)},children:[(0,w.jsx)(v.Z,{padding:"checkbox",children:(0,w.jsx)(Z.Z,{value:e.value,color:"primary",inputProps:{"aria-label":"secondary checkbox"},onChange:function(n){return U(0,e.value)},checked:D.includes(e.value)})}),(0,w.jsx)(v.Z,{className:n.wrapCell,children:e.label})]},"group-".concat(e.value))}))})]})})]}),(0,w.jsxs)(s.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,w.jsx)(r.Z,{type:"button",variant:"outlined",color:"primary",disabled:j,onClick:function(){o()},children:"Cancel"}),(0,w.jsx)(r.Z,{type:"submit",variant:"contained",color:"primary",disabled:j,children:"Save"})]})]})})})})))},66964:function(e,n,a){var t=a(18489),i=a(50390),l=a(12066),o=a(25594),s=a(36554),r=a(94187),c=a(95467),d=a(86509),u=a(62449),p=a(4285),m=a(72462),v=a(97538),x=a(44977),Z=a(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,t.Z)({},m.gM))}));function h(e){var n=f();return(0,Z.jsx)(l.Z,(0,t.Z)({InputProps:{classes:n}},e))}n.Z=(0,p.Z)((function(e){return(0,d.Z)((0,t.Z)((0,t.Z)((0,t.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,t.Z)((0,t.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,a=e.onChange,l=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,f=e.autoComplete,j=void 0===f?"off":f,b=e.disabled,g=void 0!==b&&b,C=e.multiline,N=void 0!==C&&C,k=e.tooltip,M=void 0===k?"":k,S=e.index,y=void 0===S?0:S,P=e.error,w=void 0===P?"":P,E=e.required,F=void 0!==E&&E,T=e.placeholder,I=void 0===T?"":T,R=e.min,B=e.max,L=e.overlayId,O=e.overlayIcon,H=void 0===O?null:O,W=e.overlayObject,D=void 0===W?null:W,z=e.extraInputProps,A=void 0===z?{}:z,G=e.overlayAction,K=e.noLabelMinWidth,Y=void 0!==K&&K,q=e.pattern,U=void 0===q?"":q,V=e.autoFocus,$=void 0!==V&&V,_=e.classes,Q=e.className,J=void 0===Q?"":Q,X=e.onKeyPress,ee=(0,t.Z)({"data-index":y},A);return"number"===m&&R&&(ee.min=R),"number"===m&&B&&(ee.max=B),""!==U&&(ee.pattern=U),(0,Z.jsx)(i.Fragment,{children:(0,Z.jsxs)(o.ZP,{container:!0,className:(0,x.Z)(""!==J?J:"",""!==w?_.errorInField:_.inputBoxContainer),children:[""!==n&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:Y?_.noMinWidthLabel:_.inputLabel,children:[(0,Z.jsxs)("span",{children:[n,F?"*":""]}),""!==M&&(0,Z.jsx)("div",{className:_.tooltipContainer,children:(0,Z.jsx)(r.Z,{title:M,placement:"top-start",children:(0,Z.jsx)("div",{className:_.tooltip,children:(0,Z.jsx)(v.Z,{})})})})]}),(0,Z.jsxs)("div",{className:_.textBoxContainer,children:[(0,Z.jsx)(h,{id:d,name:u,fullWidth:!0,value:l,autoFocus:$,disabled:g,onChange:a,type:m,multiline:N,autoComplete:j,inputProps:ee,error:""!==w,helperText:w,placeholder:I,className:_.inputRebase,onKeyPress:X}),H&&(0,Z.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,Z.jsx)(c.Z,{onClick:G?function(){G()}:function(){return null},id:L,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:H})}),D&&(0,Z.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:D})]})]})})}))},51002:function(e,n,a){var t=a(23430),i=a(18489),l=a(50390),o=a(34424),s=a(95467),r=a(97771),c=a(84402),d=a(78426),u=a(93085),p=a(86509),m=a(4285),v=a(72462),x=a(44149),Z=a(21278),f=a(45980),h=a(62559),j=(0,o.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});n.Z=(0,m.Z)((function(e){return(0,p.Z)((0,i.Z)((0,i.Z)({},v.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},v.sN))}))(j((function(e){var n=e.onClose,a=e.modalOpen,o=e.title,p=e.children,m=e.classes,v=e.wideLimit,x=void 0===v||v,j=e.modalSnackMessage,b=e.noContentPadding,g=e.setModalSnackMessage,C=e.titleIcon,N=void 0===C?null:C,k=(0,l.useState)(!1),M=(0,t.Z)(k,2),S=M[0],y=M[1];(0,l.useEffect)((function(){g("")}),[g]),(0,l.useEffect)((function(){if(j){if(""===j.message)return void y(!1);"error"!==j.type&&y(!0)}}),[j]);var P=x?{classes:{paper:m.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return j&&(w=j.detailedErrorMsg,(""===j.detailedErrorMsg||j.detailedErrorMsg.length<5)&&(w=j.message)),(0,h.jsxs)(c.Z,(0,i.Z)((0,i.Z)({open:a,classes:m},P),{},{scroll:"paper",onClose:function(e,a){"backdropClick"!==a&&n()},className:m.root,children:[(0,h.jsxs)(d.Z,{className:m.title,children:[(0,h.jsxs)("div",{className:m.titleText,children:[N," ",o]}),(0,h.jsx)("div",{className:m.closeContainer,children:(0,h.jsx)(s.Z,{"aria-label":"close",id:"close",className:m.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,h.jsx)(Z.Z,{})})})]}),(0,h.jsx)(f.Z,{isModal:!0}),(0,h.jsx)(r.Z,{open:S,className:m.snackBarModal,onClose:function(){y(!1),g("")},message:w,ContentProps:{className:"".concat(m.snackBar," ").concat(j&&"error"===j.type?m.errorSnackBar:"")},autoHideDuration:j&&"error"===j.type?1e4:5e3}),(0,h.jsx)(u.Z,{className:b?"":m.content,children:p})]}))})))},21278:function(e,n,a){var t=a(64119);n.Z=void 0;var i=t(a(66830)),l=a(62559),o=(0,i.default)((0,l.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");n.Z=o},77555:function(e,n,a){a.d(n,{Z:function(){return h}});var t=a(32793),i=a(1048),l=a(50390),o=a(44977),s=a(50076),r=a(29413),c=a(15573),d=a(8208),u=a(10594);function p(e){return(0,u.Z)("MuiTableHead",e)}(0,a(43349).Z)("MuiTableHead",["root"]);var m=a(62559),v=["className","component"],x=(0,d.ZP)("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:function(e,n){return n.root}})({display:"table-header-group"}),Z={variant:"head"},f="thead",h=l.forwardRef((function(e,n){var a=(0,c.Z)({props:e,name:"MuiTableHead"}),l=a.className,d=a.component,u=void 0===d?f:d,h=(0,i.Z)(a,v),j=(0,t.Z)({},a,{component:u}),b=function(e){var n=e.classes;return(0,s.Z)({root:["root"]},p,n)}(j);return(0,m.jsx)(r.Z.Provider,{value:Z,children:(0,m.jsx)(x,(0,t.Z)({as:u,className:(0,o.Z)(b.root,l),ref:n,role:u===f?null:"rowgroup",ownerState:j},h))})}))}}]); +//# sourceMappingURL=4487.8631b03a.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4487.8631b03a.chunk.js.map b/portal-ui/build/static/js/4487.8631b03a.chunk.js.map new file mode 100644 index 000000000..71a9582da --- /dev/null +++ b/portal-ui/build/static/js/4487.8631b03a.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4487.8631b03a.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx","screens/Console/Buckets/BucketDetails/AddEvent.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/TableHead/tableHeadClasses.js","../node_modules/@mui/material/TableHead/TableHead.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n OutlinedInputProps,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (returnedValue: string) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst AutocompleteWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n const [internalValue, setInternalValue] = useState(options[0]);\n\n const executeOnSelect = (_: any, selectedValue: any) => {\n if (selectedValue) {\n onChange(selectedValue.value);\n setInternalValue(selectedValue);\n }\n };\n\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n option.label}\n isOptionEqualToValue={(option) => option.value === value}\n disabled={disabled}\n renderInput={(params) => }\n value={internalValue}\n onChange={executeOnSelect}\n autoHighlight\n />\n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(AutocompleteWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ChangeEvent, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableBody from \"@mui/material/TableBody\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport Table from \"@mui/material/Table\";\nimport { ArnList } from \"../types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AutocompleteWrapper from \"../../Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper\";\nimport { EventSubscriptionIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n arnField: {\n \"& div div .MuiOutlinedInput-root\": {\n padding: 0,\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IAddEventProps {\n classes: any;\n open: boolean;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddEvent = ({\n classes,\n open,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IAddEventProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [prefix, setPrefix] = useState(\"\");\n const [suffix, setSuffix] = useState(\"\");\n const [arn, setArn] = useState(\"\");\n const [selectedEvents, setSelectedEvents] = useState([]);\n const [arnList, setArnList] = useState([]);\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/events`, {\n configuration: {\n arn: arn,\n events: selectedEvents,\n prefix: prefix,\n suffix: suffix,\n },\n ignoreExisting: true,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const fetchArnList = useCallback(() => {\n setAddLoading(true);\n api\n .invoke(\"GET\", `/api/v1/admin/arns`)\n .then((res: ArnList) => {\n let arns: string[] = [];\n if (res.arns !== null) {\n arns = res.arns;\n }\n setAddLoading(false);\n setArnList(arns);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [setModalErrorSnackMessage]);\n\n useEffect(() => {\n fetchArnList();\n }, [fetchArnList]);\n\n const events = [\n { label: \"PUT - Object Uploaded\", value: \"put\" },\n { label: \"GET - Object accessed\", value: \"get\" },\n { label: \"DELETE - Object Deleted\", value: \"delete\" },\n ];\n\n const handleClick = (\n event: React.MouseEvent | ChangeEvent,\n name: string\n ) => {\n const selectedIndex = selectedEvents.indexOf(name);\n let newSelected: string[] = [];\n\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selectedEvents, name);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selectedEvents.slice(1));\n } else if (selectedIndex === selectedEvents.length - 1) {\n newSelected = newSelected.concat(selectedEvents.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(\n selectedEvents.slice(0, selectedIndex),\n selectedEvents.slice(selectedIndex + 1)\n );\n }\n setSelectedEvents(newSelected);\n };\n\n const arnValues = arnList.map((arnConstant) => ({\n label: arnConstant,\n value: arnConstant,\n }));\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Subscribe To Bucket Events\"\n titleIcon={}\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n \n {\n setArn(value);\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"ARN\"}\n value={arn}\n options={arnValues}\n />\n \n \n ) => {\n setPrefix(e.target.value);\n }}\n />\n \n \n ) => {\n setSuffix(e.target.value);\n }}\n />\n \n \n \n \n \n Select\n Event\n \n \n \n {events.map((row) => (\n handleClick(event, row.value)}\n >\n \n handleClick(event, row.value)}\n checked={selectedEvents.includes(row.value)}\n />\n \n \n {row.label}\n \n \n ))}\n \n
    \n
    \n
    \n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n \n Save\n \n \n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(AddEvent));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTableHeadUtilityClass(slot) {\n return generateUtilityClass('MuiTableHead', slot);\n}\nconst tableHeadClasses = generateUtilityClasses('MuiTableHead', ['root']);\nexport default tableHeadClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableHeadUtilityClass } from './tableHeadClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableHeadUtilityClass, classes);\n};\n\nconst TableHeadRoot = styled('thead', {\n name: 'MuiTableHead',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-header-group'\n});\nconst tablelvl2 = {\n variant: 'head'\n};\nconst defaultComponent = 'thead';\nconst TableHead = /*#__PURE__*/React.forwardRef(function TableHead(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableHead'\n });\n\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n component\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableHeadRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableHead.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableHead;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","id","name","onChange","options","label","tooltip","value","disabled","useState","internalValue","setInternalValue","Grid","item","xs","className","fieldContainer","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormControl","fullWidth","Autocomplete","getOptionLabel","option","isOptionEqualToValue","renderInput","params","_","selectedValue","autoHighlight","connector","connect","setModalErrorSnackMessage","arnField","padding","formFieldStyles","modalStyleUtils","open","selectedBucket","closeModalAndRefresh","addLoading","setAddLoading","prefix","setPrefix","suffix","setSuffix","arn","setArn","selectedEvents","setSelectedEvents","arnList","setArnList","fetchArnList","useCallback","api","then","res","arns","catch","err","useEffect","handleClick","event","selectedIndex","indexOf","newSelected","concat","slice","length","arnValues","map","arnConstant","ModalWrapper","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","configuration","events","ignoreExisting","container","formScrollable","formFieldRow","InputBoxWrapper","target","Table","size","TableHead","minTableHeader","TableRow","TableCell","TableBody","row","onClick","Checkbox","color","inputProps","checked","includes","wrapCell","modalButtonBar","Button","type","variant","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","fontWeight","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","clsx","errorInField","inputBoxContainer","noMinWidthLabel","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","content","paddingBottom","customDialogSize","width","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","scroll","reason","root","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getTableHeadUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","TableHeadRoot","styled","overridesResolver","styles","display","tablelvl2","defaultComponent","React","inProps","ref","useThemeProps","component","other","_objectWithoutPropertiesLoose","ownerState","_extends","composeClasses","useUtilityClasses","_jsx","Tablelvl2Context","as","role"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4487.8cae9359.chunk.js.map b/portal-ui/build/static/js/4487.8cae9359.chunk.js.map deleted file mode 100644 index d753c940d..000000000 --- a/portal-ui/build/static/js/4487.8cae9359.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4487.8cae9359.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx","screens/Console/Buckets/BucketDetails/AddEvent.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/TableHead/tableHeadClasses.js","../node_modules/@mui/material/TableHead/TableHead.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n FormControl,\n InputLabel,\n OutlinedInputProps,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport Autocomplete from \"@mui/material/Autocomplete\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\n\ninterface selectorTypes {\n label: string;\n value: string;\n}\n\ninterface SelectProps {\n options: selectorTypes[];\n value: string;\n label: string;\n id: string;\n name: string;\n tooltip?: string;\n onChange: (returnedValue: string) => void;\n disabled?: boolean;\n classes: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst AutocompleteWrapper = ({\n classes,\n id,\n name,\n onChange,\n options,\n label,\n tooltip = \"\",\n value,\n disabled = false,\n}: SelectProps) => {\n const [internalValue, setInternalValue] = useState(options[0]);\n\n const executeOnSelect = (_: any, selectedValue: any) => {\n if (selectedValue) {\n onChange(selectedValue.value);\n setInternalValue(selectedValue);\n }\n };\n\n return (\n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n \n option.label}\n isOptionEqualToValue={(option) => option.value === value}\n disabled={disabled}\n renderInput={(params) => }\n value={internalValue}\n onChange={executeOnSelect}\n autoHighlight\n />\n \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(AutocompleteWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { ChangeEvent, useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport api from \"../../../../common/api\";\nimport TableHead from \"@mui/material/TableHead\";\nimport TableRow from \"@mui/material/TableRow\";\nimport TableCell from \"@mui/material/TableCell\";\nimport TableBody from \"@mui/material/TableBody\";\nimport Checkbox from \"@mui/material/Checkbox\";\nimport Table from \"@mui/material/Table\";\nimport { ArnList } from \"../types\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../../actions\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\nimport ModalWrapper from \"../../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport AutocompleteWrapper from \"../../Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper\";\nimport { EventSubscriptionIcon } from \"../../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n arnField: {\n \"& div div .MuiOutlinedInput-root\": {\n padding: 0,\n },\n },\n ...formFieldStyles,\n ...modalStyleUtils,\n });\n\ninterface IAddEventProps {\n classes: any;\n open: boolean;\n selectedBucket: string;\n closeModalAndRefresh: () => void;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddEvent = ({\n classes,\n open,\n selectedBucket,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n}: IAddEventProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [prefix, setPrefix] = useState(\"\");\n const [suffix, setSuffix] = useState(\"\");\n const [arn, setArn] = useState(\"\");\n const [selectedEvents, setSelectedEvents] = useState([]);\n const [arnList, setArnList] = useState([]);\n\n const addRecord = (event: React.FormEvent) => {\n event.preventDefault();\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n api\n .invoke(\"POST\", `/api/v1/buckets/${selectedBucket}/events`, {\n configuration: {\n arn: arn,\n events: selectedEvents,\n prefix: prefix,\n suffix: suffix,\n },\n ignoreExisting: true,\n })\n .then(() => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n };\n\n const fetchArnList = useCallback(() => {\n setAddLoading(true);\n api\n .invoke(\"GET\", `/api/v1/admin/arns`)\n .then((res: ArnList) => {\n let arns: string[] = [];\n if (res.arns !== null) {\n arns = res.arns;\n }\n setAddLoading(false);\n setArnList(arns);\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [setModalErrorSnackMessage]);\n\n useEffect(() => {\n fetchArnList();\n }, [fetchArnList]);\n\n const events = [\n { label: \"PUT - Object Uploaded\", value: \"put\" },\n { label: \"GET - Object accessed\", value: \"get\" },\n { label: \"DELETE - Object Deleted\", value: \"delete\" },\n ];\n\n const handleClick = (\n event: React.MouseEvent | ChangeEvent,\n name: string\n ) => {\n const selectedIndex = selectedEvents.indexOf(name);\n let newSelected: string[] = [];\n\n if (selectedIndex === -1) {\n newSelected = newSelected.concat(selectedEvents, name);\n } else if (selectedIndex === 0) {\n newSelected = newSelected.concat(selectedEvents.slice(1));\n } else if (selectedIndex === selectedEvents.length - 1) {\n newSelected = newSelected.concat(selectedEvents.slice(0, -1));\n } else if (selectedIndex > 0) {\n newSelected = newSelected.concat(\n selectedEvents.slice(0, selectedIndex),\n selectedEvents.slice(selectedIndex + 1)\n );\n }\n setSelectedEvents(newSelected);\n };\n\n const arnValues = arnList.map((arnConstant) => ({\n label: arnConstant,\n value: arnConstant,\n }));\n\n return (\n {\n closeModalAndRefresh();\n }}\n title=\"Subscribe To Bucket Events\"\n titleIcon={}\n >\n ) => {\n addRecord(e);\n }}\n >\n \n \n \n {\n setArn(value);\n }}\n id=\"select-access-policy\"\n name=\"select-access-policy\"\n label={\"ARN\"}\n value={arn}\n options={arnValues}\n />\n \n \n ) => {\n setPrefix(e.target.value);\n }}\n />\n \n \n ) => {\n setSuffix(e.target.value);\n }}\n />\n \n \n \n \n \n Select\n Event\n \n \n \n {events.map((row) => (\n handleClick(event, row.value)}\n >\n \n handleClick(event, row.value)}\n checked={selectedEvents.includes(row.value)}\n />\n \n \n {row.label}\n \n \n ))}\n \n
    \n
    \n
    \n \n {\n closeModalAndRefresh();\n }}\n >\n Cancel\n \n \n Save\n \n \n \n \n \n );\n};\n\nconst connector = connect(null, {\n setModalErrorSnackMessage,\n});\n\nexport default withStyles(styles)(connector(AddEvent));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTableHeadUtilityClass(slot) {\n return generateUtilityClass('MuiTableHead', slot);\n}\nconst tableHeadClasses = generateUtilityClasses('MuiTableHead', ['root']);\nexport default tableHeadClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"className\", \"component\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport Tablelvl2Context from '../Table/Tablelvl2Context';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport { getTableHeadUtilityClass } from './tableHeadClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTableHeadUtilityClass, classes);\n};\n\nconst TableHeadRoot = styled('thead', {\n name: 'MuiTableHead',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n display: 'table-header-group'\n});\nconst tablelvl2 = {\n variant: 'head'\n};\nconst defaultComponent = 'thead';\nconst TableHead = /*#__PURE__*/React.forwardRef(function TableHead(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTableHead'\n });\n\n const {\n className,\n component = defaultComponent\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n component\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(Tablelvl2Context.Provider, {\n value: tablelvl2,\n children: /*#__PURE__*/_jsx(TableHeadRoot, _extends({\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n role: component === defaultComponent ? null : 'rowgroup',\n ownerState: ownerState\n }, other))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? TableHead.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component, normally `TableRow`.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default TableHead;"],"names":["inputStyles","makeStyles","theme","createStyles","inputFieldStyles","InputField","props","classes","TextField","InputProps","withStyles","fieldBasic","tooltipHelper","id","name","onChange","options","label","tooltip","value","disabled","useState","internalValue","setInternalValue","Grid","item","xs","className","fieldContainer","InputLabel","htmlFor","inputLabel","tooltipContainer","Tooltip","title","placement","HelpIcon","FormControl","fullWidth","Autocomplete","getOptionLabel","option","isOptionEqualToValue","renderInput","params","_","selectedValue","autoHighlight","connector","connect","setModalErrorSnackMessage","arnField","padding","formFieldStyles","modalStyleUtils","open","selectedBucket","closeModalAndRefresh","addLoading","setAddLoading","prefix","setPrefix","suffix","setSuffix","arn","setArn","selectedEvents","setSelectedEvents","arnList","setArnList","fetchArnList","useCallback","api","then","res","arns","catch","err","useEffect","handleClick","event","selectedIndex","indexOf","newSelected","concat","slice","length","arnValues","map","arnConstant","ModalWrapper","modalOpen","onClose","titleIcon","noValidate","autoComplete","onSubmit","e","preventDefault","configuration","events","ignoreExisting","container","formScrollable","formFieldRow","InputBoxWrapper","target","Table","size","TableHead","minTableHeader","TableRow","TableCell","TableBody","row","onClick","Checkbox","color","inputProps","checked","includes","wrapCell","modalButtonBar","Button","type","variant","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","fontWeight","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","clsx","errorInField","inputBoxContainer","noMinWidthLabel","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","root","content","paddingBottom","customDialogSize","width","snackBarCommon","children","wideLimit","noContentPadding","openSnackbar","setOpenSnackbar","message","customSize","paper","detailedErrorMsg","scroll","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getTableHeadUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","TableHeadRoot","styled","overridesResolver","styles","display","tablelvl2","defaultComponent","React","inProps","ref","useThemeProps","component","other","_objectWithoutPropertiesLoose","ownerState","_extends","composeClasses","useUtilityClasses","_jsx","Tablelvl2Context","as","role"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4577.cd5b16fc.chunk.js b/portal-ui/build/static/js/4577.3e6de606.chunk.js similarity index 98% rename from portal-ui/build/static/js/4577.cd5b16fc.chunk.js rename to portal-ui/build/static/js/4577.3e6de606.chunk.js index 24a604b08..27756d408 100644 --- a/portal-ui/build/static/js/4577.cd5b16fc.chunk.js +++ b/portal-ui/build/static/js/4577.3e6de606.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4577],{62702:function(e,n,t){t(50390);var i=t(25594),r=t(86509),a=t(4285),o=t(62559);n.Z=(0,a.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,r=e.title,a=e.subTitle,l=e.actions,s=e.className;return(0,o.jsx)(i.ZP,{container:!0,children:(0,o.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(s||""),children:[(0,o.jsxs)("div",{className:n.leftItems,children:[t?(0,o.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,o.jsxs)("div",{className:n.titleColumn,children:[(0,o.jsx)("h1",{style:{margin:0},children:r}),(0,o.jsx)("span",{className:n.headerBarSubheader,children:a})]})]}),(0,o.jsx)("div",{className:n.rightItems,children:l})]})})}))},57647:function(e,n,t){var i=t(18489),r=t(23430),a=t(50390),o=t(56805),l=t(49044),s=t(97227),c=t(74564),u=t(669),d=t(4285),f=t(88669),m=t(86509),h=t(13512),x=t(62559),p={minHeight:60};n.Z=(0,d.Z)((function(e){return(0,m.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,d=e.selectedTab,m=void 0===d?"0":d,b=e.routes,g=e.isRouteTabs,v=a.useState(m),Z=(0,r.Z)(v,2),j=Z[0],T=Z[1],C=(0,f.Z)(),w=(0,h.Z)(C.breakpoints.down("md")),E=[],y=[];return n?(n.forEach((function(e){E.push(e.tabConfig),y.push(e.content)})),(0,x.jsx)(s.ZP,{value:"".concat(j),children:(0,x.jsxs)(o.Z,{className:t.tabsContainer,children:[(0,x.jsx)(o.Z,{className:t.tabsHeaderContainer,children:(0,x.jsx)(c.Z,{onChange:function(e,n){T(n)},orientation:w?"horizontal":"vertical",variant:w?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:E.map((function(e,n){return e?(0,x.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:p},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,x.jsxs)(o.Z,{className:t.tabContentContainer,children:[g?null:y.map((function(e,n){return(0,x.jsx)(u.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,x.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))},54577:function(e,n,t){t.r(n);var i=t(18489),r=t(50390),a=t(86509),o=t(4285),l=t(25594),s=t(73726),c=t(72462),u=t(35721),d=t(8235),f=t(86362),m=t(70971),h=t(6369),x=t(24442),p=t(57647),b=t(25534),g=t(38342),v=t.n(g),Z=t(62702),j=t(37882),T=t(49495),C=t(62559),w=(0,j.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(2066),t.e(5444),t.e(875),t.e(9056),t.e(6167)]).then(t.bind(t,16167))})));n.default=(0,o.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,backgroundColor:"#fff"}},c.qg),c.OR),(0,c.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.match,i=v()(t,"url",""),a=i.substring(i.lastIndexOf("/")+1);return a="settings"===a?"region":a,(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)(u.Z,{label:"Settings"}),(0,C.jsxs)(b.Z,{children:[(0,C.jsx)(l.ZP,{item:!0,xs:12,children:(0,C.jsxs)("div",{id:"settings-container",className:n.settingsOptionsContainer,children:[(0,C.jsx)(Z.Z,{icon:(0,C.jsx)(f.ew,{}),title:"Configuration:"}),(0,C.jsx)(p.Z,{selectedTab:a,isRouteTabs:!0,routes:(0,C.jsx)(m.F0,{history:x.Z,children:(0,C.jsxs)(m.rs,{children:[s.bx.map((function(e){return(0,C.jsx)(m.AW,{exact:!0,path:"".concat(T.gA.SETTINGS,"/").concat(e.configuration_id),component:w},"configItem-".concat(e.configuration_label))})),(0,C.jsx)(m.AW,{exact:!0,path:T.gA.SETTINGS,children:(0,C.jsx)(m.l_,{to:"".concat(T.gA.SETTINGS,"/region")})})]})}),children:s.bx.map((function(e){var n,t=e.configuration_id;return{tabConfig:{label:e.configuration_label,value:t,icon:e.icon,component:h.rU,to:(n=t,"".concat(T.gA.SETTINGS,"/").concat(n))}}}))})]})}),(0,C.jsx)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px"},children:(0,C.jsx)(d.Z,{title:"Learn more about SETTINGS",iconComponent:(0,C.jsx)(f.ew,{}),help:(0,C.jsxs)(r.Fragment,{children:["MinIO supports a variety of configurations ranging from encryption, compression, region, notifications, etc.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"You can learn more at our"," ",(0,C.jsx)("a",{href:"https://docs.min.io/minio/baremetal/reference/minio-cli/minio-mc-admin/mc-admin.config.html?ref=con#id4",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})}))},97227:function(e,n,t){t.d(n,{ZP:function(){return l},_i:function(){return s},uU:function(){return c},pQ:function(){return u}});var i=t(23430),r=t(50390),a=t(62559),o=r.createContext(null);function l(e){var n=e.children,t=e.value,l=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],a=n[1];return r.useEffect((function(){a("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=r.useMemo((function(){return{idPrefix:l,value:t}}),[l,t]);return(0,a.jsx)(o.Provider,{value:s,children:n})}function s(){return r.useContext(o)}function c(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function u(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var i=t(18207),r=t(46633),a=t(50390),o=t(98247),l=t(97227),s=t(62559),c=["children"],u=a.forwardRef((function(e,n){var t=e.children,u=(0,r.Z)(e,c),d=(0,l._i)();if(null===d)throw new TypeError("No TabContext provided");var f=a.Children.map(t,(function(e){return a.isValidElement(e)?a.cloneElement(e,{"aria-controls":(0,l.uU)(d,e.props.value),id:(0,l.pQ)(d,e.props.value)}):null}));return(0,s.jsx)(o.Z,(0,i.Z)({},u,{ref:n,value:d.value,children:f}))}));n.Z=u},669:function(e,n,t){t.d(n,{Z:function(){return p}});var i=t(18207),r=t(46633),a=t(50390),o=t(44977),l=t(8208),s=t(15573),c=t(50076),u=t(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var f=t(97227),m=t(62559),h=["children","className","value"],x=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),p=a.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),a=t.children,l=t.className,u=t.value,p=(0,r.Z)(t,h),b=(0,i.Z)({},t),g=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},d,n)}(b),v=(0,f._i)();if(null===v)throw new TypeError("No TabContext provided");var Z=(0,f.uU)(v,u),j=(0,f.pQ)(v,u);return(0,m.jsx)(x,(0,i.Z)({"aria-labelledby":j,className:(0,o.Z)(g.root,l),hidden:u!==v.value,id:Z,ref:n,role:"tabpanel",ownerState:b},p,{children:u===v.value&&a}))}))}}]); -//# sourceMappingURL=4577.cd5b16fc.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4577],{62702:function(e,n,t){t(50390);var i=t(25594),r=t(86509),a=t(4285),o=t(62559);n.Z=(0,a.Z)((function(e){return(0,r.Z)({headerBarIcon:{marginRight:".7rem",color:e.palette.primary.main,"& .min-icon":{width:44,height:44}},headerBarSubheader:{color:"grey","@media (max-width: 900px)":{maxWidth:200}},screenTitle:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"1rem",borderBottom:"1px solid #EAEAEA","@media (max-width: 600px)":{flexFlow:"column"}},titleColumn:{height:"auto",justifyContent:"center",display:"flex",flexFlow:"column",alignItems:"flex-start","& h1":{fontSize:19}},leftItems:{display:"flex",alignItems:"center","@media (max-width: 600px)":{flexFlow:"column"}},rightItems:{display:"flex",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.icon,r=e.title,a=e.subTitle,l=e.actions,s=e.className;return(0,o.jsx)(i.ZP,{container:!0,children:(0,o.jsxs)(i.ZP,{item:!0,xs:12,className:"".concat(n.screenTitle," ").concat(s||""),children:[(0,o.jsxs)("div",{className:n.leftItems,children:[t?(0,o.jsx)("div",{className:n.headerBarIcon,children:t}):null,(0,o.jsxs)("div",{className:n.titleColumn,children:[(0,o.jsx)("h1",{style:{margin:0},children:r}),(0,o.jsx)("span",{className:n.headerBarSubheader,children:a})]})]}),(0,o.jsx)("div",{className:n.rightItems,children:l})]})})}))},57647:function(e,n,t){var i=t(18489),r=t(23430),a=t(50390),o=t(56805),l=t(49044),s=t(97227),c=t(74564),u=t(669),d=t(4285),f=t(88669),m=t(86509),h=t(13512),x=t(62559),p={minHeight:60};n.Z=(0,d.Z)((function(e){return(0,m.Z)({tabsContainer:{display:"flex",height:"100%",width:"100%"},tabsHeaderContainer:{width:"300px",background:"#F8F8F8",borderRight:"1px solid #EAEAEA","& .MuiTabs-root":{"& .MuiTabs-indicator":{display:"none"},"& .MuiTab-root":{display:"flex",flexFlow:"row",alignItems:"center",justifyContent:"flex-start",borderBottom:"1px solid #EAEAEA","& .MuiSvgIcon-root":{marginRight:8,marginBottom:0},"&.Mui-selected":{background:"#E5E5E5",fontWeight:600}},"&. MuiTabs-scroller":{display:"none"}}},tabContentContainer:{width:"100%","& .MuiTabPanel-root":{height:"100%"}},tabPanel:{height:"100%"},"@media (max-width: 900px)":{tabsContainer:{flexFlow:"column",flexDirection:"column"},tabsHeaderContainer:{width:"100%",borderBottom:" 1px solid #EAEAEA","& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root":{borderBottom:" 0px"}}}})}))((function(e){var n=e.children,t=e.classes,d=e.selectedTab,m=void 0===d?"0":d,b=e.routes,g=e.isRouteTabs,v=a.useState(m),Z=(0,r.Z)(v,2),j=Z[0],T=Z[1],C=(0,f.Z)(),w=(0,h.Z)(C.breakpoints.down("md")),E=[],y=[];return n?(n.forEach((function(e){E.push(e.tabConfig),y.push(e.content)})),(0,x.jsx)(s.ZP,{value:"".concat(j),children:(0,x.jsxs)(o.Z,{className:t.tabsContainer,children:[(0,x.jsx)(o.Z,{className:t.tabsHeaderContainer,children:(0,x.jsx)(c.Z,{onChange:function(e,n){T(n)},orientation:w?"horizontal":"vertical",variant:w?"scrollable":"standard",scrollButtons:"auto",className:t.tabList,children:E.map((function(e,n){return e?(0,x.jsx)(l.Z,(0,i.Z)((0,i.Z)({className:t.tabHeader,value:"".concat(n),style:p},e),{},{disableRipple:!0,disableTouchRipple:!0,focusRipple:!0}),"v-tab-".concat(n)):null}))})}),(0,x.jsxs)(o.Z,{className:t.tabContentContainer,children:[g?null:y.map((function(e,n){return(0,x.jsx)(u.Z,{classes:(0,i.Z)({},t.tabPanel),value:"".concat(n),children:e||null},"v-tab-p-".concat(n))})),g?(0,x.jsx)("div",{className:t.tabPanel,children:b}):null]})]})})):null}))},54577:function(e,n,t){t.r(n);var i=t(18489),r=t(50390),a=t(86509),o=t(4285),l=t(25594),s=t(73726),c=t(72462),u=t(35721),d=t(8235),f=t(14549),m=t(70971),h=t(6369),x=t(24442),p=t(57647),b=t(25534),g=t(38342),v=t.n(g),Z=t(62702),j=t(37882),T=t(49495),C=t(62559),w=(0,j.Z)(r.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(2066),t.e(5444),t.e(875),t.e(9056),t.e(6167)]).then(t.bind(t,16167))})));n.default=(0,o.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)((0,i.Z)({settingsOptionsContainer:{display:"flex",flexDirection:"row",justifyContent:"flex-start",flexWrap:"wrap",border:"#E5E5E5 1px solid",borderRadius:2,backgroundColor:"#fff"}},c.qg),c.OR),(0,c.Bz)(e.spacing(4))))}))((function(e){var n=e.classes,t=e.match,i=v()(t,"url",""),a=i.substring(i.lastIndexOf("/")+1);return a="settings"===a?"region":a,(0,C.jsxs)(r.Fragment,{children:[(0,C.jsx)(u.Z,{label:"Settings"}),(0,C.jsxs)(b.Z,{children:[(0,C.jsx)(l.ZP,{item:!0,xs:12,children:(0,C.jsxs)("div",{id:"settings-container",className:n.settingsOptionsContainer,children:[(0,C.jsx)(Z.Z,{icon:(0,C.jsx)(f.ew,{}),title:"Configuration:"}),(0,C.jsx)(p.Z,{selectedTab:a,isRouteTabs:!0,routes:(0,C.jsx)(m.F0,{history:x.Z,children:(0,C.jsxs)(m.rs,{children:[s.bx.map((function(e){return(0,C.jsx)(m.AW,{exact:!0,path:"".concat(T.gA.SETTINGS,"/").concat(e.configuration_id),component:w},"configItem-".concat(e.configuration_label))})),(0,C.jsx)(m.AW,{exact:!0,path:T.gA.SETTINGS,children:(0,C.jsx)(m.l_,{to:"".concat(T.gA.SETTINGS,"/region")})})]})}),children:s.bx.map((function(e){var n,t=e.configuration_id;return{tabConfig:{label:e.configuration_label,value:t,icon:e.icon,component:h.rU,to:(n=t,"".concat(T.gA.SETTINGS,"/").concat(n))}}}))})]})}),(0,C.jsx)(l.ZP,{item:!0,xs:12,sx:{paddingTop:"15px"},children:(0,C.jsx)(d.Z,{title:"Learn more about SETTINGS",iconComponent:(0,C.jsx)(f.ew,{}),help:(0,C.jsxs)(r.Fragment,{children:["MinIO supports a variety of configurations ranging from encryption, compression, region, notifications, etc.",(0,C.jsx)("br",{}),(0,C.jsx)("br",{}),"You can learn more at our"," ",(0,C.jsx)("a",{href:"https://docs.min.io/minio/baremetal/reference/minio-cli/minio-mc-admin/mc-admin.config.html?ref=con#id4",target:"_blank",rel:"noreferrer",children:"documentation"}),"."]})})})]})]})}))},97227:function(e,n,t){t.d(n,{ZP:function(){return l},_i:function(){return s},uU:function(){return c},pQ:function(){return u}});var i=t(23430),r=t(50390),a=t(62559),o=r.createContext(null);function l(e){var n=e.children,t=e.value,l=function(){var e=r.useState(null),n=(0,i.Z)(e,2),t=n[0],a=n[1];return r.useEffect((function(){a("mui-p-".concat(Math.round(1e5*Math.random())))}),[]),t}(),s=r.useMemo((function(){return{idPrefix:l,value:t}}),[l,t]);return(0,a.jsx)(o.Provider,{value:s,children:n})}function s(){return r.useContext(o)}function c(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-P-").concat(n)}function u(e,n){return null===e.idPrefix?null:"".concat(e.idPrefix,"-T-").concat(n)}},74564:function(e,n,t){var i=t(18207),r=t(46633),a=t(50390),o=t(98247),l=t(97227),s=t(62559),c=["children"],u=a.forwardRef((function(e,n){var t=e.children,u=(0,r.Z)(e,c),d=(0,l._i)();if(null===d)throw new TypeError("No TabContext provided");var f=a.Children.map(t,(function(e){return a.isValidElement(e)?a.cloneElement(e,{"aria-controls":(0,l.uU)(d,e.props.value),id:(0,l.pQ)(d,e.props.value)}):null}));return(0,s.jsx)(o.Z,(0,i.Z)({},u,{ref:n,value:d.value,children:f}))}));n.Z=u},669:function(e,n,t){t.d(n,{Z:function(){return p}});var i=t(18207),r=t(46633),a=t(50390),o=t(44977),l=t(8208),s=t(15573),c=t(50076),u=t(10594);function d(e){return(0,u.Z)("MuiTabPanel",e)}(0,t(43349).Z)("MuiTabPanel",["root"]);var f=t(97227),m=t(62559),h=["children","className","value"],x=(0,l.ZP)("div",{name:"MuiTabPanel",slot:"Root",overridesResolver:function(e,n){return n.root}})((function(e){return{padding:e.theme.spacing(3)}})),p=a.forwardRef((function(e,n){var t=(0,s.Z)({props:e,name:"MuiTabPanel"}),a=t.children,l=t.className,u=t.value,p=(0,r.Z)(t,h),b=(0,i.Z)({},t),g=function(e){var n=e.classes;return(0,c.Z)({root:["root"]},d,n)}(b),v=(0,f._i)();if(null===v)throw new TypeError("No TabContext provided");var Z=(0,f.uU)(v,u),j=(0,f.pQ)(v,u);return(0,m.jsx)(x,(0,i.Z)({"aria-labelledby":j,className:(0,o.Z)(g.root,l),hidden:u!==v.value,id:Z,ref:n,role:"tabpanel",ownerState:b},p,{children:u===v.value&&a}))}))}}]); +//# sourceMappingURL=4577.3e6de606.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4577.cd5b16fc.chunk.js.map b/portal-ui/build/static/js/4577.3e6de606.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4577.cd5b16fc.chunk.js.map rename to portal-ui/build/static/js/4577.3e6de606.chunk.js.map index 3fe656af5..b56b97358 100644 --- a/portal-ui/build/static/js/4577.cd5b16fc.chunk.js.map +++ b/portal-ui/build/static/js/4577.3e6de606.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4577.cd5b16fc.chunk.js","mappings":"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","sources":["screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
    \n {icon ?
    {icon}
    : null}\n
    \n

    {title}

    \n {subTitle}\n
    \n
    \n\n
    {actions}
    \n
    \n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
    {routes}
    \n ) : null}\n
    \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { configurationElements } from \"../utils\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { SettingsIcon } from \"../../../../icons\";\nimport { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../../history\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport get from \"lodash/get\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nconst ConfigurationForm = withSuspense(\n React.lazy(() => import(\"./ConfigurationForm\"))\n);\n\ninterface IConfigurationOptions {\n classes: any;\n match: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n settingsOptionsContainer: {\n display: \"flex\" as const,\n flexDirection: \"row\" as const,\n justifyContent: \"flex-start\" as const,\n flexWrap: \"wrap\" as const,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst getRoutePath = (path: string) => {\n return `${IAM_PAGES.SETTINGS}/${path}`;\n};\n\nconst ConfigurationOptions = ({ classes, match }: IConfigurationOptions) => {\n const configurationName = get(match, \"url\", \"\");\n let selConfigTab = configurationName.substring(\n configurationName.lastIndexOf(\"/\") + 1\n );\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n return (\n \n \n\n \n \n \n } title={\"Configuration:\"} />\n \n \n {configurationElements.map((element) => (\n \n ))}\n \n \n \n \n \n }\n >\n {configurationElements.map((element) => {\n const { configuration_id, configuration_label, icon } = element;\n return {\n tabConfig: {\n label: configuration_label,\n value: configuration_id,\n icon: icon,\n component: Link,\n to: getRoutePath(configuration_id),\n },\n };\n })}\n \n \n \n \n }\n help={\n \n MinIO supports a variety of configurations ranging from\n encryption, compression, region, notifications, etc.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(ConfigurationOptions);\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;"],"names":["withStyles","theme","createStyles","headerBarIcon","marginRight","color","palette","primary","main","width","height","headerBarSubheader","maxWidth","screenTitle","display","alignItems","justifyContent","padding","borderBottom","flexFlow","titleColumn","fontSize","leftItems","rightItems","classes","icon","title","subTitle","actions","className","container","item","xs","style","margin","tabStripStyle","minHeight","tabsContainer","tabsHeaderContainer","background","borderRight","marginBottom","fontWeight","tabContentContainer","tabPanel","flexDirection","children","selectedTab","routes","isRouteTabs","React","value","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","onChange","event","newValue","orientation","variant","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","ConfigurationForm","withSuspense","settingsOptionsContainer","flexWrap","border","borderRadius","backgroundColor","searchField","actionsTray","containerForHeader","spacing","match","configurationName","get","selConfigTab","substring","lastIndexOf","Fragment","label","id","history","configurationElements","element","exact","path","IAM_PAGES","configuration_id","component","configuration_label","to","Link","sx","paddingTop","iconComponent","help","href","target","rel","Context","TabContext","props","idPrefix","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","name","overridesResolver","styles","root","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4577.3e6de606.chunk.js","mappings":"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","sources":["screens/Console/Common/ScreenTitle/ScreenTitle.tsx","screens/Console/Common/VerticalTabs/VerticalTabs.tsx","screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx","../node_modules/@mui/lab/TabContext/TabContext.js","../node_modules/@mui/lab/TabList/TabList.js","../node_modules/@mui/lab/TabPanel/tabPanelClasses.js","../node_modules/@mui/lab/TabPanel/TabPanel.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\n\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ninterface IScreenTitle {\n classes: any;\n icon?: any;\n title?: any;\n subTitle?: any;\n actions?: any;\n className?: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerBarIcon: {\n marginRight: \".7rem\",\n color: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 44,\n height: 44,\n },\n },\n headerBarSubheader: {\n color: \"grey\",\n \"@media (max-width: 900px)\": {\n maxWidth: 200,\n },\n },\n screenTitle: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: \"1rem\",\n\n borderBottom: \"1px solid #EAEAEA\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n titleColumn: {\n height: \"auto\",\n justifyContent: \"center\",\n display: \"flex\",\n flexFlow: \"column\",\n alignItems: \"flex-start\",\n \"& h1\": {\n fontSize: 19,\n },\n },\n leftItems: {\n display: \"flex\",\n alignItems: \"center\",\n \"@media (max-width: 600px)\": {\n flexFlow: \"column\",\n },\n },\n rightItems: {\n display: \"flex\",\n alignItems: \"center\",\n },\n });\n\nconst ScreenTitle = ({\n classes,\n icon,\n title,\n subTitle,\n actions,\n className,\n}: IScreenTitle) => {\n return (\n \n \n
    \n {icon ?
    {icon}
    : null}\n
    \n

    {title}

    \n {subTitle}\n
    \n
    \n\n
    {actions}
    \n
    \n \n );\n};\n\nexport default withStyles(styles)(ScreenTitle);\n","import React from \"react\";\nimport { Box, Tab, TabProps } from \"@mui/material\";\nimport { TabContext, TabList, TabPanel } from \"@mui/lab\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme, useTheme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\n\nexport type TabItemProps = {\n tabConfig: TabProps | any;\n content?: JSX.Element | JSX.Element[];\n};\n\ntype VerticalTabsProps = {\n classes: any;\n children: TabItemProps[];\n selectedTab?: string;\n routes?: any;\n isRouteTabs?: boolean;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsContainer: {\n display: \"flex\",\n height: \"100%\",\n width: \"100%\",\n },\n tabsHeaderContainer: {\n width: \"300px\",\n background: \"#F8F8F8\",\n borderRight: \"1px solid #EAEAEA\",\n \"& .MuiTabs-root\": {\n \"& .MuiTabs-indicator\": {\n display: \"none\",\n },\n \"& .MuiTab-root\": {\n display: \"flex\",\n flexFlow: \"row\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n borderBottom: \"1px solid #EAEAEA\",\n \"& .MuiSvgIcon-root\": {\n marginRight: 8,\n marginBottom: 0,\n },\n \"&.Mui-selected\": {\n background: \"#E5E5E5\",\n fontWeight: 600,\n },\n },\n\n \"&. MuiTabs-scroller\": {\n display: \"none\",\n },\n },\n },\n tabContentContainer: {\n width: \"100%\",\n \"& .MuiTabPanel-root\": {\n height: \"100%\",\n },\n },\n tabPanel: {\n height: \"100%\",\n },\n /*Below md breakpoint make it horizontal and style it for scrolling tabs*/\n \"@media (max-width: 900px)\": {\n tabsContainer: {\n flexFlow: \"column\",\n flexDirection: \"column\",\n },\n tabsHeaderContainer: {\n width: \"100%\",\n borderBottom: \" 1px solid #EAEAEA\",\n \"& .MuiTabs-root .MuiTabs-scroller .MuiButtonBase-root\": {\n borderBottom: \" 0px\",\n },\n },\n },\n });\n\nconst tabStripStyle = {\n minHeight: 60,\n};\n\nconst VerticalTabs = ({\n children,\n classes,\n selectedTab = \"0\",\n routes,\n isRouteTabs,\n}: VerticalTabsProps) => {\n const [value, setValue] = React.useState(selectedTab);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"md\"));\n\n const handleChange = (event: React.SyntheticEvent, newValue: string) => {\n setValue(newValue);\n };\n\n const headerList: TabProps[] = [];\n const contentList: React.ReactNode[] = [];\n\n if (!children) return null;\n\n children.forEach((child) => {\n headerList.push(child.tabConfig);\n contentList.push(child.content);\n });\n\n return (\n \n \n \n \n {headerList.map((item, index) => {\n if (item) {\n return (\n \n );\n }\n return null;\n })}\n \n \n\n \n {!isRouteTabs\n ? contentList.map((item, index) => {\n return (\n \n {item ? item : null}\n \n );\n })\n : null}\n {isRouteTabs ? (\n
    {routes}
    \n ) : null}\n
    \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(VerticalTabs);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nimport { configurationElements } from \"../utils\";\nimport {\n actionsTray,\n containerForHeader,\n searchField,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport HelpBox from \"../../../../common/HelpBox\";\nimport { SettingsIcon } from \"../../../../icons\";\nimport { Link, Redirect, Route, Router, Switch } from \"react-router-dom\";\nimport history from \"../../../../history\";\nimport VerticalTabs from \"../../Common/VerticalTabs/VerticalTabs\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport get from \"lodash/get\";\nimport ScreenTitle from \"../../Common/ScreenTitle/ScreenTitle\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\nconst ConfigurationForm = withSuspense(\n React.lazy(() => import(\"./ConfigurationForm\"))\n);\n\ninterface IConfigurationOptions {\n classes: any;\n match: any;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n settingsOptionsContainer: {\n display: \"flex\" as const,\n flexDirection: \"row\" as const,\n justifyContent: \"flex-start\" as const,\n flexWrap: \"wrap\" as const,\n border: \"#E5E5E5 1px solid\",\n borderRadius: 2,\n backgroundColor: \"#fff\",\n },\n ...searchField,\n ...actionsTray,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst getRoutePath = (path: string) => {\n return `${IAM_PAGES.SETTINGS}/${path}`;\n};\n\nconst ConfigurationOptions = ({ classes, match }: IConfigurationOptions) => {\n const configurationName = get(match, \"url\", \"\");\n let selConfigTab = configurationName.substring(\n configurationName.lastIndexOf(\"/\") + 1\n );\n selConfigTab = selConfigTab === \"settings\" ? \"region\" : selConfigTab;\n\n return (\n \n \n\n \n \n \n } title={\"Configuration:\"} />\n \n \n {configurationElements.map((element) => (\n \n ))}\n \n \n \n \n \n }\n >\n {configurationElements.map((element) => {\n const { configuration_id, configuration_label, icon } = element;\n return {\n tabConfig: {\n label: configuration_label,\n value: configuration_id,\n icon: icon,\n component: Link,\n to: getRoutePath(configuration_id),\n },\n };\n })}\n \n \n \n \n }\n help={\n \n MinIO supports a variety of configurations ranging from\n encryption, compression, region, notifications, etc.\n
    \n
    \n You can learn more at our{\" \"}\n \n documentation\n \n .\n
    \n }\n />\n
    \n
    \n
    \n );\n};\n\nexport default withStyles(styles)(ConfigurationOptions);\n","import * as React from 'react';\nimport PropTypes from 'prop-types';\n/**\n * @type {React.Context<{ idPrefix: string; value: string } | null>}\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst Context = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n Context.displayName = 'TabContext';\n}\n\nfunction useUniquePrefix() {\n const [id, setId] = React.useState(null);\n React.useEffect(() => {\n setId(`mui-p-${Math.round(Math.random() * 1e5)}`);\n }, []);\n return id;\n}\n\nexport default function TabContext(props) {\n const {\n children,\n value\n } = props;\n const idPrefix = useUniquePrefix();\n const context = React.useMemo(() => {\n return {\n idPrefix,\n value\n };\n }, [idPrefix, value]);\n return /*#__PURE__*/_jsx(Context.Provider, {\n value: context,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? TabContext.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The value of the currently selected `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\n/**\n * @returns {unknown}\n */\n\nexport function useTabContext() {\n return React.useContext(Context);\n}\nexport function getPanelId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-P-${value}`;\n}\nexport function getTabId(context, value) {\n const {\n idPrefix\n } = context;\n\n if (idPrefix === null) {\n return null;\n }\n\n return `${context.idPrefix}-T-${value}`;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Tabs from '@mui/material/Tabs';\nimport { useTabContext, getTabId, getPanelId } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst TabList = /*#__PURE__*/React.forwardRef(function TabList(props, ref) {\n const {\n children: childrenProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const children = React.Children.map(childrenProp, child => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n\n return /*#__PURE__*/React.cloneElement(child, {\n // SOMEDAY: `Tabs` will set those themselves\n 'aria-controls': getPanelId(context, child.props.value),\n id: getTabId(context, child.props.value)\n });\n });\n return /*#__PURE__*/_jsx(Tabs, _extends({}, other, {\n ref: ref,\n value: context.value,\n children: children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabList.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * A list of `` elements.\n */\n children: PropTypes.node\n} : void 0;\nexport default TabList;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getTabPanelUtilityClass(slot) {\n return generateUtilityClass('MuiTabPanel', slot);\n}\nconst tabPanelClasses = generateUtilityClasses('MuiTabPanel', ['root']);\nexport default tabPanelClasses;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nconst _excluded = [\"children\", \"className\", \"value\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { styled, useThemeProps } from '@mui/material/styles';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { getTabPanelUtilityClass } from './tabPanelClasses';\nimport { getPanelId, getTabId, useTabContext } from '../TabContext';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getTabPanelUtilityClass, classes);\n};\n\nconst TabPanelRoot = styled('div', {\n name: 'MuiTabPanel',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(({\n theme\n}) => ({\n padding: theme.spacing(3)\n}));\nconst TabPanel = /*#__PURE__*/React.forwardRef(function TabPanel(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiTabPanel'\n });\n\n const {\n children,\n className,\n value\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props);\n\n const classes = useUtilityClasses(ownerState);\n const context = useTabContext();\n\n if (context === null) {\n throw new TypeError('No TabContext provided');\n }\n\n const id = getPanelId(context, value);\n const tabId = getTabId(context, value);\n return /*#__PURE__*/_jsx(TabPanelRoot, _extends({\n \"aria-labelledby\": tabId,\n className: clsx(classes.root, className),\n hidden: value !== context.value,\n id: id,\n ref: ref,\n role: \"tabpanel\",\n ownerState: ownerState\n }, other, {\n children: value === context.value && children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? TabPanel.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The `value` of the corresponding `Tab`. Must use the index of the `Tab` when\n * no `value` was passed to `Tab`.\n */\n value: PropTypes.string.isRequired\n} : void 0;\nexport default TabPanel;"],"names":["withStyles","theme","createStyles","headerBarIcon","marginRight","color","palette","primary","main","width","height","headerBarSubheader","maxWidth","screenTitle","display","alignItems","justifyContent","padding","borderBottom","flexFlow","titleColumn","fontSize","leftItems","rightItems","classes","icon","title","subTitle","actions","className","container","item","xs","style","margin","tabStripStyle","minHeight","tabsContainer","tabsHeaderContainer","background","borderRight","marginBottom","fontWeight","tabContentContainer","tabPanel","flexDirection","children","selectedTab","routes","isRouteTabs","React","value","setValue","useTheme","isSmallScreen","useMediaQuery","breakpoints","down","headerList","contentList","forEach","child","push","tabConfig","content","onChange","event","newValue","orientation","variant","scrollButtons","tabList","map","index","tabHeader","disableRipple","disableTouchRipple","focusRipple","ConfigurationForm","withSuspense","settingsOptionsContainer","flexWrap","border","borderRadius","backgroundColor","searchField","actionsTray","containerForHeader","spacing","match","configurationName","get","selConfigTab","substring","lastIndexOf","Fragment","label","id","history","configurationElements","element","exact","path","IAM_PAGES","configuration_id","component","configuration_label","to","Link","sx","paddingTop","iconComponent","help","href","target","rel","Context","TabContext","props","idPrefix","setId","Math","round","random","useUniquePrefix","context","_jsx","Provider","useTabContext","getPanelId","getTabId","_excluded","TabList","ref","childrenProp","other","_objectWithoutPropertiesLoose","TypeError","Tabs","_extends","getTabPanelUtilityClass","slot","generateUtilityClass","generateUtilityClasses","TabPanelRoot","styled","name","overridesResolver","styles","root","inProps","useThemeProps","ownerState","composeClasses","useUtilityClasses","tabId","clsx","hidden","role"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4745.3fab4951.chunk.js b/portal-ui/build/static/js/4745.3fab4951.chunk.js deleted file mode 100644 index a50e03ead..000000000 --- a/portal-ui/build/static/js/4745.3fab4951.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4745],{29316:function(e,n,t){t(50390);var r=t(6369),i=t(86509),a=t(4285),s=t(86362),o=t(62559);n.Z=(0,a.Z)((function(e){return(0,i.Z)({link:{display:"flex",alignItems:"center",textDecoration:"none",maxWidth:"300px",padding:"2rem 2rem 0rem 2rem",color:e.palette.primary.light,fontSize:".8rem","&:hover":{textDecoration:"underline"}},icon:{marginRight:".3rem",display:"flex",alignItems:"center",justifyContent:"center","& svg.min-icon":{width:12}}})}))((function(e){var n=e.to,t=e.label,i=e.classes,a=e.className,l=e.executeOnClick;return(0,o.jsxs)(r.rU,{to:n,className:"".concat(i.link," ").concat(a||""),onClick:function(){l&&l()},children:[(0,o.jsx)("div",{className:i.icon,children:(0,o.jsx)(s.xN,{})}),(0,o.jsx)("div",{className:i.label,children:t})]})}))},25534:function(e,n,t){var r=t(18489),i=(t(50390),t(25594)),a=t(86509),s=t(4285),o=t(72462),l=t(62559);n.Z=(0,s.Z)((function(e){return(0,a.Z)((0,r.Z)({},o.Bw))}))((function(e){var n=e.classes,t=e.className,r=void 0===t?"":t,a=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(i.ZP,{container:!0,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:r,children:a})})})}))},35721:function(e,n,t){var r=t(50390),i=t(34424),a=t(25594),s=t(86509),o=t(4285),l=t(35477),c=t(95467),d=t(26805),m=t(44078),g=t(5265),u=t(86362),x=t(62559),f={toggleList:g.kQ},p=(0,i.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),f);n.Z=p((0,o.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,i=e.actions,s=e.sidebarOpen,o=e.operatorMode,g=e.managerObjects,f=e.toggleList,p=e.middleComponent;return e.features.includes("hide-menu")?(0,x.jsx)(r.Fragment,{}):(0,x.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,x.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,x.jsx)("div",{className:n.logo,children:o?(0,x.jsx)(d.Z,{}):(0,x.jsx)(m.Z,{})}),(0,x.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),p&&(0,x.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:p}),(0,x.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:p?3:6,className:n.rightMenu,children:[i&&i,g&&g.length>0&&(0,x.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){f()},id:"object-manager-toggle",size:"large",children:(0,x.jsx)(u.gx,{})})]})]})})))},14745:function(e,n,t){t.r(n),t.d(n,{default:function(){return g}});var r=t(50390),i=t(35721),a=t(51444),s=t(29316),o=t(25534),l=t(56805),c=t(62559),d=function(e){var n=e.onClick,t=e.icon,r=e.name;return(0,c.jsxs)("button",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start",padding:10,background:"transparent",border:"1px solid #E5E5E5",borderRadius:2,cursor:"pointer"},onClick:function(){n(r)},children:[t?(0,c.jsx)(l.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:t}):null,(0,c.jsx)("div",{style:{fontWeight:600,marginLeft:20},children:r})]})},m=t(49495),g=function(e){var n=e.history;return(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)(i.Z,{label:"Tier Configuration"}),(0,c.jsx)(s.Z,{to:m.gA.TIERS,label:"Return to Configured Tiers"}),(0,c.jsx)(o.Z,{children:(0,c.jsxs)(l.Z,{sx:{border:"1px solid #eaeaea",padding:"40px"},children:[(0,c.jsx)("div",{style:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Select Tier Type"}),(0,c.jsx)(l.Z,{sx:{margin:"0 auto",display:"grid",gridGap:"47px",gridTemplateColumns:{xs:"repeat(1, 1fr)",sm:"repeat(2, 1fr)",md:"repeat(3, 1fr)",lg:"repeat(4, 1fr)"}},children:a.Bh.map((function(e,t){return(0,c.jsx)(d,{name:e.targetTitle,onClick:function(){var t;t=e.serviceName,n.push("".concat(m.gA.TIERS_ADD,"/").concat(t))},icon:e.logo},"tierOpt-".concat(t.toString,"-").concat(e.targetTitle))}))})]})})]})}},51444:function(e,n,t){t.d(n,{Pp:function(){return a},f0:function(){return s},b2:function(){return o},vB:function(){return l},Bh:function(){return c}});var r=t(86362),i=t(62559),a="minio",s="gcs",o="s3",l="azure",c=[{serviceName:a,targetTitle:"MinIO",logo:(0,i.jsx)(r.$E,{}),logoXs:(0,i.jsx)(r.YE,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,i.jsx)(r.UQ,{}),logoXs:(0,i.jsx)(r.Vw,{})},{serviceName:o,targetTitle:"AWS S3",logo:(0,i.jsx)(r.fe,{}),logoXs:(0,i.jsx)(r.Xj,{})},{serviceName:l,targetTitle:"Azure",logo:(0,i.jsx)(r.jz,{}),logoXs:(0,i.jsx)(r.nA,{})}]}}]); -//# sourceMappingURL=4745.3fab4951.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4745.3fab4951.chunk.js.map b/portal-ui/build/static/js/4745.3fab4951.chunk.js.map deleted file mode 100644 index 1b5eb1194..000000000 --- a/portal-ui/build/static/js/4745.3fab4951.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4745.3fab4951.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeCard.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackSettingsIcon } from \"../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"flex\",\n alignItems: \"center\",\n textDecoration: \"none\",\n maxWidth: \"300px\",\n padding: \"2rem 2rem 0rem 2rem\",\n color: theme.palette.primary.light,\n fontSize: \".8rem\",\n \"&:hover\": {\n textDecoration: \"underline\",\n },\n },\n icon: {\n marginRight: \".3rem\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n \"& svg.min-icon\": {\n width: 12,\n },\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
    \n \n
    \n
    {label}
    \n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\n\ntype TierTypeCardProps = {\n onClick: (name: string) => void;\n icon?: any;\n name: string;\n};\nconst TierTypeCard = ({ onClick, icon, name }: TierTypeCardProps) => {\n return (\n {\n onClick(name);\n }}\n >\n {icon ? (\n \n {icon}\n \n ) : null}\n\n \n {name}\n \n \n );\n};\n\nexport default TierTypeCard;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\n\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport { tierTypes } from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { Box } from \"@mui/material\";\nimport TierTypeCard from \"./TierTypeCard\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\ninterface ITypeTiersConfig {\n history: any;\n}\n\nconst TierTypeSelector = ({ history }: ITypeTiersConfig) => {\n const typeSelect = (selectName: string) => {\n history.push(`${IAM_PAGES.TIERS_ADD}/${selectName}`);\n };\n\n return (\n \n \n \n\n \n \n
    \n Select Tier Type\n
    \n \n {tierTypes.map((tierType, index) => (\n {\n typeSelect(tierType.serviceName);\n }}\n icon={tierType.logo}\n />\n ))}\n \n \n
    \n
    \n );\n};\n\nexport default TierTypeSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n AzureTierIcon,\n GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\n} from \"../../../../icons\";\n\nexport const minioServiceName = \"minio\";\nexport const gcsServiceName = \"gcs\";\nexport const s3ServiceName = \"s3\";\nexport const azureServiceName = \"azure\";\n\nexport const tierTypes = [\n {\n serviceName: minioServiceName,\n targetTitle: \"MinIO\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: gcsServiceName,\n targetTitle: \"Google Cloud Storage\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: s3ServiceName,\n targetTitle: \"AWS S3\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: azureServiceName,\n targetTitle: \"Azure\",\n logo: ,\n logoXs: ,\n },\n];\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","textDecoration","maxWidth","padding","color","palette","primary","light","fontSize","icon","marginRight","justifyContent","width","to","label","classes","className","executeOnClick","onClick","pageContentStyles","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","fontWeight","marginLeft","marginTop","rightMenu","textAlign","logo","fill","main","middleComponent","actions","includes","Fragment","direction","sm","md","sx","paddingTop","variant","length","component","id","size","name","style","background","border","borderRadius","cursor","Box","height","history","PageHeader","BackLink","IAM_PAGES","PageLayout","paddingBottom","margin","gridGap","gridTemplateColumns","lg","tierTypes","tierType","index","targetTitle","selectName","serviceName","push","toString","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","logoXs"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4745.8fd307b8.chunk.js b/portal-ui/build/static/js/4745.8fd307b8.chunk.js new file mode 100644 index 000000000..7fdce9194 --- /dev/null +++ b/portal-ui/build/static/js/4745.8fd307b8.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4745],{29316:function(e,n,t){t(50390);var i=t(6369),r=t(86509),a=t(4285),s=t(14549),o=t(56805),l=t(62559);n.Z=(0,a.Z)((function(e){return(0,r.Z)({link:{display:"inline-block",alignItems:"center",justifyContent:"center",textDecoration:"none",maxWidth:"40px","&:active":{color:e.palette.primary.light}},icon:{marginRight:"11px",display:"flex",alignItems:"center",justifyContent:"center",height:"35px",width:"35px",borderRadius:"2px","&:hover":{background:"rgba(234,237,238)"},"& svg.min-icon":{width:"18px",height:"12px"}},label:{display:"flex",alignItems:"center",height:"35px",padding:"0 0px 0 5px",fontSize:"18px",fontWeight:600,color:e.palette.primary.light}})}))((function(e){var n=e.to,t=e.label,r=e.classes,a=e.className,c=e.executeOnClick;return(0,l.jsxs)(o.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,l.jsx)(i.rU,{to:n,className:"".concat(r.link," ").concat(a||""),onClick:function(){c&&c()},children:(0,l.jsx)("div",{className:r.icon,children:(0,l.jsx)(s.xC,{})})}),(0,l.jsx)("div",{className:r.label,children:t})]})}))},25534:function(e,n,t){var i=t(18489),r=(t(50390),t(25594)),a=t(86509),s=t(4285),o=t(72462),l=t(62559);n.Z=(0,s.Z)((function(e){return(0,a.Z)((0,i.Z)({},o.Bw))}))((function(e){var n=e.classes,t=e.className,i=void 0===t?"":t,a=e.children;return(0,l.jsx)("div",{className:n.contentSpacer,children:(0,l.jsx)(r.ZP,{container:!0,children:(0,l.jsx)(r.ZP,{item:!0,xs:12,className:i,children:a})})})}))},35721:function(e,n,t){var i=t(50390),r=t(34424),a=t(25594),s=t(86509),o=t(4285),l=t(35477),c=t(95467),d=t(26805),x=t(44078),g=t(5265),m=t(14549),p=t(62559),u={toggleList:g.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),u);n.Z=f((0,o.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var n=e.classes,t=e.label,r=e.actions,s=e.sidebarOpen,o=e.operatorMode,g=e.managerObjects,u=e.toggleList,f=e.middleComponent;return e.features.includes("hide-menu")?(0,p.jsx)(i.Fragment,{}):(0,p.jsxs)(a.ZP,{container:!0,className:"".concat(n.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,p.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,p.jsx)("div",{className:n.logo,children:o?(0,p.jsx)(d.Z,{}):(0,p.jsx)(x.Z,{})}),(0,p.jsx)(l.Z,{variant:"h4",className:n.labelStyle,children:t})]}),f&&(0,p.jsx)(a.ZP,{item:!0,xs:12,sm:12,md:6,className:n.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,p.jsxs)(a.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:n.rightMenu,children:[r&&r,g&&g.length>0&&(0,p.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){u()},id:"object-manager-toggle",size:"large",children:(0,p.jsx)(m.gx,{})})]})]})})))},14745:function(e,n,t){t.r(n),t.d(n,{default:function(){return g}});var i=t(50390),r=t(35721),a=t(51444),s=t(29316),o=t(25534),l=t(56805),c=t(62559),d=function(e){var n=e.onClick,t=e.icon,i=e.name;return(0,c.jsxs)("button",{style:{display:"flex",alignItems:"center",justifyContent:"flex-start",padding:10,background:"transparent",border:"1px solid #E5E5E5",borderRadius:2,cursor:"pointer"},onClick:function(){n(i)},children:[t?(0,c.jsx)(l.Z,{sx:{"& .min-icon":{height:"60px",width:"60px"}},children:t}):null,(0,c.jsx)("div",{style:{fontWeight:600,marginLeft:20},children:i})]})},x=t(49495),g=function(e){var n=e.history;return(0,c.jsxs)(i.Fragment,{children:[(0,c.jsx)(r.Z,{label:(0,c.jsx)(i.Fragment,{children:(0,c.jsx)(s.Z,{to:x.gA.TIERS,label:"Tier Types"})}),actions:(0,c.jsx)(i.Fragment,{})}),(0,c.jsx)(o.Z,{children:(0,c.jsxs)(l.Z,{sx:{border:"1px solid #eaeaea",padding:"40px"},children:[(0,c.jsx)("div",{style:{fontSize:16,fontWeight:600,paddingBottom:15},children:"Select Tier Type"}),(0,c.jsx)(l.Z,{sx:{margin:"0 auto",display:"grid",gridGap:"47px",gridTemplateColumns:{xs:"repeat(1, 1fr)",sm:"repeat(2, 1fr)",md:"repeat(3, 1fr)",lg:"repeat(4, 1fr)"}},children:a.Bh.map((function(e,t){return(0,c.jsx)(d,{name:e.targetTitle,onClick:function(){var t;t=e.serviceName,n.push("".concat(x.gA.TIERS_ADD,"/").concat(t))},icon:e.logo},"tierOpt-".concat(t.toString,"-").concat(e.targetTitle))}))})]})})]})}},51444:function(e,n,t){t.d(n,{Pp:function(){return a},f0:function(){return s},b2:function(){return o},vB:function(){return l},Bh:function(){return c}});var i=t(14549),r=t(62559),a="minio",s="gcs",o="s3",l="azure",c=[{serviceName:a,targetTitle:"MinIO",logo:(0,r.jsx)(i.$E,{}),logoXs:(0,r.jsx)(i.YE,{})},{serviceName:s,targetTitle:"Google Cloud Storage",logo:(0,r.jsx)(i.UQ,{}),logoXs:(0,r.jsx)(i.Vw,{})},{serviceName:o,targetTitle:"AWS S3",logo:(0,r.jsx)(i.fe,{}),logoXs:(0,r.jsx)(i.Xj,{})},{serviceName:l,targetTitle:"Azure",logo:(0,r.jsx)(i.jz,{}),logoXs:(0,r.jsx)(i.nA,{})}]}}]); +//# sourceMappingURL=4745.8fd307b8.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4745.8fd307b8.chunk.js.map b/portal-ui/build/static/js/4745.8fd307b8.chunk.js.map new file mode 100644 index 000000000..2dfbb2507 --- /dev/null +++ b/portal-ui/build/static/js/4745.8fd307b8.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/4745.8fd307b8.chunk.js","mappings":"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","sources":["common/BackLink.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeCard.tsx","screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx","screens/Console/Configurations/TiersConfiguration/utils.tsx"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { BackIcon } from \"../icons\";\nimport { Box } from \"@mui/material\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n link: {\n display: \"inline-block\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textDecoration: \"none\",\n maxWidth: \"40px\",\n \"&:active\": {\n color: theme.palette.primary.light,\n },\n },\n icon: {\n marginRight: \"11px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"35px\",\n width: \"35px\",\n borderRadius: \"2px\",\n \"&:hover\": {\n background: \"rgba(234,237,238)\",\n },\n \"& svg.min-icon\": {\n width: \"18px\",\n height: \"12px\",\n },\n },\n label: {\n display: \"flex\",\n alignItems: \"center\",\n height: \"35px\",\n padding: \"0 0px 0 5px\",\n fontSize: \"18px\",\n fontWeight: 600,\n color: theme.palette.primary.light,\n },\n });\n\ninterface IBackLink {\n classes: any;\n to: string;\n label: string;\n className?: any;\n executeOnClick?: () => void;\n}\n\nconst BackLink = ({\n to,\n label,\n classes,\n className,\n executeOnClick,\n}: IBackLink) => {\n return (\n \n {\n if (executeOnClick) {\n executeOnClick();\n }\n }}\n >\n
    \n \n
    \n \n
    {label}
    \n \n );\n};\n\nexport default withStyles(styles)(BackLink);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\n\ntype TierTypeCardProps = {\n onClick: (name: string) => void;\n icon?: any;\n name: string;\n};\nconst TierTypeCard = ({ onClick, icon, name }: TierTypeCardProps) => {\n return (\n {\n onClick(name);\n }}\n >\n {icon ? (\n \n {icon}\n \n ) : null}\n\n \n {name}\n \n \n );\n};\n\nexport default TierTypeCard;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\n\nimport PageHeader from \"../../Common/PageHeader/PageHeader\";\nimport { tierTypes } from \"./utils\";\nimport BackLink from \"../../../../common/BackLink\";\nimport PageLayout from \"../../Common/Layout/PageLayout\";\nimport { Box } from \"@mui/material\";\nimport TierTypeCard from \"./TierTypeCard\";\nimport { IAM_PAGES } from \"../../../../common/SecureComponent/permissions\";\n\ninterface ITypeTiersConfig {\n history: any;\n}\n\nconst TierTypeSelector = ({ history }: ITypeTiersConfig) => {\n const typeSelect = (selectName: string) => {\n history.push(`${IAM_PAGES.TIERS_ADD}/${selectName}`);\n };\n\n return (\n \n \n \n \n }\n actions={}\n />\n\n \n \n
    \n Select Tier Type\n
    \n \n {tierTypes.map((tierType, index) => (\n {\n typeSelect(tierType.serviceName);\n }}\n icon={tierType.logo}\n />\n ))}\n \n \n
    \n
    \n );\n};\n\nexport default TierTypeSelector;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport {\n AzureTierIcon,\n GoogleTierIcon,\n MinIOTierIcon,\n MinIOTierIconXs,\n S3TierIcon,\n GoogleTierIconXs,\n S3TierIconXs,\n AzureTierIconXs,\n} from \"../../../../icons\";\n\nexport const minioServiceName = \"minio\";\nexport const gcsServiceName = \"gcs\";\nexport const s3ServiceName = \"s3\";\nexport const azureServiceName = \"azure\";\n\nexport const tierTypes = [\n {\n serviceName: minioServiceName,\n targetTitle: \"MinIO\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: gcsServiceName,\n targetTitle: \"Google Cloud Storage\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: s3ServiceName,\n targetTitle: \"AWS S3\",\n logo: ,\n logoXs: ,\n },\n {\n serviceName: azureServiceName,\n targetTitle: \"Azure\",\n logo: ,\n logoXs: ,\n },\n];\n"],"names":["withStyles","theme","createStyles","link","display","alignItems","justifyContent","textDecoration","maxWidth","color","palette","primary","light","icon","marginRight","height","width","borderRadius","background","label","padding","fontSize","fontWeight","to","classes","className","executeOnClick","sx","onClick","pageContentStyles","children","contentSpacer","container","item","xs","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","backgroundColor","left","boxShadow","labelStyle","marginLeft","marginTop","rightMenu","textAlign","logo","fill","main","middleComponent","actions","includes","Fragment","direction","sm","md","paddingTop","variant","length","component","id","size","name","style","border","cursor","Box","history","PageHeader","BackLink","IAM_PAGES","PageLayout","paddingBottom","margin","gridGap","gridTemplateColumns","lg","tierTypes","tierType","index","targetTitle","selectName","serviceName","push","toString","minioServiceName","gcsServiceName","s3ServiceName","azureServiceName","logoXs"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4860.3bea7736.chunk.js b/portal-ui/build/static/js/4860.dee4560c.chunk.js similarity index 96% rename from portal-ui/build/static/js/4860.3bea7736.chunk.js rename to portal-ui/build/static/js/4860.dee4560c.chunk.js index c85c7e047..887c3f2ce 100644 --- a/portal-ui/build/static/js/4860.3bea7736.chunk.js +++ b/portal-ui/build/static/js/4860.dee4560c.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4860],{21639:function(n,e,t){var o=t(23430),r=t(50390),i=t(30324);e.Z=function(n,e){var t=(0,r.useState)(!1),c=(0,o.Z)(t,2),s=c[0],a=c[1];return[s,function(t,o,r){a(!0),i.Z.invoke(t,o,r).then((function(e){a(!1),n(e)})).catch((function(n){a(!1),e(n)}))}]}},60656:function(n,e,t){var o=t(18489),r=t(50390),i=t(84402),c=t(78426),s=t(93085),a=t(7887),l=t(66946),u=t(7521),d=t(95467),f=t(21278),p=t(86509),m=t(4285),v=t(72462),Z=t(62559);e.Z=(0,m.Z)((function(n){return(0,p.Z)((0,o.Z)({},v.Qw))}))((function(n){var e=n.isOpen,t=void 0!==e&&e,p=n.onClose,m=n.onCancel,v=n.onConfirm,h=n.classes,x=void 0===h?{}:h,j=n.title,C=void 0===j?"":j,b=n.isLoading,k=n.confirmationContent,g=n.cancelText,y=void 0===g?"Cancel":g,N=n.confirmText,O=void 0===N?"Confirm":N,w=n.confirmButtonProps,B=void 0===w?{}:w,E=n.cancelButtonProps,I=void 0===E?{}:E,M=n.titleIcon,P=void 0===M?null:M;return(0,Z.jsxs)(i.Z,{open:t,onClose:function(n,e){"backdropClick"!==e&&p()},className:x.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,Z.jsxs)(c.Z,{className:x.title,children:[(0,Z.jsxs)("div",{className:x.titleText,children:[P," ",C]}),(0,Z.jsx)("div",{className:x.closeContainer,children:(0,Z.jsx)(d.Z,{"aria-label":"close",className:x.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,Z.jsx)(f.Z,{})})})]}),(0,Z.jsx)(s.Z,{className:x.content,children:k}),(0,Z.jsxs)(a.Z,{className:x.actions,children:[(0,Z.jsx)(l.Z,(0,o.Z)((0,o.Z)({className:x.cancelButton,onClick:m||p,disabled:b,type:"button"},I),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:y})),(0,Z.jsx)(u.Z,(0,o.Z)((0,o.Z)({className:x.confirmButton,type:"button",onClick:v,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,Z.jsx)(r.Fragment,{}),autoFocus:!0,id:"confirm-ok"},B),{},{children:O}))]})]})}))},65284:function(n,e,t){t.r(e);var o=t(23430),r=(t(50390),t(34424)),i=t(23473),c=t(44149),s=t(60656),a=t(21639),l=t(86362),u=t(62559),d={setErrorSnackMessage:c.Ih},f=(0,r.$j)(null,d);e.default=f((function(n){var e=n.selectedGroup,t=n.deleteOpen,r=n.closeDeleteModalAndRefresh,c=n.setErrorSnackMessage,d=(0,a.Z)((function(){return r(!0)}),(function(n){return c(n)})),f=(0,o.Z)(d,2),p=f[0],m=f[1];if(!e)return null;return(0,u.jsx)(s.Z,{title:"Delete Group",confirmText:"Delete",isOpen:t,titleIcon:(0,u.jsx)(l.Nv,{}),isLoading:p,onConfirm:function(){m("DELETE","/api/v1/group?name=".concat(encodeURI(e)))},onClose:function(){return r(!1)},confirmationContent:(0,u.jsxs)(i.Z,{children:["Are you sure you want to delete group",(0,u.jsx)("br",{}),(0,u.jsx)("b",{children:e}),"?"]})})}))},21278:function(n,e,t){var o=t(64119);e.Z=void 0;var r=o(t(66830)),i=t(62559),c=(0,r.default)((0,i.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");e.Z=c},18207:function(n,e,t){function o(){return o=Object.assign||function(n){for(var e=1;e=0||(r[t]=n[t]);return r}t.d(e,{Z:function(){return o}})}}]); -//# sourceMappingURL=4860.3bea7736.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4860],{21639:function(n,e,t){var o=t(23430),r=t(50390),i=t(30324);e.Z=function(n,e){var t=(0,r.useState)(!1),c=(0,o.Z)(t,2),s=c[0],a=c[1];return[s,function(t,o,r){a(!0),i.Z.invoke(t,o,r).then((function(e){a(!1),n(e)})).catch((function(n){a(!1),e(n)}))}]}},60656:function(n,e,t){var o=t(18489),r=t(50390),i=t(84402),c=t(78426),s=t(93085),a=t(7887),l=t(66946),u=t(7521),d=t(95467),f=t(21278),p=t(86509),m=t(4285),v=t(72462),Z=t(62559);e.Z=(0,m.Z)((function(n){return(0,p.Z)((0,o.Z)({},v.Qw))}))((function(n){var e=n.isOpen,t=void 0!==e&&e,p=n.onClose,m=n.onCancel,v=n.onConfirm,h=n.classes,x=void 0===h?{}:h,j=n.title,C=void 0===j?"":j,b=n.isLoading,k=n.confirmationContent,g=n.cancelText,y=void 0===g?"Cancel":g,N=n.confirmText,O=void 0===N?"Confirm":N,w=n.confirmButtonProps,B=void 0===w?{}:w,E=n.cancelButtonProps,I=void 0===E?{}:E,M=n.titleIcon,P=void 0===M?null:M;return(0,Z.jsxs)(i.Z,{open:t,onClose:function(n,e){"backdropClick"!==e&&p()},className:x.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,Z.jsxs)(c.Z,{className:x.title,children:[(0,Z.jsxs)("div",{className:x.titleText,children:[P," ",C]}),(0,Z.jsx)("div",{className:x.closeContainer,children:(0,Z.jsx)(d.Z,{"aria-label":"close",className:x.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,Z.jsx)(f.Z,{})})})]}),(0,Z.jsx)(s.Z,{className:x.content,children:k}),(0,Z.jsxs)(a.Z,{className:x.actions,children:[(0,Z.jsx)(l.Z,(0,o.Z)((0,o.Z)({className:x.cancelButton,onClick:m||p,disabled:b,type:"button"},I),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:y})),(0,Z.jsx)(u.Z,(0,o.Z)((0,o.Z)({className:x.confirmButton,type:"button",onClick:v,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,Z.jsx)(r.Fragment,{}),autoFocus:!0,id:"confirm-ok"},B),{},{children:O}))]})]})}))},65284:function(n,e,t){t.r(e);var o=t(23430),r=(t(50390),t(34424)),i=t(23473),c=t(44149),s=t(60656),a=t(21639),l=t(14549),u=t(62559),d={setErrorSnackMessage:c.Ih},f=(0,r.$j)(null,d);e.default=f((function(n){var e=n.selectedGroup,t=n.deleteOpen,r=n.closeDeleteModalAndRefresh,c=n.setErrorSnackMessage,d=(0,a.Z)((function(){return r(!0)}),(function(n){return c(n)})),f=(0,o.Z)(d,2),p=f[0],m=f[1];if(!e)return null;return(0,u.jsx)(s.Z,{title:"Delete Group",confirmText:"Delete",isOpen:t,titleIcon:(0,u.jsx)(l.Nv,{}),isLoading:p,onConfirm:function(){m("DELETE","/api/v1/group?name=".concat(encodeURI(e)))},onClose:function(){return r(!1)},confirmationContent:(0,u.jsxs)(i.Z,{children:["Are you sure you want to delete group",(0,u.jsx)("br",{}),(0,u.jsx)("b",{children:e}),"?"]})})}))},21278:function(n,e,t){var o=t(64119);e.Z=void 0;var r=o(t(66830)),i=t(62559),c=(0,r.default)((0,i.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");e.Z=c},18207:function(n,e,t){function o(){return o=Object.assign||function(n){for(var e=1;e=0||(r[t]=n[t]);return r}t.d(e,{Z:function(){return o}})}}]); +//# sourceMappingURL=4860.dee4560c.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4860.3bea7736.chunk.js.map b/portal-ui/build/static/js/4860.dee4560c.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/4860.3bea7736.chunk.js.map rename to portal-ui/build/static/js/4860.dee4560c.chunk.js.map index 7fe3da746..1396fca02 100644 --- a/portal-ui/build/static/js/4860.3bea7736.chunk.js.map +++ b/portal-ui/build/static/js/4860.dee4560c.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/4860.3bea7736.chunk.js","mappings":"kJA+BA,IAvBe,SACbA,EACAC,GAEA,OAAkCC,EAAAA,EAAAA,WAAkB,GAApD,eAAOC,EAAP,KAAkBC,EAAlB,KAgBA,MAAO,CAACD,EAdQ,SAACE,EAAgBC,EAAaC,GAC5CH,GAAa,GACbI,EAAAA,EAAAA,OACUH,EAAQC,EAAKC,GACpBE,MAAK,SAACC,GACLN,GAAa,GACbJ,EAAUU,MAEXC,OAAM,SAACC,GACNR,GAAa,GACbH,EAAQW,U,iLCmGhB,KAAeC,EAAAA,EAAAA,IA1GA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,UACRC,EAAAA,OAwGP,EArFsB,SAAC,GAcI,IAAD,IAbxBC,OAAAA,OAawB,SAZxBC,EAYwB,EAZxBA,QACAC,EAWwB,EAXxBA,SACAC,EAUwB,EAVxBA,UAUwB,IATxBC,QAAAA,OASwB,MATd,GASc,MARxBC,MAAAA,OAQwB,MARhB,GAQgB,EAPxBnB,EAOwB,EAPxBA,UACAoB,EAMwB,EANxBA,oBAMwB,IALxBC,WAAAA,OAKwB,MALX,SAKW,MAJxBC,YAAAA,OAIwB,MAJV,UAIU,MAHxBC,mBAAAA,OAGwB,MAHH,GAGG,MAFxBC,kBAAAA,OAEwB,MAFJ,GAEI,MADxBC,UAAAA,OACwB,MADZ,KACY,EACxB,OACE,UAAC,IAAD,CACEC,KAAMZ,EACNC,QAAS,SAACY,EAAOC,GACA,kBAAXA,GACFb,KAGJc,UAAWX,EAAQY,KACnBC,GAAI,CACF,mBAAoB,CAClBC,QAAS,wBAVf,WAcE,UAAC,IAAD,CAAaH,UAAWX,EAAQC,MAAhC,WACE,iBAAKU,UAAWX,EAAQe,UAAxB,UACGR,EADH,IACeN,MAEf,gBAAKU,UAAWX,EAAQgB,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACXL,UAAWX,EAAQiB,YACnBC,QAASrB,EACTsB,eAAa,EACbC,KAAK,QALP,UAOE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAeT,UAAWX,EAAQqB,QAAlC,SACGnB,KAEH,UAAC,IAAD,CAAeS,UAAWX,EAAQsB,QAAlC,WACE,SAAC,KAAD,gBACEX,UAAWX,EAAQuB,aACnBL,QAASpB,GAAYD,EACrB2B,SAAU1C,EACV2C,KAAK,UACDnB,GALN,IAMEoB,QAAQ,WACRC,MAAM,UACNC,GAAI,iBARN,SAUGzB,MAGH,SAAC,KAAD,gBACEQ,UAAWX,EAAQ6B,cACnBJ,KAAK,SACLP,QAASnB,EACT+B,QAAShD,EACT0C,SAAU1C,EACV4C,QAAQ,WACRC,MAAM,YACNI,gBAAgB,QAChBC,WAAW,SAAC,WAAD,IACXC,WAAS,EACTL,GAAI,cACAvB,GAZN,aAcGD,e,oIC7CL8B,EAAqB,CACzBC,qBAAAA,EAAAA,IAGIC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMH,GAEhC,UAAeE,GA7CK,SAAC,GAKA,IAJnBE,EAIkB,EAJlBA,cACAC,EAGkB,EAHlBA,WACAC,EAEkB,EAFlBA,2BACAL,EACkB,EADlBA,qBAMA,GAAyCM,EAAAA,EAAAA,IAJpB,kBAAMD,GAA2B,MACnC,SAACjD,GAAD,OAA+B4C,EAAqB5C,MAGvE,eAAOmD,EAAP,KAAsBC,EAAtB,KAEA,IAAKL,EACH,OAAO,KAMT,OACE,SAAC,IAAD,CACErC,MAAK,eACLG,YAAa,SACbR,OAAQ2C,EACRhC,WAAW,SAAC,KAAD,IACXzB,UAAW4D,EACX3C,UAXkB,WACpB4C,EAAgB,SAAD,6BAAiCC,UAAUN,MAWxDzC,QAnBY,kBAAM2C,GAA2B,IAoB7CtC,qBACE,UAAC,IAAD,oDAEE,mBACA,uBAAIoC,IAHN,a,0BC3DJO,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,0GACD,SAEJN,EAAQ,EAAUG,G,sBCjBH,SAASI,IAetB,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,IAK3B,OAAOL,GAGFH,EAASY,MAAMC,KAAMR,W,uDCff,SAASS,EAA8BP,EAAQQ,GAC5D,GAAc,MAAVR,EAAgB,MAAO,GAC3B,IAEIC,EAAKJ,EAFLD,EAAS,GACTa,EAAaf,OAAOgB,KAAKV,GAG7B,IAAKH,EAAI,EAAGA,EAAIY,EAAWV,OAAQF,IACjCI,EAAMQ,EAAWZ,GACbW,EAASG,QAAQV,IAAQ,IAC7BL,EAAOK,GAAOD,EAAOC,IAGvB,OAAOL,E","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Groups/DeleteGroup.tsx","../node_modules/@mui/icons-material/Close.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeleteGroup {\n selectedGroup: string;\n deleteOpen: boolean;\n closeDeleteModalAndRefresh: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteGroup = ({\n selectedGroup,\n deleteOpen,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeleteGroup) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedGroup) {\n return null;\n }\n const onDeleteGroup = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/group?name=${encodeURI(selectedGroup)}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onDeleteGroup}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete group\n
    \n {selectedGroup}?\n
    \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteGroup);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","id","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","selectedGroup","deleteOpen","closeDeleteModalAndRefresh","useApi","deleteLoading","invokeDeleteApi","encodeURI","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/4860.dee4560c.chunk.js","mappings":"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","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Groups/DeleteGroup.tsx","../node_modules/@mui/icons-material/Close.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeleteGroup {\n selectedGroup: string;\n deleteOpen: boolean;\n closeDeleteModalAndRefresh: any;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeleteGroup = ({\n selectedGroup,\n deleteOpen,\n closeDeleteModalAndRefresh,\n setErrorSnackMessage,\n}: IDeleteGroup) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedGroup) {\n return null;\n }\n const onDeleteGroup = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/group?name=${encodeURI(selectedGroup)}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onDeleteGroup}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete group\n
    \n {selectedGroup}?\n
    \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default connector(DeleteGroup);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","id","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","selectedGroup","deleteOpen","closeDeleteModalAndRefresh","useApi","deleteLoading","invokeDeleteApi","encodeURI","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/4966.c825dc1c.chunk.js b/portal-ui/build/static/js/4966.c825dc1c.chunk.js deleted file mode 100644 index 542fe6d7d..000000000 --- a/portal-ui/build/static/js/4966.c825dc1c.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[4966],{92440:function(e,n,i){var o=i(36222),t=i(18489),a=i(50390),r=i(86509),l=i(4285),s=i(49056),c=i(36554),d=i(94187),u=i(35477),m=i(25594),p=i(72462),h=i(97538),x=i(44977),v=i(62559),f=(0,l.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(s.Z);n.Z=(0,l.Z)((function(e){return(0,r.Z)((0,t.Z)((0,t.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},p.OR),p.YI))}))((function(e){var n=e.label,i=void 0===n?"":n,r=e.onChange,l=e.value,s=e.id,p=e.name,b=e.checked,Z=void 0!==b&&b,g=e.disabled,j=void 0!==g&&g,C=e.switchOnly,N=void 0!==C&&C,k=e.tooltip,y=void 0===k?"":k,F=e.description,P=void 0===F?"":F,M=e.classes,w=e.indicatorLabels,L=e.extraInputProps,B=void 0===L?{}:L,S=(0,v.jsxs)(a.Fragment,{children:[!N&&(0,v.jsx)("span",{className:(0,x.Z)(M.indicatorLabel,(0,o.Z)({},M.indicatorLabelOn,!Z)),children:w&&w.length>1?w[1]:"OFF"}),(0,v.jsx)(f,{checked:Z,onChange:r,color:"primary",name:p,inputProps:(0,t.Z)({"aria-label":"primary checkbox"},B),disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:l,id:s}),!N&&(0,v.jsx)("span",{className:(0,x.Z)(M.indicatorLabel,(0,o.Z)({},M.indicatorLabelOn,Z)),children:w?w[0]:"ON"})]});return N?S:(0,v.jsx)("div",{className:M.divContainer,children:(0,v.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,v.jsx)(m.ZP,{item:!0,xs:!0,children:(0,v.jsxs)(m.ZP,{container:!0,children:[(0,v.jsx)(m.ZP,{item:!0,xs:12,sm:""!==P?4:10,md:""!==P?3:9,children:""!==i&&(0,v.jsxs)(c.Z,{htmlFor:s,className:M.inputLabel,children:[(0,v.jsx)("span",{children:i}),""!==y&&(0,v.jsx)("div",{className:M.tooltipContainer,children:(0,v.jsx)(d.Z,{title:y,placement:"top-start",children:(0,v.jsx)("div",{className:M.tooltip,children:(0,v.jsx)(h.Z,{})})})})]})}),(0,v.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==P&&(0,v.jsx)(u.Z,{component:"p",className:M.fieldDescription,children:P})})]})}),(0,v.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:M.switchContainer,children:S})]})})}))},66964:function(e,n,i){var o=i(18489),t=i(50390),a=i(12066),r=i(25594),l=i(36554),s=i(94187),c=i(95467),d=i(86509),u=i(62449),m=i(4285),p=i(72462),h=i(97538),x=i(44977),v=i(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)({},p.gM))}));function b(e){var n=f();return(0,v.jsx)(a.Z,(0,o.Z)({InputProps:{classes:n}},e))}n.Z=(0,m.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},p.YI),p.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,o.Z)((0,o.Z)({},p.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var n=e.label,i=e.onChange,a=e.value,d=e.id,u=e.name,m=e.type,p=void 0===m?"text":m,f=e.autoComplete,Z=void 0===f?"off":f,g=e.disabled,j=void 0!==g&&g,C=e.multiline,N=void 0!==C&&C,k=e.tooltip,y=void 0===k?"":k,F=e.index,P=void 0===F?0:F,M=e.error,w=void 0===M?"":M,L=e.required,B=void 0!==L&&L,S=e.placeholder,E=void 0===S?"":S,I=e.min,R=e.max,O=e.overlayId,T=e.overlayIcon,z=void 0===T?null:T,A=e.overlayObject,W=void 0===A?null:A,K=e.extraInputProps,D=void 0===K?{}:K,V=e.overlayAction,$=e.noLabelMinWidth,q=void 0!==$&&$,H=e.pattern,Y=void 0===H?"":H,Q=e.autoFocus,U=void 0!==Q&&Q,_=e.classes,G=e.className,X=void 0===G?"":G,J=e.onKeyPress,ee=(0,o.Z)({"data-index":P},D);return"number"===p&&I&&(ee.min=I),"number"===p&&R&&(ee.max=R),""!==Y&&(ee.pattern=Y),(0,v.jsx)(t.Fragment,{children:(0,v.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==X?X:"",""!==w?_.errorInField:_.inputBoxContainer),children:[""!==n&&(0,v.jsxs)(l.Z,{htmlFor:d,className:q?_.noMinWidthLabel:_.inputLabel,children:[(0,v.jsxs)("span",{children:[n,B?"*":""]}),""!==y&&(0,v.jsx)("div",{className:_.tooltipContainer,children:(0,v.jsx)(s.Z,{title:y,placement:"top-start",children:(0,v.jsx)("div",{className:_.tooltip,children:(0,v.jsx)(h.Z,{})})})})]}),(0,v.jsxs)("div",{className:_.textBoxContainer,children:[(0,v.jsx)(b,{id:d,name:u,fullWidth:!0,value:a,autoFocus:U,disabled:j,onChange:i,type:p,multiline:N,autoComplete:Z,inputProps:ee,error:""!==w,helperText:w,placeholder:E,className:_.inputRebase,onKeyPress:J}),z&&(0,v.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:(0,v.jsx)(c.Z,{onClick:V?function(){V()}:function(){return null},id:O,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:z})}),W&&(0,v.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==n?"withLabel":""),children:W})]})]})})}))},1365:function(e,n,i){var o=i(23430),t=i(50390),a=i(86509),r=i(4285),l=i(26936),s=i(31680),c=i(62559);n.Z=(0,r.Z)((function(e){return(0,a.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var n=e.classes,i=e.id,a=e.unitSelected,r=e.unitsList,d=e.disabled,u=void 0!==d&&d,m=e.onUnitChange,p=t.useState(null),h=(0,o.Z)(p,2),x=h[0],v=h[1],f=Boolean(x),b=function(e){v(null),""!==e&&m&&m(e)};return(0,c.jsxs)(t.Fragment,{children:[(0,c.jsx)("button",{id:"".concat(i,"-button"),"aria-controls":"".concat(i,"-menu"),"aria-haspopup":"true","aria-expanded":f?"true":void 0,onClick:function(e){v(e.currentTarget)},className:n.buttonTrigger,disabled:u,type:"button",children:a}),(0,c.jsx)(l.Z,{id:"".concat(i,"-menu"),"aria-labelledby":"".concat(i,"-button"),anchorEl:x,open:f,onClose:function(){b("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:r.map((function(e){return(0,c.jsx)(s.Z,{onClick:function(){return b(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})}))},60656:function(e,n,i){var o=i(18489),t=i(50390),a=i(84402),r=i(78426),l=i(93085),s=i(7887),c=i(66946),d=i(7521),u=i(95467),m=i(21278),p=i(86509),h=i(4285),x=i(72462),v=i(62559);n.Z=(0,h.Z)((function(e){return(0,p.Z)((0,o.Z)({},x.Qw))}))((function(e){var n=e.isOpen,i=void 0!==n&&n,p=e.onClose,h=e.onCancel,x=e.onConfirm,f=e.classes,b=void 0===f?{}:f,Z=e.title,g=void 0===Z?"":Z,j=e.isLoading,C=e.confirmationContent,N=e.cancelText,k=void 0===N?"Cancel":N,y=e.confirmText,F=void 0===y?"Confirm":y,P=e.confirmButtonProps,M=void 0===P?{}:P,w=e.cancelButtonProps,L=void 0===w?{}:w,B=e.titleIcon,S=void 0===B?null:B;return(0,v.jsxs)(a.Z,{open:i,onClose:function(e,n){"backdropClick"!==n&&p()},className:b.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,v.jsxs)(r.Z,{className:b.title,children:[(0,v.jsxs)("div",{className:b.titleText,children:[S," ",g]}),(0,v.jsx)("div",{className:b.closeContainer,children:(0,v.jsx)(u.Z,{"aria-label":"close",className:b.closeButton,onClick:p,disableRipple:!0,size:"small",children:(0,v.jsx)(m.Z,{})})})]}),(0,v.jsx)(l.Z,{className:b.content,children:C}),(0,v.jsxs)(s.Z,{className:b.actions,children:[(0,v.jsx)(c.Z,(0,o.Z)((0,o.Z)({className:b.cancelButton,onClick:h||p,disabled:j,type:"button"},L),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:k})),(0,v.jsx)(d.Z,(0,o.Z)((0,o.Z)({className:b.confirmButton,type:"button",onClick:x,loading:j,disabled:j,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,v.jsx)(t.Fragment,{}),autoFocus:!0,id:"confirm-ok"},M),{},{children:F}))]})]})}))},51002:function(e,n,i){var o=i(23430),t=i(18489),a=i(50390),r=i(34424),l=i(95467),s=i(97771),c=i(84402),d=i(78426),u=i(93085),m=i(86509),p=i(4285),h=i(72462),x=i(44149),v=i(21278),f=i(45980),b=i(62559),Z=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});n.Z=(0,p.Z)((function(e){return(0,m.Z)((0,t.Z)((0,t.Z)({},h.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},h.sN))}))(Z((function(e){var n=e.onClose,i=e.modalOpen,r=e.title,m=e.children,p=e.classes,h=e.wideLimit,x=void 0===h||h,Z=e.modalSnackMessage,g=e.noContentPadding,j=e.setModalSnackMessage,C=e.titleIcon,N=void 0===C?null:C,k=(0,a.useState)(!1),y=(0,o.Z)(k,2),F=y[0],P=y[1];(0,a.useEffect)((function(){j("")}),[j]),(0,a.useEffect)((function(){if(Z){if(""===Z.message)return void P(!1);"error"!==Z.type&&P(!0)}}),[Z]);var M=x?{classes:{paper:p.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},w="";return Z&&(w=Z.detailedErrorMsg,(""===Z.detailedErrorMsg||Z.detailedErrorMsg.length<5)&&(w=Z.message)),(0,b.jsxs)(c.Z,(0,t.Z)((0,t.Z)({open:i,classes:p},M),{},{scroll:"paper",onClose:function(e,i){"backdropClick"!==i&&n()},className:p.root,children:[(0,b.jsxs)(d.Z,{className:p.title,children:[(0,b.jsxs)("div",{className:p.titleText,children:[N," ",r]}),(0,b.jsx)("div",{className:p.closeContainer,children:(0,b.jsx)(l.Z,{"aria-label":"close",className:p.closeButton,onClick:n,disableRipple:!0,size:"small",children:(0,b.jsx)(v.Z,{})})})]}),(0,b.jsx)(f.Z,{isModal:!0}),(0,b.jsx)(s.Z,{open:F,className:p.snackBarModal,onClose:function(){P(!1),j("")},message:w,ContentProps:{className:"".concat(p.snackBar," ").concat(Z&&"error"===Z.type?p.errorSnackBar:"")},autoHideDuration:Z&&"error"===Z.type?1e4:5e3}),(0,b.jsx)(u.Z,{className:g?"":p.content,children:m})]}))})))},84201:function(e,n,i){i.d(n,{R:function(){return o}});var o=function(e){var n={};return e.forEach((function(e){if(e.required&&"undefined"!==typeof e.value&&e.value.trim&&""===e.value.trim())n[e.fieldKey]="Field cannot be empty";else if(e.required||"undefined"===typeof e.value||!e.value.trim||""!==e.value.trim())if(e.customValidation&&e.customValidationMessage)n[e.fieldKey]=e.customValidationMessage;else if(e.pattern&&e.customPatternMessage){var i=new RegExp(e.pattern,"g");e.value&&""!==e.value.trim()&&!e.value.match(i)&&"undefined"!==typeof e.value&&(n[e.fieldKey]=e.customPatternMessage)}else;})),n}}}]); -//# sourceMappingURL=4966.c825dc1c.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/4966.c825dc1c.chunk.js.map b/portal-ui/build/static/js/4966.c825dc1c.chunk.js.map deleted file mode 100644 index 5e0e4b03c..000000000 --- a/portal-ui/build/static/js/4966.c825dc1c.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/4966.c825dc1c.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","utils/validationFunctions.ts"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n
    \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
    \n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n
    \n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
    \n
    \n\n \n {switchComponent}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange?: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\" && onUnitChange) {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n {unitSelected}\n \n {\n handleClose(\"\");\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {unitsList.map((unit) => (\n handleClose(unit.value)}\n key={`itemUnit-${unit.value}-${unit.label}`}\n >\n {unit.label}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nexport interface IValidation {\n fieldKey: string;\n required: boolean;\n pattern?: RegExp;\n customPatternMessage?: string;\n customValidation?: boolean; // The validation to trigger the error\n customValidationMessage?: string;\n value: string;\n}\n\nexport const commonFormValidation = (fieldsValidate: IValidation[]) => {\n let returnErrors: any = {};\n\n fieldsValidate.forEach((field) => {\n if (\n field.required &&\n typeof field.value !== \"undefined\" &&\n field.value.trim &&\n field.value.trim() === \"\"\n ) {\n returnErrors[field.fieldKey] = \"Field cannot be empty\";\n return;\n }\n // if it's not required and the value is empty, we are done here\n if (\n !field.required &&\n typeof field.value !== \"undefined\" &&\n field.value.trim &&\n field.value.trim() === \"\"\n ) {\n return;\n }\n\n if (field.customValidation && field.customValidationMessage) {\n returnErrors[field.fieldKey] = field.customValidationMessage;\n return;\n }\n\n if (field.pattern && field.customPatternMessage) {\n const rgx = new RegExp(field.pattern, \"g\");\n\n if (\n field.value &&\n field.value.trim() !== \"\" &&\n !field.value.match(rgx) &&\n typeof field.value !== \"undefined\"\n ) {\n returnErrors[field.fieldKey] = field.customPatternMessage;\n }\n return;\n }\n });\n\n return returnErrors;\n};\n"],"names":["StyledSwitch","withStyles","theme","root","width","height","padding","margin","switchBase","transform","color","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","label","onChange","value","id","name","disabled","switchOnly","description","classes","indicatorLabels","extraInputProps","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","noLabelMinWidth","pattern","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","onClick","size","buttonTrigger","unitSelected","unitsList","onUnitChange","React","anchorEl","setAnchorEl","open","Boolean","handleClose","newUnit","Fragment","undefined","event","currentTarget","onClose","anchorOrigin","vertical","horizontal","transformOrigin","map","unit","deleteDialogStyles","isOpen","onCancel","onConfirm","isLoading","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","reason","sx","titleText","closeContainer","closeButton","content","actions","cancelButton","variant","confirmButton","loading","loadingPosition","startIcon","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","paddingBottom","customDialogSize","snackBarCommon","modalOpen","children","wideLimit","noContentPadding","useState","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","scroll","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","commonFormValidation","fieldsValidate","returnErrors","forEach","field","trim","fieldKey","customValidation","customValidationMessage","customPatternMessage","rgx","RegExp","match"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5245.04e84402.chunk.js b/portal-ui/build/static/js/5245.04e84402.chunk.js deleted file mode 100644 index 3e655899b..000000000 --- a/portal-ui/build/static/js/5245.04e84402.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5245],{92440:function(e,t,n){var o=n(36222),a=n(18489),i=n(50390),r=n(86509),s=n(4285),c=n(49056),l=n(36554),d=n(94187),u=n(35477),m=n(25594),h=n(72462),p=n(97538),x=n(44977),Z=n(62559),f=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(c.Z);t.Z=(0,s.Z)((function(e){return(0,r.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},h.OR),h.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,r=e.onChange,s=e.value,c=e.id,h=e.name,g=e.checked,v=void 0!==g&&g,b=e.disabled,j=void 0!==b&&b,k=e.switchOnly,S=void 0!==k&&k,C=e.tooltip,w=void 0===C?"":C,N=e.description,y=void 0===N?"":N,P=e.classes,M=e.indicatorLabels,F=e.extraInputProps,E=void 0===F?{}:F,R=(0,Z.jsxs)(i.Fragment,{children:[!S&&(0,Z.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,o.Z)({},P.indicatorLabelOn,!v)),children:M&&M.length>1?M[1]:"OFF"}),(0,Z.jsx)(f,{checked:v,onChange:r,color:"primary",name:h,inputProps:(0,a.Z)({"aria-label":"primary checkbox"},E),disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:s,id:c}),!S&&(0,Z.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,o.Z)({},P.indicatorLabelOn,v)),children:M?M[0]:"ON"})]});return S?R:(0,Z.jsx)("div",{className:P.divContainer,children:(0,Z.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,Z.jsx)(m.ZP,{item:!0,xs:!0,children:(0,Z.jsxs)(m.ZP,{container:!0,children:[(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:""!==y?4:10,md:""!==y?3:9,children:""!==n&&(0,Z.jsxs)(l.Z,{htmlFor:c,className:P.inputLabel,children:[(0,Z.jsx)("span",{children:n}),""!==w&&(0,Z.jsx)("div",{className:P.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:w,placement:"top-start",children:(0,Z.jsx)("div",{className:P.tooltip,children:(0,Z.jsx)(p.Z,{})})})})]})}),(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==y&&(0,Z.jsx)(u.Z,{component:"p",className:P.fieldDescription,children:y})})]})}),(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:R})]})})}))},66964:function(e,t,n){var o=n(18489),a=n(50390),i=n(12066),r=n(25594),s=n(36554),c=n(94187),l=n(95467),d=n(86509),u=n(62449),m=n(4285),h=n(72462),p=n(97538),x=n(44977),Z=n(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)({},h.gM))}));function g(e){var t=f();return(0,Z.jsx)(i.Z,(0,o.Z)({InputProps:{classes:t}},e))}t.Z=(0,m.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,o.Z)((0,o.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,d=e.id,u=e.name,m=e.type,h=void 0===m?"text":m,f=e.autoComplete,v=void 0===f?"off":f,b=e.disabled,j=void 0!==b&&b,k=e.multiline,S=void 0!==k&&k,C=e.tooltip,w=void 0===C?"":C,N=e.index,y=void 0===N?0:N,P=e.error,M=void 0===P?"":P,F=e.required,E=void 0!==F&&F,R=e.placeholder,B=void 0===R?"":R,z=e.min,L=e.max,I=e.overlayId,A=e.overlayIcon,T=void 0===A?null:A,O=e.overlayObject,U=void 0===O?null:O,D=e.extraInputProps,W=void 0===D?{}:D,K=e.overlayAction,G=e.noLabelMinWidth,$=void 0!==G&&G,H=e.pattern,V=void 0===H?"":H,X=e.autoFocus,Y=void 0!==X&&X,_=e.classes,q=e.className,Q=void 0===q?"":q,J=e.onKeyPress,ee=(0,o.Z)({"data-index":y},W);return"number"===h&&z&&(ee.min=z),"number"===h&&L&&(ee.max=L),""!==V&&(ee.pattern=V),(0,Z.jsx)(a.Fragment,{children:(0,Z.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==Q?Q:"",""!==M?_.errorInField:_.inputBoxContainer),children:[""!==t&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:$?_.noMinWidthLabel:_.inputLabel,children:[(0,Z.jsxs)("span",{children:[t,E?"*":""]}),""!==w&&(0,Z.jsx)("div",{className:_.tooltipContainer,children:(0,Z.jsx)(c.Z,{title:w,placement:"top-start",children:(0,Z.jsx)("div",{className:_.tooltip,children:(0,Z.jsx)(p.Z,{})})})})]}),(0,Z.jsxs)("div",{className:_.textBoxContainer,children:[(0,Z.jsx)(g,{id:d,name:u,fullWidth:!0,value:i,autoFocus:Y,disabled:j,onChange:n,type:h,multiline:S,autoComplete:v,inputProps:ee,error:""!==M,helperText:M,placeholder:B,className:_.inputRebase,onKeyPress:J}),T&&(0,Z.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,Z.jsx)(l.Z,{onClick:K?function(){K()}:function(){return null},id:I,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:T})}),U&&(0,Z.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==t?"withLabel":""),children:U})]})]})})}))},50280:function(e,t,n){var o=n(18489),a=n(50390),i=n(25594),r=n(86509),s=n(4285),c=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,r.Z)((0,o.Z)({},c.xx))}))((function(e){var t=e.classes,n=e.label,o=void 0===n?"":n,r=e.content,s=e.multiLine,c=void 0!==s&&s;return(0,l.jsx)(a.Fragment,{children:(0,l.jsxs)(i.ZP,{className:t.prefinedContainer,children:[""!==o&&(0,l.jsx)(i.ZP,{item:!0,xs:12,className:t.predefinedTitle,children:o}),(0,l.jsx)(i.ZP,{item:!0,xs:12,className:t.predefinedList,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:c?t.innerContentMultiline:t.innerContent,children:r})})]})})}))},51002:function(e,t,n){var o=n(23430),a=n(18489),i=n(50390),r=n(34424),s=n(95467),c=n(97771),l=n(84402),d=n(78426),u=n(93085),m=n(86509),h=n(4285),p=n(72462),x=n(44149),Z=n(21278),f=n(45980),g=n(62559),v=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});t.Z=(0,h.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)({},p.Qw),{},{root:{"& .MuiPaper-root":{padding:"0 2rem 2rem 1rem"}},content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},p.sN))}))(v((function(e){var t=e.onClose,n=e.modalOpen,r=e.title,m=e.children,h=e.classes,p=e.wideLimit,x=void 0===p||p,v=e.modalSnackMessage,b=e.noContentPadding,j=e.setModalSnackMessage,k=e.titleIcon,S=void 0===k?null:k,C=(0,i.useState)(!1),w=(0,o.Z)(C,2),N=w[0],y=w[1];(0,i.useEffect)((function(){j("")}),[j]),(0,i.useEffect)((function(){if(v){if(""===v.message)return void y(!1);"error"!==v.type&&y(!0)}}),[v]);var P=x?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},M="";return v&&(M=v.detailedErrorMsg,(""===v.detailedErrorMsg||v.detailedErrorMsg.length<5)&&(M=v.message)),(0,g.jsxs)(l.Z,(0,a.Z)((0,a.Z)({open:n,classes:h},P),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:h.root,children:[(0,g.jsxs)(d.Z,{className:h.title,children:[(0,g.jsxs)("div",{className:h.titleText,children:[S," ",r]}),(0,g.jsx)("div",{className:h.closeContainer,children:(0,g.jsx)(s.Z,{"aria-label":"close",className:h.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,g.jsx)(Z.Z,{})})})]}),(0,g.jsx)(f.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:N,className:h.snackBarModal,onClose:function(){y(!1),j("")},message:M,ContentProps:{className:"".concat(h.snackBar," ").concat(v&&"error"===v.type?h.errorSnackBar:"")},autoHideDuration:v&&"error"===v.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:b?"":h.content,children:m})]}))})))},39251:function(e,t,n){n.r(t);var o=n(23430),a=n(18489),i=n(50390),r=n(34424),s=n(86509),c=n(4285),l=n(66946),d=n(81378),u=n(25594),m=n(72462),h=n(44149),p=n(30324),x=n(71094),Z=n(51002),f=n(66964),g=n(92440),v=n(50280),b=n(86362),j=n(62559),k={setModalErrorSnackMessage:h.zb},S=(0,r.$j)(null,k);t.default=(0,c.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},userSelector:{"& .MuiPaper-root":{padding:0,marginBottom:15}}},m.DF),m.bK),m.ID))}))(S((function(e){var t=e.open,n=e.selectedGroup,a=e.closeModalAndRefresh,r=e.classes,s=e.setModalErrorSnackMessage,c=(0,i.useState)(""),m=(0,o.Z)(c,2),h=m[0],k=m[1],S=(0,i.useState)(!1),C=(0,o.Z)(S,2),w=C[0],N=C[1],y=(0,i.useState)(!1),P=(0,o.Z)(y,2),M=P[0],F=P[1],E=(0,i.useState)([]),R=(0,o.Z)(E,2),B=R[0],z=R[1],L=(0,i.useState)(!1),I=(0,o.Z)(L,2),A=I[0],T=I[1],O=(0,i.useState)(!1),U=(0,o.Z)(O,2),D=U[0],W=U[1];(0,i.useEffect)((function(){null!==n?T(!0):(k(""),z([]))}),[n]),(0,i.useEffect)((function(){W(""!==h.trim())}),[h,B]),(0,i.useEffect)((function(){if(M){null!==n?p.Z.invoke("PUT","/api/v1/group?name=".concat(encodeURI(h)),{group:h,members:B,status:w?"enabled":"disabled"}).then((function(e){F(!1),a()})).catch((function(e){F(!1),s(e)})):p.Z.invoke("POST","/api/v1/groups",{group:h,members:B}).then((function(e){F(!1),a()})).catch((function(e){F(!1),s(e)}))}}),[M,h,B,w,n,a,s]),(0,i.useEffect)((function(){if(n&&A){p.Z.invoke("GET","/api/v1/group?name=".concat(encodeURI(n))).then((function(e){N("enabled"===e.status),k(e.name),z(e.members)})).catch((function(e){s(e),T(!1)}))}}),[A,n,s]);return(0,j.jsxs)(Z.Z,{modalOpen:t,onClose:a,title:null!==n?"Edit Group":"Create Group",titleIcon:(0,j.jsx)(b.ye,{}),children:[null!==n&&(0,j.jsx)("div",{className:r.floatingEnabled,children:(0,j.jsx)(g.Z,{indicatorLabels:["Enabled","Disabled"],checked:w,value:"group_enabled",id:"group-status",name:"group-status",onChange:function(e){N(e.target.checked)},switchOnly:!0})}),(0,j.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),F(!0)},children:(0,j.jsxs)(u.ZP,{container:!0,children:[(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:r.modalFormScrollable,children:[null===n?(0,j.jsx)(u.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,j.jsx)(f.Z,{id:"group-name",name:"group-name",label:"Group Name",autoFocus:!0,value:h,onChange:function(e){k(e.target.value)}})}):(0,j.jsx)(u.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,j.jsx)(v.Z,{label:"Group Name",content:n})}),(0,j.jsx)(u.ZP,{item:!0,xs:12,className:r.userSelector,children:(0,j.jsx)(x.Z,{selectedUsers:B,setSelectedUsers:z,editMode:null!==n})})]}),(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:r.buttonContainer,children:[(0,j.jsx)(l.Z,{type:"button",variant:"outlined",color:"primary",className:r.spacerRight,onClick:function(){null===n&&k(""),z([])},children:"Clear"}),(0,j.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:M||!D,children:"Save"})]}),M&&(0,j.jsx)(u.ZP,{item:!0,xs:12,children:(0,j.jsx)(d.Z,{})})]})})]})})))},71094:function(e,t,n){var o=n(35531),a=n(23430),i=n(18489),r=n(50390),s=n(34424),c=n(86509),l=n(4285),d=n(81378),u=n(38342),m=n.n(u),h=n(46981),p=n(25594),x=n(25233),Z=n(72462),f=n(44149),g=n(30324),v=n(8174),b=n(23165),j=n(62559),k={setModalErrorSnackMessage:f.zb},S=(0,s.$j)(null,k);t.Z=(0,l.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({paper:{display:"flex",overflow:"auto",flexDirection:"column",boxShadow:"none",border:0},tableBlock:(0,i.Z)({},Z.VX.tableBlock),searchBox:{flex:1}},Z.OR),{},{actionsTitle:{fontSize:14,alignSelf:"center",minWidth:160,marginRight:10},noFound:{textAlign:"center",padding:e.spacing(3),border:"1px solid #EAEAEA",fontSize:".9rem"}},Z.jY))}))(S((function(e){var t=e.classes,n=e.selectedUsers,i=e.setSelectedUsers,s=e.editMode,c=void 0!==s&&s,l=e.setModalErrorSnackMessage,u=(0,r.useState)([]),Z=(0,a.Z)(u,2),f=Z[0],k=Z[1],S=(0,r.useState)(!1),C=(0,a.Z)(S,2),w=C[0],N=C[1],y=(0,r.useState)(""),P=(0,a.Z)(y,2),M=P[0],F=P[1],E=(0,r.useCallback)((function(){g.Z.invoke("GET","/api/v1/users").then((function(e){var t=m()(e,"users",[]);t||(t=[]),k(t.sort(x.LQ)),N(!1)})).catch((function(e){l(e),N(!1)}))}),[l]);(0,r.useEffect)((function(){N(!0)}),[]),(0,r.useEffect)((function(){w&&E()}),[w,E]);var R=n||[],B=f.filter((function(e){return e.accessKey.includes(M)}));return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsxs)(h.Z,{className:t.paper,children:[w&&(0,j.jsx)(d.Z,{}),null!==f&&f.length>0?(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(p.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,j.jsx)("label",{className:t.actionsTitle,children:c?"Edit Members":"Assign Users"}),(0,j.jsx)("div",{className:t.searchBox,children:(0,j.jsx)(b.Z,{placeholder:"Filter Users",adornmentPosition:"end",onChange:F,value:M})})]}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,j.jsx)(v.Z,{columns:[{label:"Access Key",elementKey:"accessKey"}],onSelect:function(e){var t=e.target,n=t.value,a=t.checked,r=(0,o.Z)(R);return a?r.push(n):r=r.filter((function(e){return e!==n})),i(r),r},selectedItems:R,isLoading:w,records:B,entityName:"Users",idField:"accessKey",customPaperHeight:t.multiSelectTable})})]}):(0,j.jsx)("div",{className:t.noFound,children:"No Users to display"})]})})})})))},21278:function(e,t,n){var o=n(64119);t.Z=void 0;var a=o(n(66830)),i=n(62559),r=(0,a.default)((0,i.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=r},49056:function(e,t,n){n.d(t,{Z:function(){return S}});var o=n(36222),a=n(1048),i=n(32793),r=n(50390),s=n(44977),c=n(50076),l=n(36128),d=n(91442),u=n(16756),m=n(15573),h=n(8208),p=n(10594);function x(e){return(0,p.Z)("MuiSwitch",e)}var Z=(0,n(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),f=n(62559),g=["className","color","edge","size","sx"],v=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.edge&&t["edge".concat((0,d.Z)(n.edge))],t["size".concat((0,d.Z)(n.size))]]}})((function(e){var t,n=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===n.edge&&{marginLeft:-8},"end"===n.edge&&{marginRight:-8},"small"===n.size&&(t={width:40,height:24,padding:7},(0,o.Z)(t,"& .".concat(Z.thumb),{width:16,height:16}),(0,o.Z)(t,"& .".concat(Z.switchBase),(0,o.Z)({padding:4},"&.".concat(Z.checked),{transform:"translateX(16px)"})),t))})),b=(0,h.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var n=e.ownerState;return[t.switchBase,(0,o.Z)({},"& .".concat(Z.input),t.input),"default"!==n.color&&t["color".concat((0,d.Z)(n.color))]]}})((function(e){var t,n=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===n.palette.mode?n.palette.common.white:n.palette.grey[300],transition:n.transitions.create(["left","transform"],{duration:n.transitions.duration.shortest})},(0,o.Z)(t,"&.".concat(Z.checked),{transform:"translateX(20px)"}),(0,o.Z)(t,"&.".concat(Z.disabled),{color:"light"===n.palette.mode?n.palette.grey[100]:n.palette.grey[600]}),(0,o.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{opacity:.5}),(0,o.Z)(t,"&.".concat(Z.disabled," + .").concat(Z.track),{opacity:"light"===n.palette.mode?.12:.2}),(0,o.Z)(t,"& .".concat(Z.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,n=e.theme,a=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,l.Fq)(n.palette.action.active,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==a.color&&(t={},(0,o.Z)(t,"&.".concat(Z.checked),(0,o.Z)({color:n.palette[a.color].main,"&:hover":{backgroundColor:(0,l.Fq)(n.palette[a.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(Z.disabled),{color:"light"===n.palette.mode?(0,l.$n)(n.palette[a.color].main,.62):(0,l._j)(n.palette[a.color].main,.55)})),(0,o.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{backgroundColor:n.palette[a.color].main}),t))})),j=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),k=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),S=r.forwardRef((function(e,t){var n=(0,m.Z)({props:e,name:"MuiSwitch"}),o=n.className,r=n.color,l=void 0===r?"primary":r,u=n.edge,h=void 0!==u&&u,p=n.size,Z=void 0===p?"medium":p,S=n.sx,C=(0,a.Z)(n,g),w=(0,i.Z)({},n,{color:l,edge:h,size:Z}),N=function(e){var t=e.classes,n=e.edge,o=e.size,a=e.color,r=e.checked,s=e.disabled,l={root:["root",n&&"edge".concat((0,d.Z)(n)),"size".concat((0,d.Z)(o))],switchBase:["switchBase","color".concat((0,d.Z)(a)),r&&"checked",s&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,c.Z)(l,x,t);return(0,i.Z)({},t,u)}(w),y=(0,f.jsx)(k,{className:N.thumb,ownerState:w});return(0,f.jsxs)(v,{className:(0,s.Z)(N.root,o),sx:S,ownerState:w,children:[(0,f.jsx)(b,(0,i.Z)({type:"checkbox",icon:y,checkedIcon:y,ref:t,ownerState:w},C,{classes:(0,i.Z)({},N,{root:N.switchBase})})),(0,f.jsx)(j,{className:N.track,ownerState:w})]})}))}}]); -//# sourceMappingURL=5245.04e84402.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5245.04e84402.chunk.js.map b/portal-ui/build/static/js/5245.04e84402.chunk.js.map deleted file mode 100644 index 78374fea9..000000000 --- a/portal-ui/build/static/js/5245.04e84402.chunk.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"static/js/5245.04e84402.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Groups/AddGroup.tsx","screens/Console/Groups/UsersSelectors.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
    \n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n
    \n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
    \n
    \n\n \n {switchComponent}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n root: {\n \"& .MuiPaper-root\": {\n padding: \"0 2rem 2rem 1rem\",\n },\n },\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport UsersSelectors from \"./UsersSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport { CreateGroupIcon } from \"../../../icons\";\n\ninterface IGroupProps {\n open: boolean;\n selectedGroup: any;\n closeModalAndRefresh: any;\n classes: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\ninterface MainGroupProps {\n members: string[];\n name: string;\n status: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n userSelector: {\n \"& .MuiPaper-root\": {\n padding: 0,\n marginBottom: 15,\n },\n },\n ...formFieldStyles,\n ...spacingUtils,\n ...modalStyleUtils,\n });\n\nconst AddGroup = ({\n open,\n selectedGroup,\n closeModalAndRefresh,\n classes,\n setModalErrorSnackMessage,\n}: IGroupProps) => {\n //Local States\n const [groupName, setGroupName] = useState(\"\");\n const [groupEnabled, setGroupEnabled] = useState(false);\n const [saving, isSaving] = useState(false);\n const [selectedUsers, setSelectedUsers] = useState([]);\n const [loadingGroup, isLoadingGroup] = useState(false);\n const [validGroup, setValidGroup] = useState(false);\n\n //Effects\n useEffect(() => {\n if (selectedGroup !== null) {\n isLoadingGroup(true);\n } else {\n setGroupName(\"\");\n setSelectedUsers([]);\n }\n }, [selectedGroup]);\n\n useEffect(() => {\n setValidGroup(groupName.trim() !== \"\");\n }, [groupName, selectedUsers]);\n\n useEffect(() => {\n if (saving) {\n const saveRecord = () => {\n if (selectedGroup !== null) {\n api\n .invoke(\"PUT\", `/api/v1/group?name=${encodeURI(groupName)}`, {\n group: groupName,\n members: selectedUsers,\n status: groupEnabled ? \"enabled\" : \"disabled\",\n })\n .then((res) => {\n isSaving(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/groups\", {\n group: groupName,\n members: selectedUsers,\n })\n .then((res) => {\n isSaving(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n saveRecord();\n }\n }, [\n saving,\n groupName,\n selectedUsers,\n groupEnabled,\n selectedGroup,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n ]);\n\n useEffect(() => {\n if (selectedGroup && loadingGroup) {\n const fetchGroupInfo = () => {\n api\n .invoke(\"GET\", `/api/v1/group?name=${encodeURI(selectedGroup)}`)\n .then((res: MainGroupProps) => {\n setGroupEnabled(res.status === \"enabled\");\n setGroupName(res.name);\n setSelectedUsers(res.members);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoadingGroup(false);\n });\n };\n fetchGroupInfo();\n }\n }, [loadingGroup, selectedGroup, setModalErrorSnackMessage]);\n\n //Fetch Actions\n const setSaving = (event: React.FormEvent) => {\n event.preventDefault();\n\n isSaving(true);\n };\n\n const resetForm = () => {\n if (selectedGroup === null) {\n setGroupName(\"\");\n }\n\n setSelectedUsers([]);\n };\n\n return (\n }\n >\n {selectedGroup !== null && (\n
    \n {\n setGroupEnabled(e.target.checked);\n }}\n switchOnly\n />\n
    \n )}\n
    \n \n \n {selectedGroup === null ? (\n \n ) => {\n setGroupName(e.target.value);\n }}\n />\n \n ) : (\n \n \n \n )}\n \n \n \n \n \n \n Clear\n \n\n \n Save\n \n \n {saving && (\n \n \n \n )}\n \n
    \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddGroup));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { UsersList } from \"../Users/types\";\nimport { usersSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IGroupsProps {\n classes: any;\n selectedUsers: string[];\n setSelectedUsers: any;\n editMode?: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n paper: {\n display: \"flex\",\n overflow: \"auto\",\n flexDirection: \"column\",\n // paddingTop: 15,\n boxShadow: \"none\",\n border: 0,\n },\n\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n searchBox: {\n flex: 1,\n },\n ...actionsTray,\n actionsTitle: {\n fontSize: 14,\n alignSelf: \"center\",\n minWidth: 160,\n marginRight: 10,\n },\n noFound: {\n textAlign: \"center\",\n padding: theme.spacing(3),\n border: \"1px solid #EAEAEA\",\n fontSize: \".9rem\",\n },\n ...selectorsCommon,\n });\n\nconst UsersSelectors = ({\n classes,\n selectedUsers,\n setSelectedUsers,\n editMode = false,\n setModalErrorSnackMessage,\n}: IGroupsProps) => {\n //Local States\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchUsers = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/users`)\n .then((res: UsersList) => {\n let users = get(res, \"users\", []);\n\n if (!users) {\n users = [];\n }\n\n setRecords(users.sort(usersSort));\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoading(false);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchUsers();\n }\n }, [loading, fetchUsers]);\n\n const selUsers = !selectedUsers ? [] : selectedUsers;\n\n //Fetch Actions\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selUsers]; // We clone the selectedGroups array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedGroupsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedUsers(elements);\n\n return elements;\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.accessKey.includes(filter)\n );\n\n return (\n \n \n \n {loading && }\n {records !== null && records.length > 0 ? (\n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n ) : (\n
    No Users to display
    \n )}\n
    \n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(UsersSelectors));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;"],"names":["StyledSwitch","withStyles","theme","root","width","height","padding","margin","switchBase","transform","color","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","label","onChange","value","id","name","disabled","switchOnly","description","classes","indicatorLabels","extraInputProps","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","noLabelMinWidth","pattern","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","useState","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","open","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","mapDispatchToProps","setModalErrorSnackMessage","buttonContainer","userSelector","formFieldStyles","spacingUtils","modalStyleUtils","selectedGroup","closeModalAndRefresh","groupName","setGroupName","groupEnabled","setGroupEnabled","saving","isSaving","selectedUsers","setSelectedUsers","loadingGroup","isLoadingGroup","validGroup","setValidGroup","trim","api","encodeURI","group","members","status","then","res","catch","err","floatingEnabled","e","target","noValidate","onSubmit","preventDefault","modalFormScrollable","formFieldRow","editMode","variant","spacerRight","overflow","flexDirection","tableBlock","tableStyles","searchBox","flex","actionsTitle","alignSelf","minWidth","marginRight","noFound","spacing","selectorsCommon","records","setRecords","loading","isLoading","filter","setFilter","fetchUsers","useCallback","users","get","sort","usersSort","selUsers","filteredRecords","elementItem","accessKey","includes","adornmentPosition","columns","elementKey","onSelect","targetD","elements","push","element","selectedItems","entityName","idField","customPaperHeight","multiSelectTable","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getSwitchUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchRoot","styled","overridesResolver","styles","ownerState","edge","capitalize","_extends","boxSizing","flexShrink","zIndex","verticalAlign","colorAdjust","switchClasses","SwitchSwitchBase","SwitchBase","input","left","mode","grey","duration","shortest","alpha","action","active","hoverOpacity","main","lighten","darken","SwitchTrack","black","SwitchThumb","shadows","React","inProps","ref","useThemeProps","sx","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","icon","_jsx","_jsxs","checkedIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5245.884da645.chunk.js b/portal-ui/build/static/js/5245.884da645.chunk.js new file mode 100644 index 000000000..ec3fdc257 --- /dev/null +++ b/portal-ui/build/static/js/5245.884da645.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5245],{92440:function(e,t,n){var o=n(36222),a=n(18489),i=n(50390),r=n(86509),s=n(4285),c=n(49056),l=n(36554),d=n(94187),u=n(35477),m=n(25594),h=n(72462),p=n(97538),x=n(44977),Z=n(62559),f=(0,s.Z)((function(e){return{root:{width:50,height:24,padding:0,margin:0},switchBase:{padding:1,"&$checked":{transform:"translateX(24px)",color:e.palette.common.white,"& + $track":{backgroundColor:"#4CCB92",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,border:"none"}},"&$focusVisible $thumb":{color:"#4CCB92",border:"6px solid #fff"}},thumb:{width:22,height:22,backgroundColor:"#FAFAFA",border:"2px solid #FFFFFF",marginLeft:1},track:{borderRadius:12,backgroundColor:"#E2E2E2",boxShadow:"inset 0px 1px 4px rgba(0,0,0,0.1)",opacity:1,transition:e.transitions.create(["background-color","border"])},checked:{},focusVisible:{},switchContainer:{display:"flex",alignItems:"center",justifyContent:"flex-end"}}}))(c.Z);t.Z=(0,s.Z)((function(e){return(0,r.Z)((0,a.Z)((0,a.Z)({divContainer:{marginBottom:20},indicatorLabelOn:{fontWeight:"bold",color:"#081C42 !important"},indicatorLabel:{fontSize:12,color:"#E2E2E2",margin:"0 8px 0 10px"},fieldDescription:{marginTop:4,color:"#999999"},tooltip:{fontSize:16}},h.OR),h.YI))}))((function(e){var t=e.label,n=void 0===t?"":t,r=e.onChange,s=e.value,c=e.id,h=e.name,g=e.checked,v=void 0!==g&&g,b=e.disabled,j=void 0!==b&&b,k=e.switchOnly,S=void 0!==k&&k,C=e.tooltip,w=void 0===C?"":C,N=e.description,y=void 0===N?"":N,P=e.classes,M=e.indicatorLabels,F=e.extraInputProps,E=void 0===F?{}:F,R=(0,Z.jsxs)(i.Fragment,{children:[!S&&(0,Z.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,o.Z)({},P.indicatorLabelOn,!v)),children:M&&M.length>1?M[1]:"OFF"}),(0,Z.jsx)(f,{checked:v,onChange:r,color:"primary",name:h,inputProps:(0,a.Z)({"aria-label":"primary checkbox"},E),disabled:j,disableRipple:!0,disableFocusRipple:!0,disableTouchRipple:!0,value:s,id:c}),!S&&(0,Z.jsx)("span",{className:(0,x.Z)(P.indicatorLabel,(0,o.Z)({},P.indicatorLabelOn,v)),children:M?M[0]:"ON"})]});return S?R:(0,Z.jsx)("div",{className:P.divContainer,children:(0,Z.jsxs)(m.ZP,{container:!0,alignItems:"center",children:[(0,Z.jsx)(m.ZP,{item:!0,xs:!0,children:(0,Z.jsxs)(m.ZP,{container:!0,children:[(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:""!==y?4:10,md:""!==y?3:9,children:""!==n&&(0,Z.jsxs)(l.Z,{htmlFor:c,className:P.inputLabel,children:[(0,Z.jsx)("span",{children:n}),""!==w&&(0,Z.jsx)("div",{className:P.tooltipContainer,children:(0,Z.jsx)(d.Z,{title:w,placement:"top-start",children:(0,Z.jsx)("div",{className:P.tooltip,children:(0,Z.jsx)(p.Z,{})})})})]})}),(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:!0,textAlign:"left",children:""!==y&&(0,Z.jsx)(u.Z,{component:"p",className:P.fieldDescription,children:y})})]})}),(0,Z.jsx)(m.ZP,{item:!0,xs:12,sm:2,textAlign:"right",className:P.switchContainer,children:R})]})})}))},66964:function(e,t,n){var o=n(18489),a=n(50390),i=n(12066),r=n(25594),s=n(36554),c=n(94187),l=n(95467),d=n(86509),u=n(62449),m=n(4285),h=n(72462),p=n(97538),x=n(44977),Z=n(62559),f=(0,u.Z)((function(e){return(0,d.Z)((0,o.Z)({},h.gM))}));function g(e){var t=f();return(0,Z.jsx)(i.Z,(0,o.Z)({InputProps:{classes:t}},e))}t.Z=(0,m.Z)((function(e){return(0,d.Z)((0,o.Z)((0,o.Z)((0,o.Z)({},h.YI),h.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,o.Z)((0,o.Z)({},h.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,i=e.value,d=e.id,u=e.name,m=e.type,h=void 0===m?"text":m,f=e.autoComplete,v=void 0===f?"off":f,b=e.disabled,j=void 0!==b&&b,k=e.multiline,S=void 0!==k&&k,C=e.tooltip,w=void 0===C?"":C,N=e.index,y=void 0===N?0:N,P=e.error,M=void 0===P?"":P,F=e.required,E=void 0!==F&&F,R=e.placeholder,B=void 0===R?"":R,z=e.min,L=e.max,I=e.overlayId,A=e.overlayIcon,T=void 0===A?null:A,O=e.overlayObject,U=void 0===O?null:O,D=e.extraInputProps,W=void 0===D?{}:D,K=e.overlayAction,G=e.noLabelMinWidth,$=void 0!==G&&G,H=e.pattern,V=void 0===H?"":H,X=e.autoFocus,Y=void 0!==X&&X,_=e.classes,q=e.className,Q=void 0===q?"":q,J=e.onKeyPress,ee=(0,o.Z)({"data-index":y},W);return"number"===h&&z&&(ee.min=z),"number"===h&&L&&(ee.max=L),""!==V&&(ee.pattern=V),(0,Z.jsx)(a.Fragment,{children:(0,Z.jsxs)(r.ZP,{container:!0,className:(0,x.Z)(""!==Q?Q:"",""!==M?_.errorInField:_.inputBoxContainer),children:[""!==t&&(0,Z.jsxs)(s.Z,{htmlFor:d,className:$?_.noMinWidthLabel:_.inputLabel,children:[(0,Z.jsxs)("span",{children:[t,E?"*":""]}),""!==w&&(0,Z.jsx)("div",{className:_.tooltipContainer,children:(0,Z.jsx)(c.Z,{title:w,placement:"top-start",children:(0,Z.jsx)("div",{className:_.tooltip,children:(0,Z.jsx)(p.Z,{})})})})]}),(0,Z.jsxs)("div",{className:_.textBoxContainer,children:[(0,Z.jsx)(g,{id:d,name:u,fullWidth:!0,value:i,autoFocus:Y,disabled:j,onChange:n,type:h,multiline:S,autoComplete:v,inputProps:ee,error:""!==M,helperText:M,placeholder:B,className:_.inputRebase,onKeyPress:J}),T&&(0,Z.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,Z.jsx)(l.Z,{onClick:K?function(){K()}:function(){return null},id:I,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:T})}),U&&(0,Z.jsx)("div",{className:"".concat(_.overlayAction," ").concat(""!==t?"withLabel":""),children:U})]})]})})}))},50280:function(e,t,n){var o=n(18489),a=n(50390),i=n(25594),r=n(86509),s=n(4285),c=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,r.Z)((0,o.Z)({},c.xx))}))((function(e){var t=e.classes,n=e.label,o=void 0===n?"":n,r=e.content,s=e.multiLine,c=void 0!==s&&s;return(0,l.jsx)(a.Fragment,{children:(0,l.jsxs)(i.ZP,{className:t.prefinedContainer,children:[""!==o&&(0,l.jsx)(i.ZP,{item:!0,xs:12,className:t.predefinedTitle,children:o}),(0,l.jsx)(i.ZP,{item:!0,xs:12,className:t.predefinedList,children:(0,l.jsx)(i.ZP,{item:!0,xs:12,className:c?t.innerContentMultiline:t.innerContent,children:r})})]})})}))},51002:function(e,t,n){var o=n(23430),a=n(18489),i=n(50390),r=n(34424),s=n(95467),c=n(97771),l=n(84402),d=n(78426),u=n(93085),m=n(86509),h=n(4285),p=n(72462),x=n(44149),Z=n(21278),f=n(45980),g=n(62559),v=(0,r.$j)((function(e){return{modalSnackMessage:e.system.modalSnackBar}}),{setModalSnackMessage:x.MK});t.Z=(0,h.Z)((function(e){return(0,m.Z)((0,a.Z)((0,a.Z)({},p.Qw),{},{content:{padding:25,paddingBottom:0},customDialogSize:{width:"100%",maxWidth:765}},p.sN))}))(v((function(e){var t=e.onClose,n=e.modalOpen,r=e.title,m=e.children,h=e.classes,p=e.wideLimit,x=void 0===p||p,v=e.modalSnackMessage,b=e.noContentPadding,j=e.setModalSnackMessage,k=e.titleIcon,S=void 0===k?null:k,C=(0,i.useState)(!1),w=(0,o.Z)(C,2),N=w[0],y=w[1];(0,i.useEffect)((function(){j("")}),[j]),(0,i.useEffect)((function(){if(v){if(""===v.message)return void y(!1);"error"!==v.type&&y(!0)}}),[v]);var P=x?{classes:{paper:h.customDialogSize}}:{maxWidth:"lg",fullWidth:!0},M="";return v&&(M=v.detailedErrorMsg,(""===v.detailedErrorMsg||v.detailedErrorMsg.length<5)&&(M=v.message)),(0,g.jsxs)(l.Z,(0,a.Z)((0,a.Z)({open:n,classes:h},P),{},{scroll:"paper",onClose:function(e,n){"backdropClick"!==n&&t()},className:h.root,children:[(0,g.jsxs)(d.Z,{className:h.title,children:[(0,g.jsxs)("div",{className:h.titleText,children:[S," ",r]}),(0,g.jsx)("div",{className:h.closeContainer,children:(0,g.jsx)(s.Z,{"aria-label":"close",id:"close",className:h.closeButton,onClick:t,disableRipple:!0,size:"small",children:(0,g.jsx)(Z.Z,{})})})]}),(0,g.jsx)(f.Z,{isModal:!0}),(0,g.jsx)(c.Z,{open:N,className:h.snackBarModal,onClose:function(){y(!1),j("")},message:M,ContentProps:{className:"".concat(h.snackBar," ").concat(v&&"error"===v.type?h.errorSnackBar:"")},autoHideDuration:v&&"error"===v.type?1e4:5e3}),(0,g.jsx)(u.Z,{className:b?"":h.content,children:m})]}))})))},39251:function(e,t,n){n.r(t);var o=n(23430),a=n(18489),i=n(50390),r=n(34424),s=n(86509),c=n(4285),l=n(66946),d=n(81378),u=n(25594),m=n(72462),h=n(44149),p=n(30324),x=n(71094),Z=n(51002),f=n(66964),g=n(92440),v=n(50280),b=n(14549),j=n(62559),k={setModalErrorSnackMessage:h.zb},S=(0,r.$j)(null,k);t.default=(0,c.Z)((function(e){return(0,s.Z)((0,a.Z)((0,a.Z)((0,a.Z)({buttonContainer:{textAlign:"right"},userSelector:{"& .MuiPaper-root":{padding:0,marginBottom:15}}},m.DF),m.bK),m.ID))}))(S((function(e){var t=e.open,n=e.selectedGroup,a=e.closeModalAndRefresh,r=e.classes,s=e.setModalErrorSnackMessage,c=(0,i.useState)(""),m=(0,o.Z)(c,2),h=m[0],k=m[1],S=(0,i.useState)(!1),C=(0,o.Z)(S,2),w=C[0],N=C[1],y=(0,i.useState)(!1),P=(0,o.Z)(y,2),M=P[0],F=P[1],E=(0,i.useState)([]),R=(0,o.Z)(E,2),B=R[0],z=R[1],L=(0,i.useState)(!1),I=(0,o.Z)(L,2),A=I[0],T=I[1],O=(0,i.useState)(!1),U=(0,o.Z)(O,2),D=U[0],W=U[1];(0,i.useEffect)((function(){null!==n?T(!0):(k(""),z([]))}),[n]),(0,i.useEffect)((function(){W(""!==h.trim())}),[h,B]),(0,i.useEffect)((function(){if(M){null!==n?p.Z.invoke("PUT","/api/v1/group?name=".concat(encodeURI(h)),{group:h,members:B,status:w?"enabled":"disabled"}).then((function(e){F(!1),a()})).catch((function(e){F(!1),s(e)})):p.Z.invoke("POST","/api/v1/groups",{group:h,members:B}).then((function(e){F(!1),a()})).catch((function(e){F(!1),s(e)}))}}),[M,h,B,w,n,a,s]),(0,i.useEffect)((function(){if(n&&A){p.Z.invoke("GET","/api/v1/group?name=".concat(encodeURI(n))).then((function(e){N("enabled"===e.status),k(e.name),z(e.members)})).catch((function(e){s(e),T(!1)}))}}),[A,n,s]);return(0,j.jsxs)(Z.Z,{modalOpen:t,onClose:a,title:null!==n?"Edit Group":"Create Group",titleIcon:(0,j.jsx)(b.ye,{}),children:[null!==n&&(0,j.jsx)("div",{className:r.floatingEnabled,children:(0,j.jsx)(g.Z,{indicatorLabels:["Enabled","Disabled"],checked:w,value:"group_enabled",id:"group-status",name:"group-status",onChange:function(e){N(e.target.checked)},switchOnly:!0})}),(0,j.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){e.preventDefault(),F(!0)},children:(0,j.jsxs)(u.ZP,{container:!0,children:[(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:r.modalFormScrollable,children:[null===n?(0,j.jsx)(u.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,j.jsx)(f.Z,{id:"group-name",name:"group-name",label:"Group Name",autoFocus:!0,value:h,onChange:function(e){k(e.target.value)}})}):(0,j.jsx)(u.ZP,{item:!0,xs:12,className:r.formFieldRow,children:(0,j.jsx)(v.Z,{label:"Group Name",content:n})}),(0,j.jsx)(u.ZP,{item:!0,xs:12,className:r.userSelector,children:(0,j.jsx)(x.Z,{selectedUsers:B,setSelectedUsers:z,editMode:null!==n})})]}),(0,j.jsxs)(u.ZP,{item:!0,xs:12,className:r.buttonContainer,children:[(0,j.jsx)(l.Z,{type:"button",variant:"outlined",color:"primary",className:r.spacerRight,onClick:function(){null===n&&k(""),z([])},children:"Clear"}),(0,j.jsx)(l.Z,{type:"submit",variant:"contained",color:"primary",disabled:M||!D,children:"Save"})]}),M&&(0,j.jsx)(u.ZP,{item:!0,xs:12,children:(0,j.jsx)(d.Z,{})})]})})]})})))},71094:function(e,t,n){var o=n(35531),a=n(23430),i=n(18489),r=n(50390),s=n(34424),c=n(86509),l=n(4285),d=n(81378),u=n(38342),m=n.n(u),h=n(46981),p=n(25594),x=n(25233),Z=n(72462),f=n(44149),g=n(30324),v=n(8174),b=n(23165),j=n(62559),k={setModalErrorSnackMessage:f.zb},S=(0,s.$j)(null,k);t.Z=(0,l.Z)((function(e){return(0,c.Z)((0,i.Z)((0,i.Z)({paper:{display:"flex",overflow:"auto",flexDirection:"column",boxShadow:"none",border:0},tableBlock:(0,i.Z)({},Z.VX.tableBlock),searchBox:{flex:1}},Z.OR),{},{actionsTitle:{fontSize:14,alignSelf:"center",minWidth:160,marginRight:10},noFound:{textAlign:"center",padding:e.spacing(3),border:"1px solid #EAEAEA",fontSize:".9rem"}},Z.jY))}))(S((function(e){var t=e.classes,n=e.selectedUsers,i=e.setSelectedUsers,s=e.editMode,c=void 0!==s&&s,l=e.setModalErrorSnackMessage,u=(0,r.useState)([]),Z=(0,a.Z)(u,2),f=Z[0],k=Z[1],S=(0,r.useState)(!1),C=(0,a.Z)(S,2),w=C[0],N=C[1],y=(0,r.useState)(""),P=(0,a.Z)(y,2),M=P[0],F=P[1],E=(0,r.useCallback)((function(){g.Z.invoke("GET","/api/v1/users").then((function(e){var t=m()(e,"users",[]);t||(t=[]),k(t.sort(x.LQ)),N(!1)})).catch((function(e){l(e),N(!1)}))}),[l]);(0,r.useEffect)((function(){N(!0)}),[]),(0,r.useEffect)((function(){w&&E()}),[w,E]);var R=n||[],B=f.filter((function(e){return e.accessKey.includes(M)}));return(0,j.jsx)(r.Fragment,{children:(0,j.jsx)(p.ZP,{item:!0,xs:12,children:(0,j.jsxs)(h.Z,{className:t.paper,children:[w&&(0,j.jsx)(d.Z,{}),null!==f&&f.length>0?(0,j.jsxs)(r.Fragment,{children:[(0,j.jsxs)(p.ZP,{item:!0,xs:12,className:t.actionsTray,children:[(0,j.jsx)("label",{className:t.actionsTitle,children:c?"Edit Members":"Assign Users"}),(0,j.jsx)("div",{className:t.searchBox,children:(0,j.jsx)(b.Z,{placeholder:"Filter Users",adornmentPosition:"end",onChange:F,value:M})})]}),(0,j.jsx)(p.ZP,{item:!0,xs:12,className:t.tableBlock,children:(0,j.jsx)(v.Z,{columns:[{label:"Access Key",elementKey:"accessKey"}],onSelect:function(e){var t=e.target,n=t.value,a=t.checked,r=(0,o.Z)(R);return a?r.push(n):r=r.filter((function(e){return e!==n})),i(r),r},selectedItems:R,isLoading:w,records:B,entityName:"Users",idField:"accessKey",customPaperHeight:t.multiSelectTable})})]}):(0,j.jsx)("div",{className:t.noFound,children:"No Users to display"})]})})})})))},21278:function(e,t,n){var o=n(64119);t.Z=void 0;var a=o(n(66830)),i=n(62559),r=(0,a.default)((0,i.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");t.Z=r},49056:function(e,t,n){n.d(t,{Z:function(){return S}});var o=n(36222),a=n(1048),i=n(32793),r=n(50390),s=n(44977),c=n(50076),l=n(36128),d=n(91442),u=n(16756),m=n(15573),h=n(8208),p=n(10594);function x(e){return(0,p.Z)("MuiSwitch",e)}var Z=(0,n(43349).Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),f=n(62559),g=["className","color","edge","size","sx"],v=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.edge&&t["edge".concat((0,d.Z)(n.edge))],t["size".concat((0,d.Z)(n.size))]]}})((function(e){var t,n=e.ownerState;return(0,i.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===n.edge&&{marginLeft:-8},"end"===n.edge&&{marginRight:-8},"small"===n.size&&(t={width:40,height:24,padding:7},(0,o.Z)(t,"& .".concat(Z.thumb),{width:16,height:16}),(0,o.Z)(t,"& .".concat(Z.switchBase),(0,o.Z)({padding:4},"&.".concat(Z.checked),{transform:"translateX(16px)"})),t))})),b=(0,h.ZP)(u.Z,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var n=e.ownerState;return[t.switchBase,(0,o.Z)({},"& .".concat(Z.input),t.input),"default"!==n.color&&t["color".concat((0,d.Z)(n.color))]]}})((function(e){var t,n=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===n.palette.mode?n.palette.common.white:n.palette.grey[300],transition:n.transitions.create(["left","transform"],{duration:n.transitions.duration.shortest})},(0,o.Z)(t,"&.".concat(Z.checked),{transform:"translateX(20px)"}),(0,o.Z)(t,"&.".concat(Z.disabled),{color:"light"===n.palette.mode?n.palette.grey[100]:n.palette.grey[600]}),(0,o.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{opacity:.5}),(0,o.Z)(t,"&.".concat(Z.disabled," + .").concat(Z.track),{opacity:"light"===n.palette.mode?.12:.2}),(0,o.Z)(t,"& .".concat(Z.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,n=e.theme,a=e.ownerState;return(0,i.Z)({"&:hover":{backgroundColor:(0,l.Fq)(n.palette.action.active,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==a.color&&(t={},(0,o.Z)(t,"&.".concat(Z.checked),(0,o.Z)({color:n.palette[a.color].main,"&:hover":{backgroundColor:(0,l.Fq)(n.palette[a.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(Z.disabled),{color:"light"===n.palette.mode?(0,l.$n)(n.palette[a.color].main,.62):(0,l._j)(n.palette[a.color].main,.55)})),(0,o.Z)(t,"&.".concat(Z.checked," + .").concat(Z.track),{backgroundColor:n.palette[a.color].main}),t))})),j=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),k=(0,h.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),S=r.forwardRef((function(e,t){var n=(0,m.Z)({props:e,name:"MuiSwitch"}),o=n.className,r=n.color,l=void 0===r?"primary":r,u=n.edge,h=void 0!==u&&u,p=n.size,Z=void 0===p?"medium":p,S=n.sx,C=(0,a.Z)(n,g),w=(0,i.Z)({},n,{color:l,edge:h,size:Z}),N=function(e){var t=e.classes,n=e.edge,o=e.size,a=e.color,r=e.checked,s=e.disabled,l={root:["root",n&&"edge".concat((0,d.Z)(n)),"size".concat((0,d.Z)(o))],switchBase:["switchBase","color".concat((0,d.Z)(a)),r&&"checked",s&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},u=(0,c.Z)(l,x,t);return(0,i.Z)({},t,u)}(w),y=(0,f.jsx)(k,{className:N.thumb,ownerState:w});return(0,f.jsxs)(v,{className:(0,s.Z)(N.root,o),sx:S,ownerState:w,children:[(0,f.jsx)(b,(0,i.Z)({type:"checkbox",icon:y,checkedIcon:y,ref:t,ownerState:w},C,{classes:(0,i.Z)({},N,{root:N.switchBase})})),(0,f.jsx)(j,{className:N.track,ownerState:w})]})}))}}]); +//# sourceMappingURL=5245.884da645.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5245.884da645.chunk.js.map b/portal-ui/build/static/js/5245.884da645.chunk.js.map new file mode 100644 index 000000000..4ab9401c6 --- /dev/null +++ b/portal-ui/build/static/js/5245.884da645.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/5245.884da645.chunk.js","mappings":"0QAqEMA,GAAeC,EAAAA,EAAAA,IAAW,SAACC,GAAD,MAAY,CAC1CC,KAAM,CACJC,MAAO,GACPC,OAAQ,GACRC,QAAS,EACTC,OAAQ,GAEVC,WAAY,CACVF,QAAS,EACT,YAAa,CACXG,UAAW,mBACXC,MAAOR,EAAMS,QAAQC,OAAOC,MAC5B,aAAc,CACZC,gBAAiB,UACjBC,UAAW,oCACXC,QAAS,EACTC,OAAQ,SAGZ,wBAAyB,CACvBP,MAAO,UACPO,OAAQ,mBAGZC,MAAO,CACLd,MAAO,GACPC,OAAQ,GACRS,gBAAiB,UACjBG,OAAQ,oBACRE,WAAY,GAEdC,MAAO,CACLC,aAAc,GACdP,gBAAiB,UACjBC,UAAW,oCACXC,QAAS,EACTM,WAAYpB,EAAMqB,YAAYC,OAAO,CAAC,mBAAoB,YAE5DC,QAAS,GACTC,aAAc,GACdC,gBAAiB,CACfC,QAAS,OACTC,WAAY,SACZC,eAAgB,eA3CC7B,CA6CjB8B,EAAAA,GA6GJ,KAAe9B,EAAAA,EAAAA,IAnLA,SAACC,GAAD,OACb8B,EAAAA,EAAAA,IAAa,gBACXC,aAAc,CACZC,aAAc,IAEhBC,iBAAkB,CAChBC,WAAY,OACZ1B,MAAO,sBAET2B,eAAgB,CACdC,SAAU,GACV5B,MAAO,UACPH,OAAQ,gBAEVgC,iBAAkB,CAChBC,UAAW,EACX9B,MAAO,WAET+B,QAAS,CACPH,SAAU,KAETI,EAAAA,IACAC,EAAAA,OA6JP,EA3G0B,SAAC,GAcP,IAAD,IAbjBC,MAAAA,OAaiB,MAbT,GAaS,EAZjBC,EAYiB,EAZjBA,SACAC,EAWiB,EAXjBA,MACAC,EAUiB,EAVjBA,GACAC,EASiB,EATjBA,KASiB,IARjBvB,QAAAA,OAQiB,aAPjBwB,SAAAA,OAOiB,aANjBC,WAAAA,OAMiB,aALjBT,QAAAA,OAKiB,MALP,GAKO,MAJjBU,YAAAA,OAIiB,MAJH,GAIG,EAHjBC,EAGiB,EAHjBA,QACAC,EAEiB,EAFjBA,gBAEiB,IADjBC,gBAAAA,OACiB,MADC,GACD,EACXC,GACJ,UAAC,WAAD,YACIL,IACA,iBACEM,WAAWC,EAAAA,EAAAA,GAAKL,EAAQf,gBAAT,UACZe,EAAQjB,kBAAoBV,IAFjC,SAKG4B,GAAmBA,EAAgBK,OAAS,EACzCL,EAAgB,GAChB,SAGR,SAACrD,EAAD,CACEyB,QAASA,EACToB,SAAUA,EACVnC,MAAM,UACNsC,KAAMA,EACNW,YAAU,QAAI,aAAc,oBAAuBL,GACnDL,SAAUA,EACVW,eAAa,EACbC,oBAAkB,EAClBC,oBAAkB,EAClBhB,MAAOA,EACPC,GAAIA,KAEJG,IACA,iBACEM,WAAWC,EAAAA,EAAAA,GAAKL,EAAQf,gBAAT,UACZe,EAAQjB,iBAAmBV,IAFhC,SAKG4B,EAAkBA,EAAgB,GAAK,UAMhD,OAAIH,EACKK,GAIP,gBAAKC,UAAWJ,EAAQnB,aAAxB,UACE,UAAC,KAAD,CAAM8B,WAAS,EAAClC,WAAY,SAA5B,WACE,SAAC,KAAD,CAAMmC,MAAI,EAACC,IAAE,EAAb,UACE,UAAC,KAAD,CAAMF,WAAS,EAAf,WACE,SAAC,KAAD,CACEC,MAAI,EACJC,GAAI,GACJC,GAAoB,KAAhBf,EAAqB,EAAI,GAC7BgB,GAAoB,KAAhBhB,EAAqB,EAAI,EAJ/B,SAMa,KAAVP,IACC,UAAC,IAAD,CAAYwB,QAASrB,EAAIS,UAAWJ,EAAQiB,WAA5C,WACE,0BAAOzB,IACM,KAAZH,IACC,gBAAKe,UAAWJ,EAAQkB,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAO9B,EAAS+B,UAAU,YAAnC,UACE,gBAAKhB,UAAWJ,EAAQX,QAAxB,UACE,SAAC,IAAD,gBAQd,SAAC,KAAD,CAAMuB,MAAI,EAACC,GAAI,GAAIC,IAAE,EAACO,UAAW,OAAjC,SACmB,KAAhBtB,IACC,SAAC,IAAD,CAAYuB,UAAU,IAAIlB,UAAWJ,EAAQb,iBAA7C,SACGY,YAOX,SAAC,KAAD,CACEa,MAAI,EACJC,GAAI,GACJC,GAAI,EACJO,UAAW,QACXjB,UAAWJ,EAAQzB,gBALrB,SAOG4B,a,mLC1HLoB,GAAcC,EAAAA,EAAAA,IAAW,SAAC1E,GAAD,OAC7B8B,EAAAA,EAAAA,IAAa,UACR6C,EAAAA,QAIP,SAASC,EAAWC,GAClB,IAAM3B,EAAUuB,IAEhB,OACE,SAAC,KAAD,QACEK,WAAY,CAAE5B,QAAAA,IACV2B,IA0IV,KAAe9E,EAAAA,EAAAA,IAhLA,SAACC,GAAD,OACb8B,EAAAA,EAAAA,IAAa,0BACRW,EAAAA,IACAsC,EAAAA,IAFO,IAGVC,iBAAkB,CAChBC,SAAU,EACVC,SAAU,YAEZC,cAAe,CACbD,SAAU,WACVE,MAAO,EACPC,IAAK,EACL,QAAS,CACPC,SAAU,GACVC,UAAW,IAEb,cAAe,CACbF,IAAK,IAGTlB,YAAW,kBACN1B,EAAAA,GAAAA,YADK,IAERP,WAAY,gBA0JlB,EArIwB,SAAC,GA4BH,IA3BpBQ,EA2BmB,EA3BnBA,MACAC,EA0BmB,EA1BnBA,SACAC,EAyBmB,EAzBnBA,MACAC,EAwBmB,EAxBnBA,GACAC,EAuBmB,EAvBnBA,KAuBmB,IAtBnB0C,KAAAA,OAsBmB,MAtBZ,OAsBY,MArBnBC,aAAAA,OAqBmB,MArBJ,MAqBI,MApBnB1C,SAAAA,OAoBmB,aAnBnB2C,UAAAA,OAmBmB,aAlBnBnD,QAAAA,OAkBmB,MAlBT,GAkBS,MAjBnBoD,MAAAA,OAiBmB,MAjBX,EAiBW,MAhBnBC,MAAAA,OAgBmB,MAhBX,GAgBW,MAfnBC,SAAAA,OAemB,aAdnBC,YAAAA,OAcmB,MAdL,GAcK,EAbnBC,EAamB,EAbnBA,IACAC,EAYmB,EAZnBA,IACAC,EAWmB,EAXnBA,UAWmB,IAVnBC,YAAAA,OAUmB,MAVL,KAUK,MATnBC,cAAAA,OASmB,MATH,KASG,MARnB/C,gBAAAA,OAQmB,MARD,GAQC,EAPnB+B,EAOmB,EAPnBA,cAOmB,IANnBiB,gBAAAA,OAMmB,aALnBC,QAAAA,OAKmB,MALT,GAKS,MAJnBC,UAAAA,OAImB,SAHnBpD,EAGmB,EAHnBA,QAGmB,IAFnBI,UAAAA,OAEmB,MAFP,GAEO,EADnBiD,EACmB,EADnBA,WAEI9C,IAAe,QAAK,aAAckC,GAAUvC,GAchD,MAZa,WAAToC,GAAqBO,IACvBtC,GAAU,IAAUsC,GAGT,WAATP,GAAqBQ,IACvBvC,GAAU,IAAUuC,GAGN,KAAZK,IACF5C,GAAU,QAAc4C,IAIxB,SAAC,WAAD,WACE,UAAC,KAAD,CACExC,WAAS,EACTP,WAAWC,EAAAA,EAAAA,GACK,KAAdD,EAAmBA,EAAY,GACrB,KAAVsC,EAAe1C,EAAQsD,aAAetD,EAAQuD,mBAJlD,UAOa,KAAV/D,IACC,UAAC,IAAD,CACEwB,QAASrB,EACTS,UACE8C,EAAkBlD,EAAQwD,gBAAkBxD,EAAQiB,WAHxD,WAME,4BACGzB,EACAmD,EAAW,IAAM,MAEP,KAAZtD,IACC,gBAAKe,UAAWJ,EAAQkB,iBAAxB,UACE,SAAC,IAAD,CAASC,MAAO9B,EAAS+B,UAAU,YAAnC,UACE,gBAAKhB,UAAWJ,EAAQX,QAAxB,UACE,SAAC,IAAD,cAQZ,iBAAKe,UAAWJ,EAAQ8B,iBAAxB,WACE,SAACJ,EAAD,CACE/B,GAAIA,EACJC,KAAMA,EACN6D,WAAS,EACT/D,MAAOA,EACP0D,UAAWA,EACXvD,SAAUA,EACVJ,SAAUA,EACV6C,KAAMA,EACNE,UAAWA,EACXD,aAAcA,EACdhC,WAAYA,GACZmC,MAAiB,KAAVA,EACPgB,WAAYhB,EACZE,YAAaA,EACbxC,UAAWJ,EAAQ2D,YACnBN,WAAYA,IAEbL,IACC,gBACE5C,UAAS,UAAKJ,EAAQiC,cAAb,YACG,KAAVzC,EAAe,YAAc,IAFjC,UAKE,SAAC,IAAD,CACEoE,QACE3B,EACI,WACEA,KAEF,kBAAM,MAEZtC,GAAIoD,EACJc,KAAM,QACNpD,oBAAoB,EACpBD,eAAe,EACfE,oBAAoB,EAZtB,SAcGsC,MAINC,IACC,gBACE7C,UAAS,UAAKJ,EAAQiC,cAAb,YACG,KAAVzC,EAAe,YAAc,IAFjC,SAKGyD,gB,sGC1Lf,KAAepG,EAAAA,EAAAA,IAnCA,SAACC,GAAD,OACb8B,EAAAA,EAAAA,IAAa,UACRkF,EAAAA,OAiCP,EA9BuB,SAAC,GAKA,IAJtB9D,EAIqB,EAJrBA,QAIqB,IAHrBR,MAAAA,OAGqB,MAHb,GAGa,EAFrBuE,EAEqB,EAFrBA,QAEqB,IADrBC,UAAAA,OACqB,SACrB,OACE,SAAC,EAAAC,SAAD,WACE,UAAC,KAAD,CAAM7D,UAAWJ,EAAQkE,kBAAzB,UACa,KAAV1E,IACC,SAAC,KAAD,CAAMoB,MAAI,EAACC,GAAI,GAAIT,UAAWJ,EAAQmE,gBAAtC,SACG3E,KAGL,SAAC,KAAD,CAAMoB,MAAI,EAACC,GAAI,GAAIT,UAAWJ,EAAQ8D,eAAtC,UACE,SAAC,KAAD,CACElD,MAAI,EACJC,GAAI,GACJT,UACE4D,EAAYhE,EAAQoE,sBAAwBpE,EAAQqE,aAJxD,SAOGN,e,yMCwIPO,GAAYC,EAAAA,EAAAA,KAJD,SAACC,GAAD,MAAsB,CACrCC,kBAAmBD,EAAME,OAAOC,iBAGE,CAClCC,qBAAAA,EAAAA,KAGF,KAAe/H,EAAAA,EAAAA,IAvIA,SAACC,GAAD,OACb8B,EAAAA,EAAAA,IAAa,kBACRiG,EAAAA,IADO,IAEVd,QAAS,CACP7G,QAAS,GACT4H,cAAe,GAEjBC,iBAAkB,CAChB/H,MAAO,OACPoF,SAAU,MAET4C,EAAAA,OA4HP,CAAkCV,GAzHb,SAAC,GAWF,IAVlBW,EAUiB,EAVjBA,QACAC,EASiB,EATjBA,UACA/D,EAQiB,EARjBA,MACAgE,EAOiB,EAPjBA,SACAnF,EAMiB,EANjBA,QAMiB,IALjBoF,UAAAA,OAKiB,SAJjBX,EAIiB,EAJjBA,kBACAY,EAGiB,EAHjBA,iBACAT,EAEiB,EAFjBA,qBAEiB,IADjBU,UAAAA,OACiB,MADL,KACK,EACjB,GAAwCC,EAAAA,EAAAA,WAAkB,GAA1D,eAAOC,EAAP,KAAqBC,EAArB,MAEAC,EAAAA,EAAAA,YAAU,WACRd,EAAqB,MACpB,CAACA,KAEJc,EAAAA,EAAAA,YAAU,WACR,GAAIjB,EAAmB,CACrB,GAAkC,KAA9BA,EAAkBkB,QAEpB,YADAF,GAAgB,GAIa,UAA3BhB,EAAkBnC,MACpBmD,GAAgB,MAGnB,CAAChB,IAEJ,IAKMmB,EAAaR,EACf,CACEpF,QAAS,CACP6F,MAAO7F,EAAQ+E,mBAGnB,CAAE3C,SAAU,KAAeqB,WAAW,GAEtCkC,EAAU,GAYd,OAVIlB,IACFkB,EAAUlB,EAAkBqB,kBAEa,KAAvCrB,EAAkBqB,kBAClBrB,EAAkBqB,iBAAiBxF,OAAS,KAE5CqF,EAAUlB,EAAkBkB,WAK9B,UAAC,KAAD,gBACEI,KAAMb,EACNlF,QAASA,GACL4F,GAHN,IAIEI,OAAQ,QACRf,QAAS,SAACgB,EAAOC,GACA,kBAAXA,GACFjB,KAGJ7E,UAAWJ,EAAQjD,KAVrB,WAYE,UAAC,IAAD,CAAaqD,UAAWJ,EAAQmB,MAAhC,WACE,iBAAKf,UAAWJ,EAAQmG,UAAxB,UACGb,EADH,IACenE,MAEf,gBAAKf,UAAWJ,EAAQoG,eAAxB,UACE,SAAC,IAAD,CACE,aAAW,QACXzG,GAAI,QACJS,UAAWJ,EAAQqG,YACnBzC,QAASqB,EACTzE,eAAa,EACbqD,KAAK,QANP,UAQE,SAAC,IAAD,YAKN,SAAC,IAAD,CAAWyC,SAAS,KACpB,SAAC,IAAD,CACEP,KAAMP,EACNpF,UAAWJ,EAAQuG,cACnBtB,QAAS,WA3DbQ,GAAgB,GAChBb,EAAqB,KA6DjBe,QAASA,EACTa,aAAc,CACZpG,UAAU,GAAD,OAAKJ,EAAQyG,SAAb,YACPhC,GAAgD,UAA3BA,EAAkBnC,KACnCtC,EAAQ0G,cACR,KAGRC,iBACElC,GAAgD,UAA3BA,EAAkBnC,KAAmB,IAAQ,OAGtE,SAAC,IAAD,CAAelC,UAAWiF,EAAmB,GAAKrF,EAAQ+D,QAA1D,SACGoB,a,iPC4FHyB,EAAqB,CACzBC,0BAAAA,EAAAA,IAGIvC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMqC,GAEhC,WAAe/J,EAAAA,EAAAA,IArNA,SAACC,GAAD,OACb8B,EAAAA,EAAAA,IAAa,wBACXkI,gBAAiB,CACfzF,UAAW,SAEb0F,aAAc,CACZ,mBAAoB,CAClB7J,QAAS,EACT4B,aAAc,MAGfkI,EAAAA,IACAC,EAAAA,IACAC,EAAAA,OAwMP,CAAkC5C,GArMjB,SAAC,GAME,IALlByB,EAKiB,EALjBA,KACAoB,EAIiB,EAJjBA,cACAC,EAGiB,EAHjBA,qBACApH,EAEiB,EAFjBA,QACA6G,EACiB,EADjBA,0BAGA,GAAkCtB,EAAAA,EAAAA,UAAiB,IAAnD,eAAO8B,EAAP,KAAkBC,EAAlB,KACA,GAAwC/B,EAAAA,EAAAA,WAAkB,GAA1D,eAAOgC,EAAP,KAAqBC,EAArB,KACA,GAA2BjC,EAAAA,EAAAA,WAAkB,GAA7C,eAAOkC,EAAP,KAAeC,EAAf,KACA,GAA0CnC,EAAAA,EAAAA,UAAmB,IAA7D,eAAOoC,EAAP,KAAsBC,EAAtB,KACA,GAAuCrC,EAAAA,EAAAA,WAAkB,GAAzD,eAAOsC,EAAP,KAAqBC,EAArB,KACA,GAAoCvC,EAAAA,EAAAA,WAAkB,GAAtD,eAAOwC,EAAP,KAAmBC,EAAnB,MAGAtC,EAAAA,EAAAA,YAAU,WACc,OAAlByB,EACFW,GAAe,IAEfR,EAAa,IACbM,EAAiB,OAElB,CAACT,KAEJzB,EAAAA,EAAAA,YAAU,WACRsC,EAAmC,KAArBX,EAAUY,UACvB,CAACZ,EAAWM,KAEfjC,EAAAA,EAAAA,YAAU,WACR,GAAI+B,EAAQ,CAEc,OAAlBN,EACFe,EAAAA,EAAAA,OACU,MADV,6BACuCC,UAAUd,IAAc,CAC3De,MAAOf,EACPgB,QAASV,EACTW,OAAQf,EAAe,UAAY,aAEpCgB,MAAK,SAACC,GACLd,GAAS,GACTN,OAEDqB,OAAM,SAACC,GACNhB,GAAS,GACTb,EAA0B6B,MAG9BR,EAAAA,EAAAA,OACU,OAAQ,iBAAkB,CAChCE,MAAOf,EACPgB,QAASV,IAEVY,MAAK,SAACC,GACLd,GAAS,GACTN,OAEDqB,OAAM,SAACC,GACNhB,GAAS,GACTb,EAA0B6B,SAMnC,CACDjB,EACAJ,EACAM,EACAJ,EACAJ,EACAC,EACAP,KAGFnB,EAAAA,EAAAA,YAAU,WACR,GAAIyB,GAAiBU,EAAc,CAE/BK,EAAAA,EAAAA,OACU,MADV,6BACuCC,UAAUhB,KAC9CoB,MAAK,SAACC,GACLhB,EAA+B,YAAfgB,EAAIF,QACpBhB,EAAakB,EAAI5I,MACjBgI,EAAiBY,EAAIH,YAEtBI,OAAM,SAACC,GACN7B,EAA0B6B,GAC1BZ,GAAe,SAKtB,CAACD,EAAcV,EAAeN,IAiBjC,OACE,UAAC,IAAD,CACE3B,UAAWa,EACXd,QAASmC,EACTjG,MAAyB,OAAlBgG,EAAA,aAAwC,eAC/C7B,WAAW,SAAC,KAAD,IAJb,UAMqB,OAAlB6B,IACC,gBAAK/G,UAAWJ,EAAQ2I,gBAAxB,UACE,SAAC,IAAD,CACE1I,gBAAiB,CAAC,UAAW,YAC7B5B,QAASkJ,EACT7H,MAAO,gBACPC,GAAG,eACHC,KAAK,eACLH,SAAU,SAACmJ,GACTpB,EAAgBoB,EAAEC,OAAOxK,UAE3ByB,YAAU,OAIhB,iBAAMgJ,YAAU,EAACvG,aAAa,MAAMwG,SApCtB,SAAC9C,GACjBA,EAAM+C,iBAENtB,GAAS,IAiCP,UACE,UAAC,KAAD,CAAM/G,WAAS,EAAf,WACE,UAAC,KAAD,CAAMC,MAAI,EAACC,GAAI,GAAIT,UAAWJ,EAAQiJ,oBAAtC,UACqB,OAAlB9B,GACC,SAAC,KAAD,CAAMvG,MAAI,EAACC,GAAI,GAAIT,UAAWJ,EAAQkJ,aAAtC,UACE,SAAC,IAAD,CACEvJ,GAAG,aACHC,KAAK,aACLJ,MAAM,aACN4D,WAAW,EACX1D,MAAO2H,EACP5H,SAAU,SAACmJ,GACTtB,EAAasB,EAAEC,OAAOnJ,aAK5B,SAAC,KAAD,CAAMkB,MAAI,EAACC,GAAI,GAAIT,UAAWJ,EAAQkJ,aAAtC,UACE,SAAC,IAAD,CAAgB1J,MAAO,aAAcuE,QAASoD,OAGlD,SAAC,KAAD,CAAMvG,MAAI,EAACC,GAAI,GAAIT,UAAWJ,EAAQ+G,aAAtC,UACE,SAAC,IAAD,CACEY,cAAeA,EACfC,iBAAkBA,EAClBuB,SAA4B,OAAlBhC,UAIhB,UAAC,KAAD,CAAMvG,MAAI,EAACC,GAAI,GAAIT,UAAWJ,EAAQ8G,gBAAtC,WACE,SAAC,IAAD,CACExE,KAAK,SACL8G,QAAQ,WACR9L,MAAM,UACN8C,UAAWJ,EAAQqJ,YACnBzF,QAjEM,WACM,OAAlBuD,GACFG,EAAa,IAGfM,EAAiB,KAuDT,oBAUA,SAAC,IAAD,CACEtF,KAAK,SACL8G,QAAQ,YACR9L,MAAM,UACNuC,SAAU4H,IAAWM,EAJvB,qBASDN,IACC,SAAC,KAAD,CAAM7G,MAAI,EAACC,GAAI,GAAf,UACE,SAAC,IAAD,mB,uOC7DR+F,EAAqB,CACzBC,0BAAAA,EAAAA,IAGIvC,GAAYC,EAAAA,EAAAA,IAAQ,KAAMqC,GAEhC,KAAe/J,EAAAA,EAAAA,IArJA,SAACC,GAAD,OACb8B,EAAAA,EAAAA,IAAa,gBACXiH,MAAO,CACLrH,QAAS,OACT8K,SAAU,OACVC,cAAe,SAEf5L,UAAW,OACXE,OAAQ,GAGV2L,YAAW,UACNC,EAAAA,GAAAA,YAELC,UAAW,CACTC,KAAM,IAELrK,EAAAA,IAhBO,IAiBVsK,aAAc,CACZ1K,SAAU,GACV2K,UAAW,SACXC,SAAU,IACVC,YAAa,IAEfC,QAAS,CACP3I,UAAW,SACXnE,QAASJ,EAAMmN,QAAQ,GACvBpM,OAAQ,oBACRqB,SAAU,UAETgL,EAAAA,OAuHP,CAAkC5F,GApHX,SAAC,GAMH,IALnBtE,EAKkB,EALlBA,QACA2H,EAIkB,EAJlBA,cACAC,EAGkB,EAHlBA,iBAGkB,IAFlBuB,SAAAA,OAEkB,SADlBtC,EACkB,EADlBA,0BAGA,GAA8BtB,EAAAA,EAAAA,UAAgB,IAA9C,eAAO4E,EAAP,KAAgBC,EAAhB,KACA,GAA6B7E,EAAAA,EAAAA,WAAkB,GAA/C,eAAO8E,EAAP,KAAgBC,EAAhB,KACA,GAA4B/E,EAAAA,EAAAA,UAAiB,IAA7C,eAAOgF,EAAP,KAAeC,EAAf,KAEMC,GAAaC,EAAAA,EAAAA,cAAY,WAC7BxC,EAAAA,EAAAA,OACU,MADV,iBAEGK,MAAK,SAACC,GACL,IAAImC,EAAQC,GAAAA,CAAIpC,EAAK,QAAS,IAEzBmC,IACHA,EAAQ,IAGVP,EAAWO,EAAME,KAAKC,EAAAA,KACtBR,GAAU,MAEX7B,OAAM,SAACC,GACN7B,EAA0B6B,GAC1B4B,GAAU,QAEb,CAACzD,KAGJnB,EAAAA,EAAAA,YAAU,WACR4E,GAAU,KACT,KAEH5E,EAAAA,EAAAA,YAAU,WACJ2E,GACFI,MAED,CAACJ,EAASI,IAEb,IAAMM,EAAYpD,GAAgB,GAsB5BqD,EAAkBb,EAAQI,QAAO,SAACU,GAAD,OACrCA,EAAYC,UAAUC,SAASZ,MAGjC,OACE,SAAC,WAAD,WACE,SAAC,KAAD,CAAM3J,MAAI,EAACC,GAAI,GAAf,UACE,UAAC,IAAD,CAAOT,UAAWJ,EAAQ6F,MAA1B,UACGwE,IAAW,SAAC,IAAD,IACC,OAAZF,GAAoBA,EAAQ7J,OAAS,GACpC,UAAC,WAAD,YACE,UAAC,KAAD,CAAMM,MAAI,EAACC,GAAI,GAAIT,UAAWJ,EAAQV,YAAtC,WACE,kBAAOc,UAAWJ,EAAQ4J,aAA1B,SACGT,EAAW,eAAiB,kBAE/B,gBAAK/I,UAAWJ,EAAQ0J,UAAxB,UACE,SAAC,IAAD,CACE9G,YAAY,eACZwI,kBAAkB,MAClB3L,SAAU+K,EACV9K,MAAO6K,UAIb,SAAC,KAAD,CAAM3J,MAAI,EAACC,GAAI,GAAIT,UAAWJ,EAAQwJ,WAAtC,UACE,SAAC,IAAD,CACE6B,QAAS,CAAC,CAAE7L,MAAO,aAAc8L,WAAY,cAC7CC,SA9CS,SAAC3C,GACxB,IAAM4C,EAAU5C,EAAEC,OACZnJ,EAAQ8L,EAAQ9L,MAChBrB,EAAUmN,EAAQnN,QAEpBoN,GAAkB,OAAOV,GAW7B,OATI1M,EAEFoN,EAASC,KAAKhM,GAGd+L,EAAWA,EAASlB,QAAO,SAACoB,GAAD,OAAaA,IAAYjM,KAEtDkI,EAAiB6D,GAEVA,GA+BOG,cAAeb,EACfT,UAAWD,EACXF,QAASa,EACTa,WAAW,QACXC,QAAQ,YACRC,kBAAmB/L,EAAQgM,yBAKjC,gBAAK5L,UAAWJ,EAAQgK,QAAxB,6C,0BCnLRiC,EAAyBC,EAAQ,OAKrCC,EAAQ,OAAU,EAElB,IAAIC,EAAiBH,EAAuBC,EAAQ,QAEhDG,EAAcH,EAAQ,OAEtBI,GAAW,EAAIF,EAAeG,UAAuB,EAAIF,EAAYG,KAAK,OAAQ,CACpFC,EAAG,0GACD,SAEJN,EAAQ,EAAUG,G,4LChBX,SAASI,EAAsBC,GACpC,OAAOC,EAAAA,EAAAA,GAAqB,YAAaD,GAE3C,IACA,GADsBE,E,SAAAA,GAAuB,YAAa,CAAC,OAAQ,YAAa,UAAW,aAAc,eAAgB,iBAAkB,YAAa,aAAc,UAAW,WAAY,QAAS,QAAS,U,WCFzMC,EAAY,CAAC,YAAa,QAAS,OAAQ,OAAQ,MAoCnDC,GAAaC,EAAAA,EAAAA,IAAO,OAAQ,CAChCpN,KAAM,YACN+M,KAAM,OACNM,kBAAmB,SAACtL,EAAOuL,GACzB,IACEC,EACExL,EADFwL,WAEF,MAAO,CAACD,EAAOnQ,KAAMoQ,EAAWC,MAAQF,EAAO,OAAD,QAAQG,EAAAA,EAAAA,GAAWF,EAAWC,QAAUF,EAAO,OAAD,QAAQG,EAAAA,EAAAA,GAAWF,EAAWtJ,WAP3GmJ,EAShB,kBACDG,EADC,EACDA,WADC,OAEGG,EAAAA,EAAAA,GAAS,CACb9O,QAAS,cACTxB,MAAO,GACPC,OAAQ,GACRqM,SAAU,SACVpM,QAAS,GACTqQ,UAAW,aACXvL,SAAU,WACVwL,WAAY,EACZC,OAAQ,EAERC,cAAe,SAEf,eAAgB,CACdC,YAAa,UAEM,UAApBR,EAAWC,MAAoB,CAChCrP,YAAa,GACQ,QAApBoP,EAAWC,MAAkB,CAC9BrD,aAAc,GACO,UAApBoD,EAAWtJ,OAAX,GACD7G,MAAO,GACPC,OAAQ,GACRC,QAAS,IAHR,sBAIM0Q,EAAAA,OAAwB,CAC7B5Q,MAAO,GACPC,OAAQ,MANT,sBAQM2Q,EAAAA,aARN,QASC1Q,QAAS,GATV,YAUO0Q,EAAAA,SAA0B,CAC9BvQ,UAAW,sBAXd,OAeGwQ,GAAmBb,EAAAA,EAAAA,IAAOc,EAAAA,EAAY,CAC1ClO,KAAM,YACN+M,KAAM,aACNM,kBAAmB,SAACtL,EAAOuL,GACzB,IACEC,EACExL,EADFwL,WAEF,MAAO,CAACD,EAAO9P,YAAR,uBACEwQ,EAAAA,OAAwBV,EAAOa,OAChB,YAArBZ,EAAW7P,OAAuB4P,EAAO,QAAD,QAASG,EAAAA,EAAAA,GAAWF,EAAW7P,YATrD0P,EAWtB,kBACDlQ,EADC,EACDA,MADC,UAGDkF,SAAU,WACVG,IAAK,EACL6L,KAAM,EACNP,OAAQ,EAERnQ,MAA8B,UAAvBR,EAAMS,QAAQ0Q,KAAmBnR,EAAMS,QAAQC,OAAOC,MAAQX,EAAMS,QAAQ2Q,KAAK,KACxFhQ,WAAYpB,EAAMqB,YAAYC,OAAO,CAAC,OAAQ,aAAc,CAC1D+P,SAAUrR,EAAMqB,YAAYgQ,SAASC,aAVtC,qBAYKR,EAAAA,SAA0B,CAC9BvQ,UAAW,sBAbZ,qBAeKuQ,EAAAA,UAA2B,CAC/BtQ,MAA8B,UAAvBR,EAAMS,QAAQ0Q,KAAmBnR,EAAMS,QAAQ2Q,KAAK,KAAOpR,EAAMS,QAAQ2Q,KAAK,QAhBtF,qBAkBKN,EAAAA,QAlBL,eAkBiCA,EAAAA,OAAwB,CACxDhQ,QAAS,MAnBV,qBAqBKgQ,EAAAA,SArBL,eAqBkCA,EAAAA,OAAwB,CACzDhQ,QAAgC,UAAvBd,EAAMS,QAAQ0Q,KAAmB,IAAO,MAtBlD,sBAwBML,EAAAA,OAAwB,CAC7BI,KAAM,QACNhR,MAAO,SA1BR,KA4BC,kBACFF,EADE,EACFA,MACAqQ,EAFE,EAEFA,WAFE,OAGEG,EAAAA,EAAAA,GAAS,CACb,UAAW,CACT5P,iBAAiB2Q,EAAAA,EAAAA,IAAMvR,EAAMS,QAAQ+Q,OAAOC,OAAQzR,EAAMS,QAAQ+Q,OAAOE,cAEzE,uBAAwB,CACtB9Q,gBAAiB,iBAGC,YAArByP,EAAW7P,QAAX,2BACKsQ,EAAAA,UADL,QAECtQ,MAAOR,EAAMS,QAAQ4P,EAAW7P,OAAOmR,KACvC,UAAW,CACT/Q,iBAAiB2Q,EAAAA,EAAAA,IAAMvR,EAAMS,QAAQ4P,EAAW7P,OAAOmR,KAAM3R,EAAMS,QAAQ+Q,OAAOE,cAClF,uBAAwB,CACtB9Q,gBAAiB,iBANtB,YASOkQ,EAAAA,UAA2B,CAC/BtQ,MAA8B,UAAvBR,EAAMS,QAAQ0Q,MAAmBS,EAAAA,EAAAA,IAAQ5R,EAAMS,QAAQ4P,EAAW7P,OAAOmR,KAAM,MAAQE,EAAAA,EAAAA,IAAO7R,EAAMS,QAAQ4P,EAAW7P,OAAOmR,KAAM,SAV9I,qBAaKb,EAAAA,QAbL,eAaiCA,EAAAA,OAAwB,CACxDlQ,gBAAiBZ,EAAMS,QAAQ4P,EAAW7P,OAAOmR,OAdlD,OAiBGG,GAAc5B,EAAAA,EAAAA,IAAO,OAAQ,CACjCpN,KAAM,YACN+M,KAAM,QACNM,kBAAmB,SAACtL,EAAOuL,GAAR,OAAmBA,EAAOlP,QAH3BgP,EAIjB,gBACDlQ,EADC,EACDA,MADC,MAEI,CACLG,OAAQ,OACRD,MAAO,OACPiB,aAAc,EACdwP,QAAS,EACTvP,WAAYpB,EAAMqB,YAAYC,OAAO,CAAC,UAAW,oBAAqB,CACpE+P,SAAUrR,EAAMqB,YAAYgQ,SAASC,WAEvC1Q,gBAAwC,UAAvBZ,EAAMS,QAAQ0Q,KAAmBnR,EAAMS,QAAQC,OAAOqR,MAAQ/R,EAAMS,QAAQC,OAAOC,MACpGG,QAAgC,UAAvBd,EAAMS,QAAQ0Q,KAAmB,IAAO,OAE7Ca,GAAc9B,EAAAA,EAAAA,IAAO,OAAQ,CACjCpN,KAAM,YACN+M,KAAM,QACNM,kBAAmB,SAACtL,EAAOuL,GAAR,OAAmBA,EAAOpP,QAH3BkP,EAIjB,kBAEI,CACLrP,UAHC,EACDb,MAEiBiS,QAAQ,GACzBrR,gBAAiB,eACjBV,MAAO,GACPC,OAAQ,GACRgB,aAAc,UAoKhB,EAlK4B+Q,EAAAA,YAAiB,SAAgBC,EAASC,GACpE,IAAMvN,GAAQwN,EAAAA,EAAAA,GAAc,CAC1BxN,MAAOsN,EACPrP,KAAM,cAINQ,EAKEuB,EALFvB,UADF,EAMIuB,EAJFrE,MAAAA,OAFF,MAEU,UAFV,IAMIqE,EAHFyL,KAAAA,OAHF,WAMIzL,EAFFkC,KAAAA,OAJF,MAIS,SAJT,EAKEuL,EACEzN,EADFyN,GAEIC,GAAQC,EAAAA,EAAAA,GAA8B3N,EAAOmL,GAE7CK,GAAaG,EAAAA,EAAAA,GAAS,GAAI3L,EAAO,CACrCrE,MAAAA,EACA8P,KAAAA,EACAvJ,KAAAA,IAGI7D,EAxLkB,SAAAmN,GACxB,IACEnN,EAMEmN,EANFnN,QACAoN,EAKED,EALFC,KACAvJ,EAIEsJ,EAJFtJ,KACAvG,EAGE6P,EAHF7P,MACAe,EAEE8O,EAFF9O,QACAwB,EACEsN,EADFtN,SAEI0P,EAAQ,CACZxS,KAAM,CAAC,OAAQqQ,GAAQ,OAAJ,QAAWC,EAAAA,EAAAA,GAAWD,IAAnC,eAAmDC,EAAAA,EAAAA,GAAWxJ,KACpEzG,WAAY,CAAC,aAAD,gBAAuBiQ,EAAAA,EAAAA,GAAW/P,IAAUe,GAAW,UAAWwB,GAAY,YAC1F/B,MAAO,CAAC,SACRE,MAAO,CAAC,SACR+P,MAAO,CAAC,UAEJyB,GAAkBC,EAAAA,EAAAA,GAAeF,EAAO7C,EAAuB1M,GACrE,OAAOsN,EAAAA,EAAAA,GAAS,GAAItN,EAASwP,GAuKbE,CAAkBvC,GAE5BwC,GAAoBC,EAAAA,EAAAA,KAAKd,EAAa,CAC1C1O,UAAWJ,EAAQlC,MACnBqP,WAAYA,IAGd,OAAoB0C,EAAAA,EAAAA,MAAM9C,EAAY,CACpC3M,WAAWC,EAAAA,EAAAA,GAAKL,EAAQjD,KAAMqD,GAC9BgP,GAAIA,EACJjC,WAAYA,EACZhI,SAAU,EAAcyK,EAAAA,EAAAA,KAAK/B,GAAkBP,EAAAA,EAAAA,GAAS,CACtDhL,KAAM,WACNqN,KAAMA,EACNG,YAAaH,EACbT,IAAKA,EACL/B,WAAYA,GACXkC,EAAO,CACRrP,SAASsN,EAAAA,EAAAA,GAAS,GAAItN,EAAS,CAC7BjD,KAAMiD,EAAQ5C,iBAEAwS,EAAAA,EAAAA,KAAKhB,EAAa,CAClCxO,UAAWJ,EAAQhC,MACnBmP,WAAYA","sources":["screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Common/ModalWrapper/ModalWrapper.tsx","screens/Console/Groups/AddGroup.tsx","screens/Console/Groups/UsersSelectors.tsx","../node_modules/@mui/icons-material/Close.js","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { InputLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport { actionsTray, fieldBasic } from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input/Input\";\n\ninterface IFormSwitch {\n label?: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n tooltip?: string;\n description?: string;\n index?: number;\n checked: boolean;\n switchOnly?: boolean;\n indicatorLabels?: string[];\n extraInputProps?: StandardInputProps[\"inputProps\"];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n divContainer: {\n marginBottom: 20,\n },\n indicatorLabelOn: {\n fontWeight: \"bold\",\n color: \"#081C42 !important\",\n },\n indicatorLabel: {\n fontSize: 12,\n color: \"#E2E2E2\",\n margin: \"0 8px 0 10px\",\n },\n fieldDescription: {\n marginTop: 4,\n color: \"#999999\",\n },\n tooltip: {\n fontSize: 16,\n },\n ...actionsTray,\n ...fieldBasic,\n });\n\nconst StyledSwitch = withStyles((theme) => ({\n root: {\n width: 50,\n height: 24,\n padding: 0,\n margin: 0,\n },\n switchBase: {\n padding: 1,\n \"&$checked\": {\n transform: \"translateX(24px)\",\n color: theme.palette.common.white,\n \"& + $track\": {\n backgroundColor: \"#4CCB92\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n border: \"none\",\n },\n },\n \"&$focusVisible $thumb\": {\n color: \"#4CCB92\",\n border: \"6px solid #fff\",\n },\n },\n thumb: {\n width: 22,\n height: 22,\n backgroundColor: \"#FAFAFA\",\n border: \"2px solid #FFFFFF\",\n marginLeft: 1,\n },\n track: {\n borderRadius: 24 / 2,\n backgroundColor: \"#E2E2E2\",\n boxShadow: \"inset 0px 1px 4px rgba(0,0,0,0.1)\",\n opacity: 1,\n transition: theme.transitions.create([\"background-color\", \"border\"]),\n },\n checked: {},\n focusVisible: {},\n switchContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n}))(Switch);\n\nconst FormSwitchWrapper = ({\n label = \"\",\n onChange,\n value,\n id,\n name,\n checked = false,\n disabled = false,\n switchOnly = false,\n tooltip = \"\",\n description = \"\",\n classes,\n indicatorLabels,\n extraInputProps = {},\n}: IFormSwitch) => {\n const switchComponent = (\n \n {!switchOnly && (\n \n {indicatorLabels && indicatorLabels.length > 1\n ? indicatorLabels[1]\n : \"OFF\"}\n \n )}\n \n {!switchOnly && (\n \n {indicatorLabels ? indicatorLabels[0] : \"ON\"}\n \n )}\n \n );\n\n if (switchOnly) {\n return switchComponent;\n }\n\n return (\n
    \n \n \n \n \n {label !== \"\" && (\n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )}\n
    \n \n {description !== \"\" && (\n \n {description}\n \n )}\n \n
    \n
    \n\n \n {switchComponent}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(FormSwitchWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport IconButton from \"@mui/material/IconButton\";\nimport Snackbar from \"@mui/material/Snackbar\";\nimport { Dialog, DialogContent, DialogTitle } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n deleteDialogStyles,\n snackBarCommon,\n} from \"../FormComponents/common/styleLibrary\";\nimport { AppState } from \"../../../../store\";\nimport { snackBarMessage } from \"../../../../types\";\nimport { setModalSnackMessage } from \"../../../../actions\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport MainError from \"../MainError/MainError\";\n\ninterface IModalProps {\n classes: any;\n onClose: () => void;\n modalOpen: boolean;\n title: string | React.ReactNode;\n children: any;\n wideLimit?: boolean;\n modalSnackMessage?: snackBarMessage;\n noContentPadding?: boolean;\n setModalSnackMessage: typeof setModalSnackMessage;\n titleIcon?: React.ReactNode;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n content: {\n padding: 25,\n paddingBottom: 0,\n },\n customDialogSize: {\n width: \"100%\",\n maxWidth: 765,\n },\n ...snackBarCommon,\n });\n\nconst ModalWrapper = ({\n onClose,\n modalOpen,\n title,\n children,\n classes,\n wideLimit = true,\n modalSnackMessage,\n noContentPadding,\n setModalSnackMessage,\n titleIcon = null,\n}: IModalProps) => {\n const [openSnackbar, setOpenSnackbar] = useState(false);\n\n useEffect(() => {\n setModalSnackMessage(\"\");\n }, [setModalSnackMessage]);\n\n useEffect(() => {\n if (modalSnackMessage) {\n if (modalSnackMessage.message === \"\") {\n setOpenSnackbar(false);\n return;\n }\n // Open SnackBar\n if (modalSnackMessage.type !== \"error\") {\n setOpenSnackbar(true);\n }\n }\n }, [modalSnackMessage]);\n\n const closeSnackBar = () => {\n setOpenSnackbar(false);\n setModalSnackMessage(\"\");\n };\n\n const customSize = wideLimit\n ? {\n classes: {\n paper: classes.customDialogSize,\n },\n }\n : { maxWidth: \"lg\" as const, fullWidth: true };\n\n let message = \"\";\n\n if (modalSnackMessage) {\n message = modalSnackMessage.detailedErrorMsg;\n if (\n modalSnackMessage.detailedErrorMsg === \"\" ||\n modalSnackMessage.detailedErrorMsg.length < 5\n ) {\n message = modalSnackMessage.message;\n }\n }\n\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {\n closeSnackBar();\n }}\n message={message}\n ContentProps={{\n className: `${classes.snackBar} ${\n modalSnackMessage && modalSnackMessage.type === \"error\"\n ? classes.errorSnackBar\n : \"\"\n }`,\n }}\n autoHideDuration={\n modalSnackMessage && modalSnackMessage.type === \"error\" ? 10000 : 5000\n }\n />\n \n {children}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n modalSnackMessage: state.system.modalSnackBar,\n});\n\nconst connector = connect(mapState, {\n setModalSnackMessage,\n});\n\nexport default withStyles(styles)(connector(ModalWrapper));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Button, LinearProgress } from \"@mui/material\";\nimport Grid from \"@mui/material/Grid\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport UsersSelectors from \"./UsersSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport { CreateGroupIcon } from \"../../../icons\";\n\ninterface IGroupProps {\n open: boolean;\n selectedGroup: any;\n closeModalAndRefresh: any;\n classes: any;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\ninterface MainGroupProps {\n members: string[];\n name: string;\n status: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonContainer: {\n textAlign: \"right\",\n },\n userSelector: {\n \"& .MuiPaper-root\": {\n padding: 0,\n marginBottom: 15,\n },\n },\n ...formFieldStyles,\n ...spacingUtils,\n ...modalStyleUtils,\n });\n\nconst AddGroup = ({\n open,\n selectedGroup,\n closeModalAndRefresh,\n classes,\n setModalErrorSnackMessage,\n}: IGroupProps) => {\n //Local States\n const [groupName, setGroupName] = useState(\"\");\n const [groupEnabled, setGroupEnabled] = useState(false);\n const [saving, isSaving] = useState(false);\n const [selectedUsers, setSelectedUsers] = useState([]);\n const [loadingGroup, isLoadingGroup] = useState(false);\n const [validGroup, setValidGroup] = useState(false);\n\n //Effects\n useEffect(() => {\n if (selectedGroup !== null) {\n isLoadingGroup(true);\n } else {\n setGroupName(\"\");\n setSelectedUsers([]);\n }\n }, [selectedGroup]);\n\n useEffect(() => {\n setValidGroup(groupName.trim() !== \"\");\n }, [groupName, selectedUsers]);\n\n useEffect(() => {\n if (saving) {\n const saveRecord = () => {\n if (selectedGroup !== null) {\n api\n .invoke(\"PUT\", `/api/v1/group?name=${encodeURI(groupName)}`, {\n group: groupName,\n members: selectedUsers,\n status: groupEnabled ? \"enabled\" : \"disabled\",\n })\n .then((res) => {\n isSaving(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/groups\", {\n group: groupName,\n members: selectedUsers,\n })\n .then((res) => {\n isSaving(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n isSaving(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n saveRecord();\n }\n }, [\n saving,\n groupName,\n selectedUsers,\n groupEnabled,\n selectedGroup,\n closeModalAndRefresh,\n setModalErrorSnackMessage,\n ]);\n\n useEffect(() => {\n if (selectedGroup && loadingGroup) {\n const fetchGroupInfo = () => {\n api\n .invoke(\"GET\", `/api/v1/group?name=${encodeURI(selectedGroup)}`)\n .then((res: MainGroupProps) => {\n setGroupEnabled(res.status === \"enabled\");\n setGroupName(res.name);\n setSelectedUsers(res.members);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoadingGroup(false);\n });\n };\n fetchGroupInfo();\n }\n }, [loadingGroup, selectedGroup, setModalErrorSnackMessage]);\n\n //Fetch Actions\n const setSaving = (event: React.FormEvent) => {\n event.preventDefault();\n\n isSaving(true);\n };\n\n const resetForm = () => {\n if (selectedGroup === null) {\n setGroupName(\"\");\n }\n\n setSelectedUsers([]);\n };\n\n return (\n }\n >\n {selectedGroup !== null && (\n
    \n {\n setGroupEnabled(e.target.checked);\n }}\n switchOnly\n />\n
    \n )}\n
    \n \n \n {selectedGroup === null ? (\n \n ) => {\n setGroupName(e.target.value);\n }}\n />\n \n ) : (\n \n \n \n )}\n \n \n \n \n \n \n Clear\n \n\n \n Save\n \n \n {saving && (\n \n \n \n )}\n \n
    \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddGroup));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { LinearProgress } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Paper from \"@mui/material/Paper\";\nimport Grid from \"@mui/material/Grid\";\nimport { UsersList } from \"../Users/types\";\nimport { usersSort } from \"../../../utils/sortFunctions\";\nimport {\n actionsTray,\n selectorsCommon,\n tableStyles,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport TableWrapper from \"../Common/TableWrapper/TableWrapper\";\nimport SearchBox from \"../Common/SearchBox\";\n\ninterface IGroupsProps {\n classes: any;\n selectedUsers: string[];\n setSelectedUsers: any;\n editMode?: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n paper: {\n display: \"flex\",\n overflow: \"auto\",\n flexDirection: \"column\",\n // paddingTop: 15,\n boxShadow: \"none\",\n border: 0,\n },\n\n tableBlock: {\n ...tableStyles.tableBlock,\n },\n searchBox: {\n flex: 1,\n },\n ...actionsTray,\n actionsTitle: {\n fontSize: 14,\n alignSelf: \"center\",\n minWidth: 160,\n marginRight: 10,\n },\n noFound: {\n textAlign: \"center\",\n padding: theme.spacing(3),\n border: \"1px solid #EAEAEA\",\n fontSize: \".9rem\",\n },\n ...selectorsCommon,\n });\n\nconst UsersSelectors = ({\n classes,\n selectedUsers,\n setSelectedUsers,\n editMode = false,\n setModalErrorSnackMessage,\n}: IGroupsProps) => {\n //Local States\n const [records, setRecords] = useState([]);\n const [loading, isLoading] = useState(false);\n const [filter, setFilter] = useState(\"\");\n\n const fetchUsers = useCallback(() => {\n api\n .invoke(\"GET\", `/api/v1/users`)\n .then((res: UsersList) => {\n let users = get(res, \"users\", []);\n\n if (!users) {\n users = [];\n }\n\n setRecords(users.sort(usersSort));\n isLoading(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setModalErrorSnackMessage(err);\n isLoading(false);\n });\n }, [setModalErrorSnackMessage]);\n\n //Effects\n useEffect(() => {\n isLoading(true);\n }, []);\n\n useEffect(() => {\n if (loading) {\n fetchUsers();\n }\n }, [loading, fetchUsers]);\n\n const selUsers = !selectedUsers ? [] : selectedUsers;\n\n //Fetch Actions\n const selectionChanged = (e: React.ChangeEvent) => {\n const targetD = e.target;\n const value = targetD.value;\n const checked = targetD.checked;\n\n let elements: string[] = [...selUsers]; // We clone the selectedGroups array\n\n if (checked) {\n // If the user has checked this field we need to push this to selectedGroupsList\n elements.push(value);\n } else {\n // User has unchecked this field, we need to remove it from the list\n elements = elements.filter((element) => element !== value);\n }\n setSelectedUsers(elements);\n\n return elements;\n };\n\n const filteredRecords = records.filter((elementItem) =>\n elementItem.accessKey.includes(filter)\n );\n\n return (\n \n \n \n {loading && }\n {records !== null && records.length > 0 ? (\n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n ) : (\n
    No Users to display
    \n )}\n
    \n
    \n
    \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(UsersSelectors));\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"edge\", \"size\", \"sx\"];\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { refType } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, darken, lighten } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport SwitchBase from '../internal/SwitchBase';\nimport useThemeProps from '../styles/useThemeProps';\nimport styled from '../styles/styled';\nimport switchClasses, { getSwitchUtilityClass } from './switchClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nimport { jsxs as _jsxs } from \"react/jsx-runtime\";\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})(({\n ownerState\n}) => _extends({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n }\n}, ownerState.edge === 'start' && {\n marginLeft: -8\n}, ownerState.edge === 'end' && {\n marginRight: -8\n}, ownerState.size === 'small' && {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n}));\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300],\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.palette.mode === 'light' ? 0.12 : 0.2\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n}), ({\n theme,\n ownerState\n}) => _extends({\n '&:hover': {\n backgroundColor: alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n}, ownerState.color !== 'default' && {\n [`&.${switchClasses.checked}`]: {\n color: theme.palette[ownerState.color].main,\n '&:hover': {\n backgroundColor: alpha(theme.palette[ownerState.color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.palette.mode === 'light' ? lighten(theme.palette[ownerState.color].main, 0.62) : darken(theme.palette[ownerState.color].main, 0.55)\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: theme.palette[ownerState.color].main\n }\n}));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white,\n opacity: theme.palette.mode === 'light' ? 0.38 : 0.3\n}));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(({\n theme\n}) => ({\n boxShadow: theme.shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n}));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = _extends({}, props, {\n color,\n edge,\n size\n });\n\n const classes = useUtilityClasses(ownerState);\n\n const icon = /*#__PURE__*/_jsx(SwitchThumb, {\n className: classes.thumb,\n ownerState: ownerState\n });\n\n return /*#__PURE__*/_jsxs(SwitchRoot, {\n className: clsx(classes.root, className),\n sx: sx,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, _extends({\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState\n }, other, {\n classes: _extends({}, classes, {\n root: classes.switchBase\n })\n })), /*#__PURE__*/_jsx(SwitchTrack, {\n className: classes.track,\n ownerState: ownerState\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;"],"names":["StyledSwitch","withStyles","theme","root","width","height","padding","margin","switchBase","transform","color","palette","common","white","backgroundColor","boxShadow","opacity","border","thumb","marginLeft","track","borderRadius","transition","transitions","create","checked","focusVisible","switchContainer","display","alignItems","justifyContent","Switch","createStyles","divContainer","marginBottom","indicatorLabelOn","fontWeight","indicatorLabel","fontSize","fieldDescription","marginTop","tooltip","actionsTray","fieldBasic","label","onChange","value","id","name","disabled","switchOnly","description","classes","indicatorLabels","extraInputProps","switchComponent","className","clsx","length","inputProps","disableRipple","disableFocusRipple","disableTouchRipple","container","item","xs","sm","md","htmlFor","inputLabel","tooltipContainer","title","placement","textAlign","component","inputStyles","makeStyles","inputFieldStyles","InputField","props","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","noLabelMinWidth","pattern","autoFocus","onKeyPress","errorInField","inputBoxContainer","noMinWidthLabel","fullWidth","helperText","inputRebase","onClick","size","predefinedList","content","multiLine","Fragment","prefinedContainer","predefinedTitle","innerContentMultiline","innerContent","connector","connect","state","modalSnackMessage","system","modalSnackBar","setModalSnackMessage","deleteDialogStyles","paddingBottom","customDialogSize","snackBarCommon","onClose","modalOpen","children","wideLimit","noContentPadding","titleIcon","useState","openSnackbar","setOpenSnackbar","useEffect","message","customSize","paper","detailedErrorMsg","open","scroll","event","reason","titleText","closeContainer","closeButton","isModal","snackBarModal","ContentProps","snackBar","errorSnackBar","autoHideDuration","mapDispatchToProps","setModalErrorSnackMessage","buttonContainer","userSelector","formFieldStyles","spacingUtils","modalStyleUtils","selectedGroup","closeModalAndRefresh","groupName","setGroupName","groupEnabled","setGroupEnabled","saving","isSaving","selectedUsers","setSelectedUsers","loadingGroup","isLoadingGroup","validGroup","setValidGroup","trim","api","encodeURI","group","members","status","then","res","catch","err","floatingEnabled","e","target","noValidate","onSubmit","preventDefault","modalFormScrollable","formFieldRow","editMode","variant","spacerRight","overflow","flexDirection","tableBlock","tableStyles","searchBox","flex","actionsTitle","alignSelf","minWidth","marginRight","noFound","spacing","selectorsCommon","records","setRecords","loading","isLoading","filter","setFilter","fetchUsers","useCallback","users","get","sort","usersSort","selUsers","filteredRecords","elementItem","accessKey","includes","adornmentPosition","columns","elementKey","onSelect","targetD","elements","push","element","selectedItems","entityName","idField","customPaperHeight","multiSelectTable","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","getSwitchUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","SwitchRoot","styled","overridesResolver","styles","ownerState","edge","capitalize","_extends","boxSizing","flexShrink","zIndex","verticalAlign","colorAdjust","switchClasses","SwitchSwitchBase","SwitchBase","input","left","mode","grey","duration","shortest","alpha","action","active","hoverOpacity","main","lighten","darken","SwitchTrack","black","SwitchThumb","shadows","React","inProps","ref","useThemeProps","sx","other","_objectWithoutPropertiesLoose","slots","composedClasses","composeClasses","useUtilityClasses","icon","_jsx","_jsxs","checkedIcon"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/528.d01b02af.chunk.js b/portal-ui/build/static/js/528.9bb66bbe.chunk.js similarity index 99% rename from portal-ui/build/static/js/528.d01b02af.chunk.js rename to portal-ui/build/static/js/528.9bb66bbe.chunk.js index 884bedf17..57733e081 100644 --- a/portal-ui/build/static/js/528.d01b02af.chunk.js +++ b/portal-ui/build/static/js/528.9bb66bbe.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[528],{40528:function(e,n,t){t.r(n),t.d(n,{default:function(){return Y}});var s=t(23430),i=t(18489),o=t(50390),r=t(34424),a=t(86509),l=t(4285),c=t(56805),u=t(38342),d=t.n(u),f=t(25594),x=t(44149),p=t(72462),m=t(30324),h=t(77130),Z=t(49495),g=t(30140),v=t(37882),j=t(29308),b=t(62559),E=function(e){var n=e.icon,t=void 0===n?null:n,s=e.label,i=void 0===s?null:s;return(0,b.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,b.jsx)("div",{style:{height:16,width:16,display:"flex",alignItems:"center",marginTop:5},children:t}),(0,b.jsx)("div",{style:{marginLeft:t?5:"none"},children:i})]})},T=t(86362),k=t(83738),S=t(66946),y=t(41227),C=["isLoading","onClick","label"],_=function(e){var n=e.isLoading,t=e.onClick,s=e.label,o=(0,k.Z)(e,C);return(0,b.jsx)(S.Z,(0,i.Z)((0,i.Z)({color:"primary",onClick:t,variant:"text",sx:{padding:0,margin:0,alignItems:"flex-start",justifyContent:"flex-start",display:"inline-flex",height:"auto",textDecoration:"underline",color:"#2781B0","&:hover":{background:"#ffffff",textDecoration:"underline"}},disableRipple:!0,disableFocusRipple:!0},o),{},{children:n?(0,b.jsx)(y.Z,{style:{width:16,height:16}}):s}))},N=t(95467),I=t(59078),P=["disabled","onClick"],B=(0,l.Z)((function(e){return(0,a.Z)({root:{"&:hover":{backgroundColor:"#E2E2E2"}}})}))((function(e){var n=e.disabled,t=e.onClick,s=(0,k.Z)(e,P);return(0,b.jsx)(N.Z,(0,i.Z)((0,i.Z)({size:"small",disabled:n,onClick:t},s),{},{children:(0,b.jsx)(I.Z,{})}))})),O=function(e){var n=e.resourceName,t=e.iamScopes,s=e.secureCmpProps,o=void 0===s?{}:s,r=e.children;return(0,b.jsx)(g.s,(0,i.Z)((0,i.Z)({scopes:t,resource:n,errorProps:{disabled:!0}},o),{},{children:r}))},R=function(e){var n=e.isLoading,t=void 0===n||n,s=e.resourceName,i=void 0===s?"":s,o=e.iamScopes,r=e.secureCmpProps,a=void 0===r?{}:r,l=e.property,u=void 0===l?null:l,d=e.value,f=void 0===d?null:d,x=e.onEdit;return(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"baseline",justifyContent:"flex-start"},children:[(0,b.jsx)(j.Z,{label:u,value:(0,b.jsx)(O,{resourceName:i,iamScopes:o,secureCmpProps:a,children:(0,b.jsx)(_,{isLoading:t,onClick:x,label:f})})}),(0,b.jsx)(O,{resourceName:i,iamScopes:o,secureCmpProps:a,children:(0,b.jsx)(B,{onClick:x,sx:{background:"#f8f8f8",marginLeft:"3px",top:3,"& .min-icon":{width:"16px",height:"16px"}}})})]})},F=t(28948),U=function(e){var n=e.bucketSize;return(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,b.jsx)(T.Mh,{}),(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,b.jsx)("label",{style:{fontWeight:600},children:"Reported Usage:"}),(0,b.jsx)("label",{children:(0,F.ae)(n)})]})]})},G=function(e){var n=e.quota;return(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,b.jsx)(T.sj,{}),(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,b.jsxs)("label",{style:{fontWeight:600,textTransform:"capitalize"},children:[null===n||void 0===n?void 0:n.type," Quota"]}),(0,b.jsxs)("label",{children:[" ",(0,F.ae)("".concat(null===n||void 0===n?void 0:n.quota))]})]})]})},A=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(5444),t.e(8954),t.e(3816)]).then(t.bind(t,95239))}))),L=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(2066),t.e(5444),t.e(9769),t.e(2966)]).then(t.bind(t,82825))}))),w=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(2066),t.e(5444),t.e(4177)]).then(t.bind(t,44177))}))),M=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(875),t.e(9679)]).then(t.bind(t,39679))}))),D=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(3360),t.e(8333)]).then(t.bind(t,28333))}))),K=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(2066),t.e(5444),t.e(6554),t.e(1711)]).then(t.bind(t,31711))}))),z={display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},V=(0,r.$j)((function(e){return{session:e.console.session,distributedSetup:e.system.distributedSetup,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:x.Ih,setBucketDetailsLoad:h.d5}),Y=(0,l.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)({},p.bK),p.VI))}))(V((function(e){var n=e.classes,t=e.match,r=e.distributedSetup,a=e.setErrorSnackMessage,l=e.loadingBucket,u=e.bucketInfo,x=e.setBucketDetailsLoad,p=(0,o.useState)(null),h=(0,s.Z)(p,2),v=h[0],k=h[1],S=(0,o.useState)("0"),y=(0,s.Z)(S,2),C=y[0],_=y[1],N=(0,o.useState)(!1),I=(0,s.Z)(N,2),P=I[0],B=I[1],O=(0,o.useState)(!1),F=(0,s.Z)(O,2),V=F[0],Y=F[1],q=(0,o.useState)(!1),Q=(0,s.Z)(q,2),W=Q[0],$=Q[1],J=(0,o.useState)(!0),H=(0,s.Z)(J,2),X=H[0],ee=H[1],ne=(0,o.useState)(!0),te=(0,s.Z)(ne,2),se=te[0],ie=te[1],oe=(0,o.useState)(!0),re=(0,s.Z)(oe,2),ae=re[0],le=re[1],ce=(0,o.useState)(!0),ue=(0,s.Z)(ce,2),de=ue[0],fe=ue[1],xe=(0,o.useState)(!0),pe=(0,s.Z)(xe,2),me=pe[0],he=pe[1],Ze=(0,o.useState)(!0),ge=(0,s.Z)(Ze,2),ve=ge[0],je=ge[1],be=(0,o.useState)(!0),Ee=(0,s.Z)(be,2),Te=Ee[0],ke=Ee[1],Se=(0,o.useState)(!0),ye=(0,s.Z)(Se,2),Ce=ye[0],_e=ye[1],Ne=(0,o.useState)(!1),Ie=(0,s.Z)(Ne,2),Pe=Ie[0],Be=Ie[1],Oe=(0,o.useState)(!1),Re=(0,s.Z)(Oe,2),Fe=Re[0],Ue=Re[1],Ge=(0,o.useState)(null),Ae=(0,s.Z)(Ge,2),Le=Ae[0],we=Ae[1],Me=(0,o.useState)(!1),De=(0,s.Z)(Me,2),Ke=De[0],ze=De[1],Ve=(0,o.useState)(!1),Ye=(0,s.Z)(Ve,2),qe=Ye[0],Qe=Ye[1],We=(0,o.useState)(null),$e=(0,s.Z)(We,2),Je=$e[0],He=$e[1],Xe=(0,o.useState)(!1),en=(0,s.Z)(Xe,2),nn=en[0],tn=en[1],sn=(0,o.useState)(!1),on=(0,s.Z)(sn,2),rn=on[0],an=on[1],ln=(0,o.useState)(!1),cn=(0,s.Z)(ln,2),un=cn[0],dn=cn[1],fn=(0,o.useState)(!1),xn=(0,s.Z)(fn,2),pn=xn[0],mn=xn[1],hn=t.params.bucketName,Zn="n/a",gn="";null!==u&&(Zn=u.access,gn=u.definition);var vn=(0,g.F)(hn,[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION]),jn=(0,g.F)(hn,[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION]),bn=(0,g.F)(hn,[Z.Ft.ADMIN_GET_BUCKET_QUOTA]);(0,o.useEffect)((function(){le(!!l)}),[l,le]),(0,o.useEffect)((function(){de&&(jn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/encryption/info")).then((function(e){e.algorithm&&(ze(!0),k(e)),fe(!1)})).catch((function(e){"The server side encryption configuration was not found"===e.errorMessage&&(ze(!1),k(null)),fe(!1)})):(ze(!1),k(null),fe(!1)))}),[de,hn,jn]),(0,o.useEffect)((function(){me&&r&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/versioning")).then((function(e){Be(e.is_versioned),he(!1)})).catch((function(e){a(e),he(!1)}))}),[me,a,hn,r]),(0,o.useEffect)((function(){ve&&r&&(bn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/quota")).then((function(e){we(e),e.quota?Ue(!0):Ue(!1),je(!1)})).catch((function(e){a(e),Ue(!1),je(!1)})):(Ue(!1),je(!1)))}),[ve,he,a,hn,r,bn]),(0,o.useEffect)((function(){me&&r&&(vn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/object-locking")).then((function(e){B(e.object_locking_enabled),ee(!1)})).catch((function(e){a(e),ee(!1)})):ee(!1))}),[X,a,hn,me,r,vn]),(0,o.useEffect)((function(){se&&m.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=d()(e,"buckets",[]).find((function(e){return e.name===hn})),t=d()(n,"size","0");ie(!1),_(t)})).catch((function(e){ie(!1),a(e)}))}),[se,a,hn]),(0,o.useEffect)((function(){Te&&r&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/replication")).then((function(e){var n=e.rules?e.rules:[];$(n.length>0),ke(!1)})).catch((function(e){a(e),ke(!1)}))}),[Te,a,hn,r]),(0,o.useEffect)((function(){Ce&&P&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/retention")).then((function(e){_e(!1),Qe(!0),He(e)})).catch((function(e){Qe(!1),_e(!1),He(null)}))}),[Ce,P,hn]);var En=function(){x(!0),le(!0),ie(!0),he(!0),fe(!0),_e(!0)};return(0,b.jsxs)(o.Fragment,{children:[rn&&(0,b.jsx)(w,{open:rn,selectedBucket:hn,encryptionEnabled:Ke,encryptionCfg:v,closeModalAndRefresh:function(){an(!1),fe(!0)}}),un&&(0,b.jsx)(K,{open:un,selectedBucket:hn,enabled:Fe,cfg:Le,closeModalAndRefresh:function(){dn(!1),je(!0)}}),V&&(0,b.jsx)(A,{bucketName:hn,open:V,actualPolicy:Zn,actualDefinition:gn,closeModalAndRefresh:function(){Y(!1),En()}}),nn&&(0,b.jsx)(L,{bucketName:hn,open:nn,closeModalAndRefresh:function(){tn(!1),En()}}),pn&&(0,b.jsx)(M,{closeVersioningModalAndRefresh:function(e){mn(!1),e&&En()},modalOpen:pn,selectedBucket:hn,versioningCurrentState:Pe}),(0,b.jsx)(f.ZP,{container:!0,children:(0,b.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,b.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Summary"})})}),(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:hn,children:(0,b.jsxs)(c.Z,{sx:(0,i.Z)({},z),children:[(0,b.jsxs)(c.Z,{sx:(0,i.Z)({},z),children:[(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:hn,children:(0,b.jsx)(R,{iamScopes:[Z.Ft.S3_PUT_BUCKET_POLICY],resourceName:hn,property:"Access Policy:",value:Zn.toLowerCase(),onEdit:function(){Y(!0)},isLoading:ae})}),(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION],resource:hn,children:(0,b.jsx)(R,{iamScopes:[Z.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION],resourceName:hn,property:"Encryption:",value:Ke?"Enabled":"Disabled",onEdit:function(){an(!0)},isLoading:de})}),(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_REPLICATION_CONFIGURATION],resource:hn,children:(0,b.jsx)(j.Z,{label:"Replication:",value:(0,b.jsx)(E,{icon:W?(0,b.jsx)(T.E3,{}):(0,b.jsx)(T.dR,{}),label:(0,b.jsx)("label",{className:n.textMuted,children:W?"Enabled":"Disabled"})})})}),(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION],resource:hn,children:(0,b.jsx)(j.Z,{label:"Object Locking:",value:(0,b.jsx)(E,{icon:P?(0,b.jsx)(T.E3,{}):(0,b.jsx)(T.dR,{}),label:(0,b.jsx)("label",{className:n.textMuted,children:P?"Enabled":"Disabled"})})})}),(0,b.jsx)(c.Z,{className:n.spacerTop,children:(0,b.jsx)(j.Z,{label:"Tags:",value:(0,b.jsx)(D,{setErrorSnackMessage:a,bucketName:hn})})})]}),(0,b.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:(0,b.jsx)(U,{bucketSize:C})})]})}),r&&(0,b.jsxs)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_VERSIONING],resource:hn,children:[(0,b.jsx)(f.ZP,{container:!0,children:(0,b.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,b.jsx)("h3",{style:{marginTop:"25px",marginBottom:"0"},children:"Versioning"})})}),(0,b.jsxs)(c.Z,{sx:(0,i.Z)({},z),children:[(0,b.jsxs)(c.Z,{sx:(0,i.Z)({},z),children:[(0,b.jsx)(R,{iamScopes:[Z.Ft.S3_PUT_BUCKET_VERSIONING],resourceName:hn,property:"Versioning:",value:Pe?"Enabled":"Disabled",onEdit:function(){mn(!0)},isLoading:me}),(0,b.jsx)(R,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:hn,property:"Quota:",value:Fe?"Enabled":"Disabled",onEdit:function(){dn(!0)},isLoading:ve})]}),(0,b.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:Fe&&Le?(0,b.jsx)(G,{quota:Le}):null})]})]}),P&&(0,b.jsxs)(g.s,{scopes:[Z.Ft.S3_GET_OBJECT_RETENTION],resource:hn,children:[(0,b.jsx)(f.ZP,{container:!0,children:(0,b.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,b.jsx)("h3",{style:{marginTop:"25px",marginBottom:"0"},children:"Retention"})})}),(0,b.jsxs)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,b.jsxs)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,b.jsx)(R,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:hn,property:"Retention:",value:qe?"Enabled":"Disabled",onEdit:function(){tn(!0)},isLoading:Ce}),(0,b.jsx)(j.Z,{label:"Mode:",value:(0,b.jsx)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:Je&&Je.mode?Je.mode:"-"})}),(0,b.jsx)(j.Z,{label:"Validity:",value:(0,b.jsxs)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:[Je&&Je.validity," ",Je&&(1===Je.validity?Je.unit.slice(0,-1):Je.unit)]})})]}),(0,b.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"}})]})]})]})})))},29308:function(e,n,t){var s=t(18489),i=(t(50390),t(19787)),o=t(62559);n.Z=function(e){var n=e.label,t=void 0===n?null:n,r=e.value,a=void 0===r?"-":r,l=e.orientation,c=void 0===l?"column":l,u=e.stkProps,d=void 0===u?{}:u,f=e.lblProps,x=void 0===f?{}:f,p=e.valProps,m=void 0===p?{}:p;return(0,o.jsxs)(i.Z,(0,s.Z)((0,s.Z)({direction:{xs:"column",sm:c}},d),{},{children:[(0,o.jsx)("label",(0,s.Z)((0,s.Z)({style:{marginRight:5,fontWeight:600}},x),{},{children:t})),(0,o.jsx)("label",(0,s.Z)((0,s.Z)({style:{marginRight:5,fontWeight:500}},m),{},{children:a}))]}))}},19787:function(e,n,t){var s=t(36222),i=t(1048),o=t(32793),r=t(50390),a=t(11188),l=t(88646),c=t(99301),u=t(64487),d=t(8208),f=t(15573),x=t(62559),p=["component","direction","spacing","divider","children"];function m(e,n){var t=r.Children.toArray(e).filter(Boolean);return t.reduce((function(e,s,i){return e.push(s),i :not(style) + :not(style)":(0,s.Z)({margin:0},"margin".concat((i=t?d[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[i])),(0,l.NA)(r,e))};var i})))}return i})),Z=r.forwardRef((function(e,n){var t=(0,f.Z)({props:e,name:"MuiStack"}),s=(0,c.Z)(t),r=s.component,a=void 0===r?"div":r,l=s.direction,u=void 0===l?"column":l,d=s.spacing,Z=void 0===d?0:d,g=s.divider,v=s.children,j=(0,i.Z)(s,p),b={direction:u,spacing:Z};return(0,x.jsx)(h,(0,o.Z)({as:a,ownerState:b,ref:n},j,{children:g?m(v,g):v}))}));n.Z=Z}}]); -//# sourceMappingURL=528.d01b02af.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[528],{40528:function(e,n,t){t.r(n),t.d(n,{default:function(){return Y}});var s=t(23430),i=t(18489),o=t(50390),r=t(34424),a=t(86509),l=t(4285),c=t(56805),u=t(38342),d=t.n(u),f=t(25594),x=t(44149),p=t(72462),m=t(30324),h=t(77130),Z=t(49495),g=t(30140),v=t(37882),j=t(29308),b=t(62559),E=function(e){var n=e.icon,t=void 0===n?null:n,s=e.label,i=void 0===s?null:s;return(0,b.jsxs)(c.Z,{sx:{display:"flex"},children:[(0,b.jsx)("div",{style:{height:16,width:16,display:"flex",alignItems:"center",marginTop:5},children:t}),(0,b.jsx)("div",{style:{marginLeft:t?5:"none"},children:i})]})},T=t(14549),k=t(83738),S=t(66946),y=t(41227),C=["isLoading","onClick","label"],_=function(e){var n=e.isLoading,t=e.onClick,s=e.label,o=(0,k.Z)(e,C);return(0,b.jsx)(S.Z,(0,i.Z)((0,i.Z)({color:"primary",onClick:t,variant:"text",sx:{padding:0,margin:0,alignItems:"flex-start",justifyContent:"flex-start",display:"inline-flex",height:"auto",textDecoration:"underline",color:"#2781B0","&:hover":{background:"#ffffff",textDecoration:"underline"}},disableRipple:!0,disableFocusRipple:!0},o),{},{children:n?(0,b.jsx)(y.Z,{style:{width:16,height:16}}):s}))},N=t(95467),I=t(59078),P=["disabled","onClick"],B=(0,l.Z)((function(e){return(0,a.Z)({root:{"&:hover":{backgroundColor:"#E2E2E2"}}})}))((function(e){var n=e.disabled,t=e.onClick,s=(0,k.Z)(e,P);return(0,b.jsx)(N.Z,(0,i.Z)((0,i.Z)({size:"small",disabled:n,onClick:t},s),{},{children:(0,b.jsx)(I.Z,{})}))})),O=function(e){var n=e.resourceName,t=e.iamScopes,s=e.secureCmpProps,o=void 0===s?{}:s,r=e.children;return(0,b.jsx)(g.s,(0,i.Z)((0,i.Z)({scopes:t,resource:n,errorProps:{disabled:!0}},o),{},{children:r}))},R=function(e){var n=e.isLoading,t=void 0===n||n,s=e.resourceName,i=void 0===s?"":s,o=e.iamScopes,r=e.secureCmpProps,a=void 0===r?{}:r,l=e.property,u=void 0===l?null:l,d=e.value,f=void 0===d?null:d,x=e.onEdit;return(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"baseline",justifyContent:"flex-start"},children:[(0,b.jsx)(j.Z,{label:u,value:(0,b.jsx)(O,{resourceName:i,iamScopes:o,secureCmpProps:a,children:(0,b.jsx)(_,{isLoading:t,onClick:x,label:f})})}),(0,b.jsx)(O,{resourceName:i,iamScopes:o,secureCmpProps:a,children:(0,b.jsx)(B,{onClick:x,sx:{background:"#f8f8f8",marginLeft:"3px",top:3,"& .min-icon":{width:"16px",height:"16px"}}})})]})},F=t(28948),U=function(e){var n=e.bucketSize;return(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,b.jsx)(T.Mh,{}),(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,b.jsx)("label",{style:{fontWeight:600},children:"Reported Usage:"}),(0,b.jsx)("label",{children:(0,F.ae)(n)})]})]})},G=function(e){var n=e.quota;return(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"center","& .min-icon":{height:37,width:37}},children:[(0,b.jsx)(T.sj,{}),(0,b.jsxs)(c.Z,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"center",flexFlow:"column",marginLeft:"20px",fontSize:"19px"},children:[(0,b.jsxs)("label",{style:{fontWeight:600,textTransform:"capitalize"},children:[null===n||void 0===n?void 0:n.type," Quota"]}),(0,b.jsxs)("label",{children:[" ",(0,F.ae)("".concat(null===n||void 0===n?void 0:n.quota))]})]})]})},A=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(5444),t.e(8954),t.e(3816)]).then(t.bind(t,95239))}))),L=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(2066),t.e(5444),t.e(9769),t.e(2966)]).then(t.bind(t,82825))}))),w=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(2066),t.e(5444),t.e(4177)]).then(t.bind(t,44177))}))),M=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(5444),t.e(875),t.e(9679)]).then(t.bind(t,39679))}))),D=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(3360),t.e(8333)]).then(t.bind(t,28333))}))),K=(0,v.Z)(o.lazy((function(){return Promise.all([t.e(14),t.e(3152),t.e(2066),t.e(5444),t.e(6554),t.e(1711)]).then(t.bind(t,31711))}))),z={display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},V=(0,r.$j)((function(e){return{session:e.console.session,distributedSetup:e.system.distributedSetup,loadingBucket:e.buckets.bucketDetails.loadingBucket,bucketInfo:e.buckets.bucketDetails.bucketInfo}}),{setErrorSnackMessage:x.Ih,setBucketDetailsLoad:h.d5}),Y=(0,l.Z)((function(e){return(0,a.Z)((0,i.Z)((0,i.Z)({},p.bK),p.VI))}))(V((function(e){var n=e.classes,t=e.match,r=e.distributedSetup,a=e.setErrorSnackMessage,l=e.loadingBucket,u=e.bucketInfo,x=e.setBucketDetailsLoad,p=(0,o.useState)(null),h=(0,s.Z)(p,2),v=h[0],k=h[1],S=(0,o.useState)("0"),y=(0,s.Z)(S,2),C=y[0],_=y[1],N=(0,o.useState)(!1),I=(0,s.Z)(N,2),P=I[0],B=I[1],O=(0,o.useState)(!1),F=(0,s.Z)(O,2),V=F[0],Y=F[1],q=(0,o.useState)(!1),Q=(0,s.Z)(q,2),W=Q[0],$=Q[1],J=(0,o.useState)(!0),H=(0,s.Z)(J,2),X=H[0],ee=H[1],ne=(0,o.useState)(!0),te=(0,s.Z)(ne,2),se=te[0],ie=te[1],oe=(0,o.useState)(!0),re=(0,s.Z)(oe,2),ae=re[0],le=re[1],ce=(0,o.useState)(!0),ue=(0,s.Z)(ce,2),de=ue[0],fe=ue[1],xe=(0,o.useState)(!0),pe=(0,s.Z)(xe,2),me=pe[0],he=pe[1],Ze=(0,o.useState)(!0),ge=(0,s.Z)(Ze,2),ve=ge[0],je=ge[1],be=(0,o.useState)(!0),Ee=(0,s.Z)(be,2),Te=Ee[0],ke=Ee[1],Se=(0,o.useState)(!0),ye=(0,s.Z)(Se,2),Ce=ye[0],_e=ye[1],Ne=(0,o.useState)(!1),Ie=(0,s.Z)(Ne,2),Pe=Ie[0],Be=Ie[1],Oe=(0,o.useState)(!1),Re=(0,s.Z)(Oe,2),Fe=Re[0],Ue=Re[1],Ge=(0,o.useState)(null),Ae=(0,s.Z)(Ge,2),Le=Ae[0],we=Ae[1],Me=(0,o.useState)(!1),De=(0,s.Z)(Me,2),Ke=De[0],ze=De[1],Ve=(0,o.useState)(!1),Ye=(0,s.Z)(Ve,2),qe=Ye[0],Qe=Ye[1],We=(0,o.useState)(null),$e=(0,s.Z)(We,2),Je=$e[0],He=$e[1],Xe=(0,o.useState)(!1),en=(0,s.Z)(Xe,2),nn=en[0],tn=en[1],sn=(0,o.useState)(!1),on=(0,s.Z)(sn,2),rn=on[0],an=on[1],ln=(0,o.useState)(!1),cn=(0,s.Z)(ln,2),un=cn[0],dn=cn[1],fn=(0,o.useState)(!1),xn=(0,s.Z)(fn,2),pn=xn[0],mn=xn[1],hn=t.params.bucketName,Zn="n/a",gn="";null!==u&&(Zn=u.access,gn=u.definition);var vn=(0,g.F)(hn,[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION]),jn=(0,g.F)(hn,[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION]),bn=(0,g.F)(hn,[Z.Ft.ADMIN_GET_BUCKET_QUOTA]);(0,o.useEffect)((function(){le(!!l)}),[l,le]),(0,o.useEffect)((function(){de&&(jn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/encryption/info")).then((function(e){e.algorithm&&(ze(!0),k(e)),fe(!1)})).catch((function(e){"The server side encryption configuration was not found"===e.errorMessage&&(ze(!1),k(null)),fe(!1)})):(ze(!1),k(null),fe(!1)))}),[de,hn,jn]),(0,o.useEffect)((function(){me&&r&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/versioning")).then((function(e){Be(e.is_versioned),he(!1)})).catch((function(e){a(e),he(!1)}))}),[me,a,hn,r]),(0,o.useEffect)((function(){ve&&r&&(bn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/quota")).then((function(e){we(e),e.quota?Ue(!0):Ue(!1),je(!1)})).catch((function(e){a(e),Ue(!1),je(!1)})):(Ue(!1),je(!1)))}),[ve,he,a,hn,r,bn]),(0,o.useEffect)((function(){me&&r&&(vn?m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/object-locking")).then((function(e){B(e.object_locking_enabled),ee(!1)})).catch((function(e){a(e),ee(!1)})):ee(!1))}),[X,a,hn,me,r,vn]),(0,o.useEffect)((function(){se&&m.Z.invoke("GET","/api/v1/buckets").then((function(e){var n=d()(e,"buckets",[]).find((function(e){return e.name===hn})),t=d()(n,"size","0");ie(!1),_(t)})).catch((function(e){ie(!1),a(e)}))}),[se,a,hn]),(0,o.useEffect)((function(){Te&&r&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/replication")).then((function(e){var n=e.rules?e.rules:[];$(n.length>0),ke(!1)})).catch((function(e){a(e),ke(!1)}))}),[Te,a,hn,r]),(0,o.useEffect)((function(){Ce&&P&&m.Z.invoke("GET","/api/v1/buckets/".concat(hn,"/retention")).then((function(e){_e(!1),Qe(!0),He(e)})).catch((function(e){Qe(!1),_e(!1),He(null)}))}),[Ce,P,hn]);var En=function(){x(!0),le(!0),ie(!0),he(!0),fe(!0),_e(!0)};return(0,b.jsxs)(o.Fragment,{children:[rn&&(0,b.jsx)(w,{open:rn,selectedBucket:hn,encryptionEnabled:Ke,encryptionCfg:v,closeModalAndRefresh:function(){an(!1),fe(!0)}}),un&&(0,b.jsx)(K,{open:un,selectedBucket:hn,enabled:Fe,cfg:Le,closeModalAndRefresh:function(){dn(!1),je(!0)}}),V&&(0,b.jsx)(A,{bucketName:hn,open:V,actualPolicy:Zn,actualDefinition:gn,closeModalAndRefresh:function(){Y(!1),En()}}),nn&&(0,b.jsx)(L,{bucketName:hn,open:nn,closeModalAndRefresh:function(){tn(!1),En()}}),pn&&(0,b.jsx)(M,{closeVersioningModalAndRefresh:function(e){mn(!1),e&&En()},modalOpen:pn,selectedBucket:hn,versioningCurrentState:Pe}),(0,b.jsx)(f.ZP,{container:!0,children:(0,b.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,b.jsx)("h3",{style:{marginTop:"0",marginBottom:"0"},children:"Summary"})})}),(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:hn,children:(0,b.jsxs)(c.Z,{sx:(0,i.Z)({},z),children:[(0,b.jsxs)(c.Z,{sx:(0,i.Z)({},z),children:[(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_POLICY],resource:hn,children:(0,b.jsx)(R,{iamScopes:[Z.Ft.S3_PUT_BUCKET_POLICY],resourceName:hn,property:"Access Policy:",value:Zn.toLowerCase(),onEdit:function(){Y(!0)},isLoading:ae})}),(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION],resource:hn,children:(0,b.jsx)(R,{iamScopes:[Z.Ft.S3_PUT_BUCKET_ENCRYPTION_CONFIGURATION],resourceName:hn,property:"Encryption:",value:Ke?"Enabled":"Disabled",onEdit:function(){an(!0)},isLoading:de})}),(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_REPLICATION_CONFIGURATION],resource:hn,children:(0,b.jsx)(j.Z,{label:"Replication:",value:(0,b.jsx)(E,{icon:W?(0,b.jsx)(T.E3,{}):(0,b.jsx)(T.dR,{}),label:(0,b.jsx)("label",{className:n.textMuted,children:W?"Enabled":"Disabled"})})})}),(0,b.jsx)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION],resource:hn,children:(0,b.jsx)(j.Z,{label:"Object Locking:",value:(0,b.jsx)(E,{icon:P?(0,b.jsx)(T.E3,{}):(0,b.jsx)(T.dR,{}),label:(0,b.jsx)("label",{className:n.textMuted,children:P?"Enabled":"Disabled"})})})}),(0,b.jsx)(c.Z,{className:n.spacerTop,children:(0,b.jsx)(j.Z,{label:"Tags:",value:(0,b.jsx)(D,{setErrorSnackMessage:a,bucketName:hn})})})]}),(0,b.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:(0,b.jsx)(U,{bucketSize:C})})]})}),r&&(0,b.jsxs)(g.s,{scopes:[Z.Ft.S3_GET_BUCKET_VERSIONING],resource:hn,children:[(0,b.jsx)(f.ZP,{container:!0,children:(0,b.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,b.jsx)("h3",{style:{marginTop:"25px",marginBottom:"0"},children:"Versioning"})})}),(0,b.jsxs)(c.Z,{sx:(0,i.Z)({},z),children:[(0,b.jsxs)(c.Z,{sx:(0,i.Z)({},z),children:[(0,b.jsx)(R,{iamScopes:[Z.Ft.S3_PUT_BUCKET_VERSIONING],resourceName:hn,property:"Versioning:",value:Pe?"Enabled":"Disabled",onEdit:function(){mn(!0)},isLoading:me}),(0,b.jsx)(R,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:hn,property:"Quota:",value:Fe?"Enabled":"Disabled",onEdit:function(){dn(!0)},isLoading:ve})]}),(0,b.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"},children:Fe&&Le?(0,b.jsx)(G,{quota:Le}):null})]})]}),P&&(0,b.jsxs)(g.s,{scopes:[Z.Ft.S3_GET_OBJECT_RETENTION],resource:hn,children:[(0,b.jsx)(f.ZP,{container:!0,children:(0,b.jsx)(f.ZP,{item:!0,xs:12,className:n.spacerBottom,children:(0,b.jsx)("h3",{style:{marginTop:"25px",marginBottom:"0"},children:"Retention"})})}),(0,b.jsxs)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,b.jsxs)(c.Z,{sx:{display:"grid",gridTemplateColumns:{xs:"1fr",sm:"2fr 1fr"},gridAutoFlow:{xs:"dense",sm:"row"},gap:2},children:[(0,b.jsx)(R,{iamScopes:[Z.Ft.ADMIN_SET_BUCKET_QUOTA],resourceName:hn,property:"Retention:",value:qe?"Enabled":"Disabled",onEdit:function(){tn(!0)},isLoading:Ce}),(0,b.jsx)(j.Z,{label:"Mode:",value:(0,b.jsx)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:Je&&Je.mode?Je.mode:"-"})}),(0,b.jsx)(j.Z,{label:"Validity:",value:(0,b.jsxs)("label",{className:n.textMuted,style:{textTransform:"capitalize"},children:[Je&&Je.validity," ",Je&&(1===Je.validity?Je.unit.slice(0,-1):Je.unit)]})})]}),(0,b.jsx)(c.Z,{sx:{display:"grid",gridTemplateColumns:"1fr",alignItems:"flex-start"}})]})]})]})})))},29308:function(e,n,t){var s=t(18489),i=(t(50390),t(19787)),o=t(62559);n.Z=function(e){var n=e.label,t=void 0===n?null:n,r=e.value,a=void 0===r?"-":r,l=e.orientation,c=void 0===l?"column":l,u=e.stkProps,d=void 0===u?{}:u,f=e.lblProps,x=void 0===f?{}:f,p=e.valProps,m=void 0===p?{}:p;return(0,o.jsxs)(i.Z,(0,s.Z)((0,s.Z)({direction:{xs:"column",sm:c}},d),{},{children:[(0,o.jsx)("label",(0,s.Z)((0,s.Z)({style:{marginRight:5,fontWeight:600}},x),{},{children:t})),(0,o.jsx)("label",(0,s.Z)((0,s.Z)({style:{marginRight:5,fontWeight:500}},m),{},{children:a}))]}))}},19787:function(e,n,t){var s=t(36222),i=t(1048),o=t(32793),r=t(50390),a=t(11188),l=t(88646),c=t(99301),u=t(64487),d=t(8208),f=t(15573),x=t(62559),p=["component","direction","spacing","divider","children"];function m(e,n){var t=r.Children.toArray(e).filter(Boolean);return t.reduce((function(e,s,i){return e.push(s),i :not(style) + :not(style)":(0,s.Z)({margin:0},"margin".concat((i=t?d[t]:n.direction,{row:"Left","row-reverse":"Right",column:"Top","column-reverse":"Bottom"}[i])),(0,l.NA)(r,e))};var i})))}return i})),Z=r.forwardRef((function(e,n){var t=(0,f.Z)({props:e,name:"MuiStack"}),s=(0,c.Z)(t),r=s.component,a=void 0===r?"div":r,l=s.direction,u=void 0===l?"column":l,d=s.spacing,Z=void 0===d?0:d,g=s.divider,v=s.children,j=(0,i.Z)(s,p),b={direction:u,spacing:Z};return(0,x.jsx)(h,(0,o.Z)({as:a,ownerState:b,ref:n},j,{children:g?m(v,g):v}))}));n.Z=Z}}]); +//# sourceMappingURL=528.9bb66bbe.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/528.d01b02af.chunk.js.map b/portal-ui/build/static/js/528.9bb66bbe.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/528.d01b02af.chunk.js.map rename to portal-ui/build/static/js/528.9bb66bbe.chunk.js.map index c9b8c2984..ed637cf4c 100644 --- a/portal-ui/build/static/js/528.d01b02af.chunk.js.map +++ b/portal-ui/build/static/js/528.9bb66bbe.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/528.d01b02af.chunk.js","mappings":"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","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditablePropertyItem.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx","screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","../node_modules/@mui/material/Stack/Stack.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\n\ntype LabelWithIconProps = {\n icon: React.ReactNode | null;\n label: React.ReactNode | null;\n};\n\nconst LabelWithIcon = ({ icon = null, label = null }: LabelWithIconProps) => {\n return (\n \n \n {icon}\n \n
    {label}
    \n \n );\n};\n\nexport default LabelWithIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n {isLoading ? : label}\n \n );\n};\n\nexport default ActionLink;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { IconButton } from \"@mui/material\";\nimport EditIcon from \"../../../../../icons/EditIcon\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype EditActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"#E2E2E2\",\n },\n },\n });\n\nconst EditActionButton = ({\n disabled,\n onClick,\n ...restProps\n}: EditActionButtonProps) => {\n return (\n \n \n \n );\n};\n\nexport default withStyles(styles)(EditActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport LabelValuePair from \"../../../Common/UsageBarWrapper/LabelValuePair\";\nimport { SecureComponent } from \"../../../../../common/SecureComponent\";\nimport ActionLink from \"./ActionLink\";\nimport { Box } from \"@mui/material\";\nimport EditActionButton from \"./EditActionButton\";\n\ntype EditablePropertyItemProps = {\n isLoading: boolean;\n resourceName: string;\n iamScopes: string[];\n property: any;\n value: any;\n onEdit: () => void;\n secureCmpProps?: Record;\n};\n\nconst SecureAction = ({\n resourceName,\n iamScopes,\n secureCmpProps = {},\n children,\n}: {\n resourceName: string;\n iamScopes: string[];\n children: any;\n secureCmpProps?: Record;\n}) => {\n return (\n \n {children}\n \n );\n};\n\nconst EditablePropertyItem = ({\n isLoading = true,\n resourceName = \"\",\n iamScopes,\n secureCmpProps = {},\n property = null,\n value = null,\n onEdit,\n}: EditablePropertyItemProps) => {\n return (\n \n \n \n \n }\n />\n \n \n \n \n );\n};\n\nexport default EditablePropertyItem;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { ReportedUsageFullIcon } from \"../../../../../icons\";\n\nconst ReportedUsage = ({ bucketSize }: { bucketSize: string }) => {\n return (\n \n \n\n \n \n Reported Usage:\n \n \n \n \n );\n};\n\nexport default ReportedUsage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { HardBucketQuotaIcon } from \"../../../../../icons\";\n\nconst BucketQuotaSize = ({ quota }: { quota: any }) => {\n return (\n \n \n\n \n \n {quota?.type} Quota\n \n \n \n \n );\n};\n\nexport default BucketQuotaSize;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { AppState } from \"../../../../store\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n BucketEncryptionInfo,\n BucketInfo,\n BucketObjectLocking,\n BucketQuota,\n BucketReplication,\n BucketVersioning,\n} from \"../types\";\nimport { BucketList } from \"../../Watch/types\";\nimport {\n spacingUtils,\n textStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport { setBucketDetailsLoad } from \"../actions\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport LabelWithIcon from \"./SummaryItems/LabelWithIcon\";\nimport { EnabledIcon, DisabledIcon } from \"../../../../icons\";\nimport EditablePropertyItem from \"./SummaryItems/EditablePropertyItem\";\nimport ReportedUsage from \"./SummaryItems/ReportedUsage\";\nimport BucketQuotaSize from \"./SummaryItems/BucketQuotaSize\";\n\nconst SetAccessPolicy = withSuspense(\n React.lazy(() => import(\"./SetAccessPolicy\"))\n);\nconst SetRetentionConfig = withSuspense(\n React.lazy(() => import(\"./SetRetentionConfig\"))\n);\nconst EnableBucketEncryption = withSuspense(\n React.lazy(() => import(\"./EnableBucketEncryption\"))\n);\nconst EnableVersioningModal = withSuspense(\n React.lazy(() => import(\"./EnableVersioningModal\"))\n);\nconst BucketTags = withSuspense(\n React.lazy(() => import(\"./SummaryItems/BucketTags\"))\n);\n\nconst EnableQuota = withSuspense(React.lazy(() => import(\"./EnableQuota\")));\n\ninterface IBucketSummaryProps {\n classes: any;\n match: any;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n loadingBucket: boolean;\n bucketInfo: BucketInfo | null;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...textStyleUtils,\n });\n\nconst twoColCssGridLayoutConfig = {\n display: \"grid\",\n gridTemplateColumns: { xs: \"1fr\", sm: \"2fr 1fr\" },\n gridAutoFlow: { xs: \"dense\", sm: \"row\" },\n gap: 2,\n};\n\nconst BucketSummary = ({\n classes,\n match,\n distributedSetup,\n setErrorSnackMessage,\n loadingBucket,\n bucketInfo,\n setBucketDetailsLoad,\n}: IBucketSummaryProps) => {\n const [encryptionCfg, setEncryptionCfg] =\n useState(null);\n const [bucketSize, setBucketSize] = useState(\"0\");\n const [hasObjectLocking, setHasObjectLocking] = useState(false);\n const [accessPolicyScreenOpen, setAccessPolicyScreenOpen] =\n useState(false);\n const [replicationRules, setReplicationRules] = useState(false);\n const [loadingObjectLocking, setLoadingLocking] = useState(true);\n const [loadingSize, setLoadingSize] = useState(true);\n const [bucketLoading, setBucketLoading] = useState(true);\n const [loadingEncryption, setLoadingEncryption] = useState(true);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [loadingQuota, setLoadingQuota] = useState(true);\n const [loadingReplication, setLoadingReplication] = useState(true);\n const [loadingRetention, setLoadingRetention] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quota, setQuota] = useState(null);\n const [encryptionEnabled, setEncryptionEnabled] = useState(false);\n const [retentionEnabled, setRetentionEnabled] = useState(false);\n const [retentionConfig, setRetentionConfig] =\n useState(null);\n const [retentionConfigOpen, setRetentionConfigOpen] =\n useState(false);\n const [enableEncryptionScreenOpen, setEnableEncryptionScreenOpen] =\n useState(false);\n const [enableQuotaScreenOpen, setEnableQuotaScreenOpen] =\n useState(false);\n const [enableVersioningOpen, setEnableVersioningOpen] =\n useState(false);\n\n const bucketName = match.params[\"bucketName\"];\n\n let accessPolicy = \"n/a\";\n let policyDefinition = \"\";\n\n if (bucketInfo !== null) {\n accessPolicy = bucketInfo.access;\n policyDefinition = bucketInfo.definition;\n }\n\n const displayGetBucketObjectLockConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,\n ]);\n\n const displayGetBucketEncryptionConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\n ]);\n\n const displayGetBucketQuota = hasPermission(bucketName, [\n IAM_SCOPES.ADMIN_GET_BUCKET_QUOTA,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setBucketLoading(true);\n } else {\n setBucketLoading(false);\n }\n }, [loadingBucket, setBucketLoading]);\n\n useEffect(() => {\n if (loadingEncryption) {\n if (displayGetBucketEncryptionConfiguration) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/encryption/info`)\n .then((res: BucketEncryptionInfo) => {\n if (res.algorithm) {\n setEncryptionEnabled(true);\n setEncryptionCfg(res);\n }\n setLoadingEncryption(false);\n })\n .catch((err: ErrorResponseHandler) => {\n if (\n err.errorMessage ===\n \"The server side encryption configuration was not found\"\n ) {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n }\n setLoadingEncryption(false);\n });\n } else {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n setLoadingEncryption(false);\n }\n }\n }, [loadingEncryption, bucketName, displayGetBucketEncryptionConfiguration]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingVersioning(false);\n });\n }\n }, [loadingVersioning, setErrorSnackMessage, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingQuota && distributedSetup) {\n if (displayGetBucketQuota) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/quota`)\n .then((res: BucketQuota) => {\n setQuota(res);\n if (res.quota) {\n setQuotaEnabled(true);\n } else {\n setQuotaEnabled(false);\n }\n setLoadingQuota(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setQuotaEnabled(false);\n setLoadingQuota(false);\n });\n } else {\n setQuotaEnabled(false);\n setLoadingQuota(false);\n }\n }\n }, [\n loadingQuota,\n setLoadingVersioning,\n setErrorSnackMessage,\n bucketName,\n distributedSetup,\n displayGetBucketQuota,\n ]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n if (displayGetBucketObjectLockConfiguration) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/object-locking`)\n .then((res: BucketObjectLocking) => {\n setHasObjectLocking(res.object_locking_enabled);\n setLoadingLocking(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingLocking(false);\n });\n } else {\n setLoadingLocking(false);\n }\n }\n }, [\n loadingObjectLocking,\n setErrorSnackMessage,\n bucketName,\n loadingVersioning,\n distributedSetup,\n displayGetBucketObjectLockConfiguration,\n ]);\n\n useEffect(() => {\n if (loadingSize) {\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n const resBuckets = get(res, \"buckets\", []);\n\n const bucketInfo = resBuckets.find(\n (bucket) => bucket.name === bucketName\n );\n\n const size = get(bucketInfo, \"size\", \"0\");\n\n setLoadingSize(false);\n setBucketSize(size);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingSize(false);\n setErrorSnackMessage(err);\n });\n }\n }, [loadingSize, setErrorSnackMessage, bucketName]);\n\n useEffect(() => {\n if (loadingReplication && distributedSetup) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/replication`)\n .then((res: BucketReplication) => {\n const r = res.rules ? res.rules : [];\n setReplicationRules(r.length > 0);\n setLoadingReplication(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingReplication(false);\n });\n }\n }, [loadingReplication, setErrorSnackMessage, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingRetention && hasObjectLocking) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingRetention(false);\n setRetentionEnabled(true);\n setRetentionConfig(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setRetentionEnabled(false);\n setLoadingRetention(false);\n setRetentionConfig(null);\n });\n }\n }, [loadingRetention, hasObjectLocking, bucketName]);\n\n const loadAllBucketData = () => {\n setBucketDetailsLoad(true);\n setBucketLoading(true);\n setLoadingSize(true);\n setLoadingVersioning(true);\n setLoadingEncryption(true);\n setLoadingRetention(true);\n };\n\n const setBucketVersioning = () => {\n setEnableVersioningOpen(true);\n };\n const setBucketQuota = () => {\n setEnableQuotaScreenOpen(true);\n };\n\n const closeEnableBucketEncryption = () => {\n setEnableEncryptionScreenOpen(false);\n setLoadingEncryption(true);\n };\n const closeEnableBucketQuota = () => {\n setEnableQuotaScreenOpen(false);\n setLoadingQuota(true);\n };\n\n const closeSetAccessPolicy = () => {\n setAccessPolicyScreenOpen(false);\n loadAllBucketData();\n };\n\n const closeRetentionConfig = () => {\n setRetentionConfigOpen(false);\n loadAllBucketData();\n };\n\n const closeEnableVersioning = (refresh: boolean) => {\n setEnableVersioningOpen(false);\n if (refresh) {\n loadAllBucketData();\n }\n };\n // @ts-ignore\n return (\n \n {enableEncryptionScreenOpen && (\n \n )}\n {enableQuotaScreenOpen && (\n \n )}\n {accessPolicyScreenOpen && (\n \n )}\n {retentionConfigOpen && (\n \n )}\n {enableVersioningOpen && (\n \n )}\n\n \n \n \n Summary\n \n \n \n \n \n \n \n {\n setAccessPolicyScreenOpen(true);\n }}\n isLoading={bucketLoading}\n />\n \n\n \n {\n setEnableEncryptionScreenOpen(true);\n }}\n isLoading={loadingEncryption}\n />\n \n\n \n : }\n label={\n \n }\n />\n }\n />\n \n\n \n : }\n label={\n \n }\n />\n }\n />\n \n \n \n }\n />\n \n \n\n \n \n \n \n \n\n {distributedSetup && (\n \n \n \n \n Versioning\n \n \n \n\n \n \n \n\n \n \n \n {quotaEnabled && quota ? : null}\n \n \n \n )}\n\n {hasObjectLocking && (\n \n \n \n \n Retention\n \n \n \n\n \n \n {\n setRetentionConfigOpen(true);\n }}\n isLoading={loadingRetention}\n />\n\n \n {retentionConfig && retentionConfig.mode\n ? retentionConfig.mode\n : \"-\"}\n \n }\n />\n \n {retentionConfig && retentionConfig.validity}{\" \"}\n {retentionConfig &&\n (retentionConfig.validity === 1\n ? retentionConfig.unit.slice(0, -1)\n : retentionConfig.unit)}\n \n }\n />\n \n\n \n {/*Spacer*/}\n \n \n \n )}\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n distributedSetup: state.system.distributedSetup,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setBucketDetailsLoad,\n});\n\nexport default withStyles(styles)(connector(BucketSummary));\n","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\ntype LabelValuePairProps = {\n label?: any;\n value?: any;\n orientation?: any;\n stkProps?: any;\n lblProps?: any;\n valProps?: any;\n};\n\nconst LabelValuePair = ({\n label = null,\n value = \"-\",\n orientation = \"column\",\n stkProps = {},\n lblProps = {},\n valProps = {},\n}: LabelValuePairProps) => {\n return (\n \n \n \n \n );\n};\n\nexport default LabelValuePair;\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { createUnarySpacing, getValue, handleBreakpoints, unstable_extendSxProp as extendSxProp, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { deepmerge } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n\n return output;\n }, []);\n}\n\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\n\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (ownerState.spacing[breakpoint] != null || ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n\n const styleFromPropValue = (propValue, breakpoint) => {\n return {\n '& > :not(style) + :not(style)': {\n margin: 0,\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n\n return styles;\n};\nconst StackRoot = styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root];\n }\n})(style);\nconst Stack = /*#__PURE__*/React.forwardRef(function Stack(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiStack'\n });\n const props = extendSxProp(themeProps);\n\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = {\n direction,\n spacing\n };\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Stack;"],"names":["icon","label","Box","sx","display","style","height","width","alignItems","marginTop","marginLeft","isLoading","onClick","restProps","Button","color","variant","padding","margin","justifyContent","textDecoration","background","disableRipple","disableFocusRipple","Loader","withStyles","theme","createStyles","root","backgroundColor","disabled","IconButton","size","EditIcon","SecureAction","resourceName","iamScopes","secureCmpProps","children","SecureComponent","scopes","resource","errorProps","property","value","onEdit","LabelValuePair","top","bucketSize","flexFlow","fontSize","fontWeight","niceBytes","quota","textTransform","type","SetAccessPolicy","withSuspense","React","SetRetentionConfig","EnableBucketEncryption","EnableVersioningModal","BucketTags","EnableQuota","twoColCssGridLayoutConfig","gridTemplateColumns","xs","sm","gridAutoFlow","gap","connector","connect","state","session","console","distributedSetup","system","loadingBucket","buckets","bucketDetails","bucketInfo","setErrorSnackMessage","setBucketDetailsLoad","spacingUtils","textStyleUtils","classes","match","useState","encryptionCfg","setEncryptionCfg","setBucketSize","hasObjectLocking","setHasObjectLocking","accessPolicyScreenOpen","setAccessPolicyScreenOpen","replicationRules","setReplicationRules","loadingObjectLocking","setLoadingLocking","loadingSize","setLoadingSize","bucketLoading","setBucketLoading","loadingEncryption","setLoadingEncryption","loadingVersioning","setLoadingVersioning","loadingQuota","setLoadingQuota","loadingReplication","setLoadingReplication","loadingRetention","setLoadingRetention","isVersioned","setIsVersioned","quotaEnabled","setQuotaEnabled","setQuota","encryptionEnabled","setEncryptionEnabled","retentionEnabled","setRetentionEnabled","retentionConfig","setRetentionConfig","retentionConfigOpen","setRetentionConfigOpen","enableEncryptionScreenOpen","setEnableEncryptionScreenOpen","enableQuotaScreenOpen","setEnableQuotaScreenOpen","enableVersioningOpen","setEnableVersioningOpen","bucketName","params","accessPolicy","policyDefinition","access","definition","displayGetBucketObjectLockConfiguration","hasPermission","IAM_SCOPES","displayGetBucketEncryptionConfiguration","displayGetBucketQuota","useEffect","api","then","res","algorithm","catch","err","errorMessage","is_versioned","object_locking_enabled","get","find","bucket","name","r","rules","length","loadAllBucketData","Fragment","open","selectedBucket","closeModalAndRefresh","enabled","cfg","actualPolicy","actualDefinition","closeVersioningModalAndRefresh","refresh","modalOpen","versioningCurrentState","Grid","container","item","className","spacerBottom","marginBottom","toLowerCase","textMuted","spacerTop","mode","validity","unit","slice","orientation","stkProps","lblProps","valProps","direction","marginRight","_excluded","joinChildren","separator","childrenArray","filter","Boolean","reduce","output","child","index","push","key","StackRoot","styled","slot","overridesResolver","props","styles","ownerState","_extends","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","flexDirection","spacing","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","deepmerge","row","column","getValue","Stack","inProps","ref","themeProps","useThemeProps","extendSxProp","component","divider","other","_objectWithoutPropertiesLoose","_jsx","as"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/528.9bb66bbe.chunk.js","mappings":"2WA+CA,EAvBsB,SAAC,GAAuD,IAAD,IAApDA,KAAAA,OAAoD,MAA7C,KAA6C,MAAvCC,MAAAA,OAAuC,MAA/B,KAA+B,EAC3E,OACE,UAACC,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,QAFb,WAKE,gBACEC,MAAO,CACLC,OAAQ,GACRC,MAAO,GACPH,QAAS,OACTI,WAAY,SACZC,UAAW,GANf,SASGT,KAEH,gBAAKK,MAAO,CAAEK,WAAYV,EAAO,EAAI,QAArC,SAAgDC,Q,8ECoBtD,EAnCmB,SAAC,GAKI,IAJtBU,EAIqB,EAJrBA,UACAC,EAGqB,EAHrBA,QACAX,EAEqB,EAFrBA,MACGY,GACkB,YACrB,OACE,SAACC,EAAA,GAAD,gBACEC,MAAM,UACNH,QAASA,EACTI,QAAQ,OACRb,GAAI,CACFc,QAAS,EACTC,OAAQ,EACRV,WAAY,aACZW,eAAgB,aAChBf,QAAS,cACTE,OAAQ,OACRc,eAAgB,YAChBL,MAAO,UAEP,UAAW,CACTM,WAAY,UACZD,eAAgB,cAGpBE,eAAa,EACbC,oBAAkB,GACdV,GArBN,aAuBGF,GAAY,SAACa,EAAA,EAAD,CAAQnB,MAAO,CAAEE,MAAO,GAAID,OAAQ,MAAWL,M,+CCFlE,GAAewB,EAAAA,EAAAA,IA1BA,SAACC,GAAD,OACbC,EAAAA,EAAAA,GAAa,CACXC,KAAM,CACJ,UAAW,CACTC,gBAAiB,gBAsBzB,EAjByB,SAAC,GAII,IAH5BC,EAG2B,EAH3BA,SACAlB,EAE2B,EAF3BA,QACGC,GACwB,YAC3B,OACE,SAACkB,EAAA,GAAD,gBACEC,KAAM,QACNF,SAAUA,EACVlB,QAASA,GACLC,GAJN,cAME,SAACoB,EAAA,EAAD,UCjBAC,EAAe,SAAC,GAUf,IATLC,EASI,EATJA,aACAC,EAQI,EARJA,UAQI,IAPJC,eAAAA,OAOI,MAPa,GAOb,EANJC,EAMI,EANJA,SAOA,OACE,SAACC,EAAA,GAAD,gBACEC,OAAQJ,EACRK,SAAUN,EACVO,WAAY,CAAEZ,UAAU,IACpBO,GAJN,aAMGC,MAwDP,EAnD6B,SAAC,GAQI,IAAD,IAP/B3B,UAAAA,OAO+B,aAN/BwB,aAAAA,OAM+B,MANhB,GAMgB,EAL/BC,EAK+B,EAL/BA,UAK+B,IAJ/BC,eAAAA,OAI+B,MAJd,GAIc,MAH/BM,SAAAA,OAG+B,MAHpB,KAGoB,MAF/BC,MAAAA,OAE+B,MAFvB,KAEuB,EAD/BC,EAC+B,EAD/BA,OAEA,OACE,UAAC3C,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACTI,WAAY,WACZW,eAAgB,cAJpB,WAOE,SAAC2B,EAAA,EAAD,CACE7C,MAAO0C,EACPC,OACE,SAACV,EAAD,CACEC,aAAcA,EACdC,UAAWA,EACXC,eAAgBA,EAHlB,UAKE,SAAC,EAAD,CAAY1B,UAAWA,EAAWC,QAASiC,EAAQ5C,MAAO2C,SAIhE,SAACV,EAAD,CACEC,aAAcA,EACdC,UAAWA,EACXC,eAAgBA,EAHlB,UAKE,SAAC,EAAD,CACEzB,QAASiC,EACT1C,GAAI,CACFkB,WAAY,UACZX,WAAY,MACZqC,IAAK,EACL,cAAe,CACbxC,MAAO,OACPD,OAAQ,iB,WCvCtB,EAtCsB,SAAC,GAA4C,IAA1C0C,EAAyC,EAAzCA,WACvB,OACE,UAAC9C,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACTI,WAAY,SAEZ,cAAe,CACbF,OAAQ,GACRC,MAAO,KAPb,WAWE,SAAC,KAAD,KAEA,UAACL,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACTI,WAAY,aACZW,eAAgB,SAChB8B,SAAU,SACVvC,WAAY,OACZwC,SAAU,QAPd,WAUE,kBACE7C,MAAO,CACL8C,WAAY,KAFhB,8BAOA,4BAAQC,EAAAA,EAAAA,IAAUJ,YCO1B,EAvCwB,SAAC,GAA+B,IAA7BK,EAA4B,EAA5BA,MACzB,OACE,UAACnD,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACTI,WAAY,SAEZ,cAAe,CACbF,OAAQ,GACRC,MAAO,KAPb,WAWE,SAAC,KAAD,KAEA,UAACL,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACTI,WAAY,aACZW,eAAgB,SAChB8B,SAAU,SACVvC,WAAY,OACZwC,SAAU,QAPd,WAUE,mBACE7C,MAAO,CACL8C,WAAY,IACZG,cAAe,cAHnB,iBAMGD,QANH,IAMGA,OANH,EAMGA,EAAOE,KANV,aAQA,kCAASH,EAAAA,EAAAA,IAAU,GAAD,cAAIC,QAAJ,IAAIA,OAAJ,EAAIA,EAAOA,kBCK/BG,GAAkBC,EAAAA,EAAAA,GACtBC,EAAAA,MAAW,kBAAM,yFAEbC,GAAqBF,EAAAA,EAAAA,GACzBC,EAAAA,MAAW,kBAAM,mGAEbE,GAAyBH,EAAAA,EAAAA,GAC7BC,EAAAA,MAAW,kBAAM,yFAEbG,GAAwBJ,EAAAA,EAAAA,GAC5BC,EAAAA,MAAW,kBAAM,sEAEbI,GAAaL,EAAAA,EAAAA,GACjBC,EAAAA,MAAW,kBAAM,6DAGbK,GAAcN,EAAAA,EAAAA,GAAaC,EAAAA,MAAW,kBAAM,mGAkB5CM,EAA4B,CAChC5D,QAAS,OACT6D,oBAAqB,CAAEC,GAAI,MAAOC,GAAI,WACtCC,aAAc,CAAEF,GAAI,QAASC,GAAI,OACjCE,IAAK,GA6kBDC,GAAYC,EAAAA,EAAAA,KAPD,SAACC,GAAD,MAAsB,CACrCC,QAASD,EAAME,QAAQD,QACvBE,iBAAkBH,EAAMI,OAAOD,iBAC/BE,cAAeL,EAAMM,QAAQC,cAAcF,cAC3CG,WAAYR,EAAMM,QAAQC,cAAcC,cAGN,CAClCC,qBAAAA,EAAAA,GACAC,qBAAAA,EAAAA,KAGF,GAAezD,EAAAA,EAAAA,IA5lBA,SAACC,GAAD,OACbC,EAAAA,EAAAA,IAAa,kBACRwD,EAAAA,IACAC,EAAAA,OAylBP,CAAkCd,GA/kBZ,SAAC,GAQK,IAP1Be,EAOyB,EAPzBA,QACAC,EAMyB,EANzBA,MACAX,EAKyB,EALzBA,iBACAM,EAIyB,EAJzBA,qBACAJ,EAGyB,EAHzBA,cACAG,EAEyB,EAFzBA,WACAE,EACyB,EADzBA,qBAEA,GACEK,EAAAA,EAAAA,UAAsC,MADxC,eAAOC,EAAP,KAAsBC,EAAtB,KAEA,GAAoCF,EAAAA,EAAAA,UAAiB,KAArD,eAAOvC,EAAP,KAAmB0C,EAAnB,KACA,GAAgDH,EAAAA,EAAAA,WAAkB,GAAlE,eAAOI,EAAP,KAAyBC,EAAzB,KACA,GACEL,EAAAA,EAAAA,WAAkB,GADpB,eAAOM,EAAP,KAA+BC,EAA/B,KAEA,GAAgDP,EAAAA,EAAAA,WAAkB,GAAlE,eAAOQ,EAAP,KAAyBC,EAAzB,KACA,GAAkDT,EAAAA,EAAAA,WAAkB,GAApE,eAAOU,EAAP,KAA6BC,GAA7B,KACA,IAAsCX,EAAAA,EAAAA,WAAkB,GAAxD,iBAAOY,GAAP,MAAoBC,GAApB,MACA,IAA0Cb,EAAAA,EAAAA,WAAkB,GAA5D,iBAAOc,GAAP,MAAsBC,GAAtB,MACA,IAAkDf,EAAAA,EAAAA,WAAkB,GAApE,iBAAOgB,GAAP,MAA0BC,GAA1B,MACA,IAAkDjB,EAAAA,EAAAA,WAAkB,GAApE,iBAAOkB,GAAP,MAA0BC,GAA1B,MACA,IAAwCnB,EAAAA,EAAAA,WAAkB,GAA1D,iBAAOoB,GAAP,MAAqBC,GAArB,MACA,IAAoDrB,EAAAA,EAAAA,WAAkB,GAAtE,iBAAOsB,GAAP,MAA2BC,GAA3B,MACA,IAAgDvB,EAAAA,EAAAA,WAAkB,GAAlE,iBAAOwB,GAAP,MAAyBC,GAAzB,MACA,IAAsCzB,EAAAA,EAAAA,WAAkB,GAAxD,iBAAO0B,GAAP,MAAoBC,GAApB,MACA,IAAwC3B,EAAAA,EAAAA,WAAkB,GAA1D,iBAAO4B,GAAP,MAAqBC,GAArB,MACA,IAA0B7B,EAAAA,EAAAA,UAA6B,MAAvD,iBAAOlC,GAAP,MAAcgE,GAAd,MACA,IAAkD9B,EAAAA,EAAAA,WAAkB,GAApE,iBAAO+B,GAAP,MAA0BC,GAA1B,MACA,IAAgDhC,EAAAA,EAAAA,WAAkB,GAAlE,iBAAOiC,GAAP,MAAyBC,GAAzB,MACA,IACElC,EAAAA,EAAAA,UAAkC,MADpC,iBAAOmC,GAAP,MAAwBC,GAAxB,MAEA,IACEpC,EAAAA,EAAAA,WAAkB,GADpB,iBAAOqC,GAAP,MAA4BC,GAA5B,MAEA,IACEtC,EAAAA,EAAAA,WAAkB,GADpB,iBAAOuC,GAAP,MAAmCC,GAAnC,MAEA,IACExC,EAAAA,EAAAA,WAAkB,GADpB,iBAAOyC,GAAP,MAA8BC,GAA9B,MAEA,IACE1C,EAAAA,EAAAA,WAAkB,GADpB,iBAAO2C,GAAP,MAA6BC,GAA7B,MAGMC,GAAa9C,EAAM+C,OAAN,WAEfC,GAAe,MACfC,GAAmB,GAEJ,OAAfvD,IACFsD,GAAetD,EAAWwD,OAC1BD,GAAmBvD,EAAWyD,YAGhC,IAAMC,IAA0CC,EAAAA,EAAAA,GAAcP,GAAY,CACxEQ,EAAAA,GAAAA,0CAGIC,IAA0CF,EAAAA,EAAAA,GAAcP,GAAY,CACxEQ,EAAAA,GAAAA,yCAGIE,IAAwBH,EAAAA,EAAAA,GAAcP,GAAY,CACtDQ,EAAAA,GAAAA,0BAGFG,EAAAA,EAAAA,YAAU,WAENzC,KADEzB,KAKH,CAACA,EAAeyB,MAEnByC,EAAAA,EAAAA,YAAU,WACJxC,KACEsC,GACFG,EAAAA,EAAAA,OACU,MADV,0BACoCZ,GADpC,qBAEGa,MAAK,SAACC,GACDA,EAAIC,YACN5B,IAAqB,GACrB9B,EAAiByD,IAEnB1C,IAAqB,MAEtB4C,OAAM,SAACC,GAGJ,2DADAA,EAAIC,eAGJ/B,IAAqB,GACrB9B,EAAiB,OAEnBe,IAAqB,OAGzBe,IAAqB,GACrB9B,EAAiB,MACjBe,IAAqB,OAGxB,CAACD,GAAmB6B,GAAYS,MAEnCE,EAAAA,EAAAA,YAAU,WACJtC,IAAqB9B,GACvBqE,EAAAA,EAAAA,OACU,MADV,0BACoCZ,GADpC,gBAEGa,MAAK,SAACC,GACLhC,GAAegC,EAAIK,cACnB7C,IAAqB,MAEtB0C,OAAM,SAACC,GACNpE,EAAqBoE,GACrB3C,IAAqB,QAG1B,CAACD,GAAmBxB,EAAsBmD,GAAYzD,KAEzDoE,EAAAA,EAAAA,YAAU,WACJpC,IAAgBhC,IACdmE,GACFE,EAAAA,EAAAA,OACU,MADV,0BACoCZ,GADpC,WAEGa,MAAK,SAACC,GACL7B,GAAS6B,GACLA,EAAI7F,MACN+D,IAAgB,GAEhBA,IAAgB,GAElBR,IAAgB,MAEjBwC,OAAM,SAACC,GACNpE,EAAqBoE,GACrBjC,IAAgB,GAChBR,IAAgB,OAGpBQ,IAAgB,GAChBR,IAAgB,OAGnB,CACDD,GACAD,GACAzB,EACAmD,GACAzD,EACAmE,MAGFC,EAAAA,EAAAA,YAAU,WACJtC,IAAqB9B,IACnB+D,GACFM,EAAAA,EAAAA,OACU,MADV,0BACoCZ,GADpC,oBAEGa,MAAK,SAACC,GACLtD,EAAoBsD,EAAIM,wBACxBtD,IAAkB,MAEnBkD,OAAM,SAACC,GACNpE,EAAqBoE,GACrBnD,IAAkB,MAGtBA,IAAkB,MAGrB,CACDD,EACAhB,EACAmD,GACA3B,GACA9B,EACA+D,MAGFK,EAAAA,EAAAA,YAAU,WACJ5C,IACF6C,EAAAA,EAAAA,OACU,MADV,mBAEGC,MAAK,SAACC,GACL,IAEMlE,EAFayE,GAAAA,CAAIP,EAAK,UAAW,IAETQ,MAC5B,SAACC,GAAD,OAAYA,EAAOC,OAASxB,MAGxBpG,EAAOyH,GAAAA,CAAIzE,EAAY,OAAQ,KAErCoB,IAAe,GACfV,EAAc1D,MAEfoH,OAAM,SAACC,GACNjD,IAAe,GACfnB,EAAqBoE,QAG1B,CAAClD,GAAalB,EAAsBmD,MAEvCW,EAAAA,EAAAA,YAAU,WACJlC,IAAsBlC,GACxBqE,EAAAA,EAAAA,OACU,MADV,0BACoCZ,GADpC,iBAEGa,MAAK,SAACC,GACL,IAAMW,EAAIX,EAAIY,MAAQZ,EAAIY,MAAQ,GAClC9D,EAAoB6D,EAAEE,OAAS,GAC/BjD,IAAsB,MAEvBsC,OAAM,SAACC,GACNpE,EAAqBoE,GACrBvC,IAAsB,QAG3B,CAACD,GAAoB5B,EAAsBmD,GAAYzD,KAE1DoE,EAAAA,EAAAA,YAAU,WACJhC,IAAoBpB,GACtBqD,EAAAA,EAAAA,OACU,MADV,0BACoCZ,GADpC,eAEGa,MAAK,SAACC,GACLlC,IAAoB,GACpBS,IAAoB,GACpBE,GAAmBuB,MAEpBE,OAAM,SAACC,GACN5B,IAAoB,GACpBT,IAAoB,GACpBW,GAAmB,WAGxB,CAACZ,GAAkBpB,EAAkByC,KAExC,IAAM4B,GAAoB,WACxB9E,GAAqB,GACrBoB,IAAiB,GACjBF,IAAe,GACfM,IAAqB,GACrBF,IAAqB,GACrBQ,IAAoB,IAoCtB,OACE,UAAC,EAAAiD,SAAD,WACGnC,KACC,SAAClE,EAAD,CACEsG,KAAMpC,GACNqC,eAAgB/B,GAChBd,kBAAmBA,GACnB9B,cAAeA,EACf4E,qBAlC4B,WAClCrC,IAA8B,GAC9BvB,IAAqB,MAmClBwB,KACC,SAACjE,EAAD,CACEmG,KAAMlC,GACNmC,eAAgB/B,GAChBiC,QAASlD,GACTmD,IAAKjH,GACL+G,qBAvCuB,WAC7BnC,IAAyB,GACzBrB,IAAgB,MAwCbf,IACC,SAACrC,EAAD,CACE4E,WAAYA,GACZ8B,KAAMrE,EACN0E,aAAcjC,GACdkC,iBAAkBjC,GAClB6B,qBA3CqB,WAC3BtE,GAA0B,GAC1BkE,QA4CGpC,KACC,SAACjE,EAAD,CACEyE,WAAYA,GACZ8B,KAAMtC,GACNwC,qBA7CqB,WAC3BvC,IAAuB,GACvBmC,QA8CG9B,KACC,SAACrE,EAAD,CACE4G,+BA7CsB,SAACC,GAC7BvC,IAAwB,GACpBuC,GACFV,MA2CIW,UAAWzC,GACXiC,eAAgB/B,GAChBwC,uBAAwB3D,MAI5B,SAAC4D,EAAA,GAAD,CAAMC,WAAS,EAAf,UACE,SAACD,EAAA,GAAD,CAAME,MAAI,EAAC7G,GAAI,GAAI8G,UAAW3F,EAAQ4F,aAAtC,UACE,eACE5K,MAAO,CACLI,UAAW,IACXyK,aAAc,KAHlB,0BAUJ,SAAC3I,EAAA,EAAD,CACEC,OAAQ,CAACoG,EAAAA,GAAAA,sBACTnG,SAAU2F,GAFZ,UAIE,UAAClI,EAAA,EAAD,CAAKC,IAAE,UAAO6D,GAAd,WACE,UAAC9D,EAAA,EAAD,CAAKC,IAAE,UAAO6D,GAAd,WACE,SAACzB,EAAA,EAAD,CACEC,OAAQ,CAACoG,EAAAA,GAAAA,sBACTnG,SAAU2F,GAFZ,UAIE,SAAC,EAAD,CACEhG,UAAW,CAACwG,EAAAA,GAAAA,sBACZzG,aAAciG,GACdzF,SAAU,iBACVC,MAAO0F,GAAa6C,cACpBtI,OAAQ,WACNiD,GAA0B,IAE5BnF,UAAW0F,QAIf,SAAC9D,EAAA,EAAD,CACEC,OAAQ,CAACoG,EAAAA,GAAAA,wCACTnG,SAAU2F,GAFZ,UAIE,SAAC,EAAD,CACEhG,UAAW,CAACwG,EAAAA,GAAAA,wCACZzG,aAAciG,GACdzF,SAAU,cACVC,MAAO0E,GAAoB,UAAY,WACvCzE,OAAQ,WACNkF,IAA8B,IAEhCpH,UAAW4F,QAIf,SAAChE,EAAA,EAAD,CACEC,OAAQ,CAACoG,EAAAA,GAAAA,kCACTnG,SAAU2F,GAFZ,UAIE,SAACtF,EAAA,EAAD,CACE7C,MAAO,eACP2C,OACE,SAAC,EAAD,CACE5C,KAAM+F,GAAmB,SAAC,KAAD,KAAkB,SAAC,KAAD,IAC3C9F,OACE,kBAAO+K,UAAW3F,EAAQ+F,UAA1B,SACGrF,EAAmB,UAAY,oBAQ5C,SAACxD,EAAA,EAAD,CACEC,OAAQ,CAACoG,EAAAA,GAAAA,yCACTnG,SAAU2F,GAFZ,UAIE,SAACtF,EAAA,EAAD,CACE7C,MAAO,kBACP2C,OACE,SAAC,EAAD,CACE5C,KAAM2F,GAAmB,SAAC,KAAD,KAAkB,SAAC,KAAD,IAC3C1F,OACE,kBAAO+K,UAAW3F,EAAQ+F,UAA1B,SACGzF,EAAmB,UAAY,oBAO5C,SAACzF,EAAA,EAAD,CAAK8K,UAAW3F,EAAQgG,UAAxB,UACE,SAACvI,EAAA,EAAD,CACE7C,MAAO,QACP2C,OACE,SAACkB,EAAD,CACEmB,qBAAsBA,EACtBmD,WAAYA,aAOtB,SAAClI,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACT6D,oBAAqB,MACrBzD,WAAY,cAJhB,UAOE,SAAC,EAAD,CAAewC,WAAYA,WAKhC2B,IACC,UAACpC,EAAA,EAAD,CACEC,OAAQ,CAACoG,EAAAA,GAAAA,0BACTnG,SAAU2F,GAFZ,WAIE,SAACyC,EAAA,GAAD,CAAMC,WAAS,EAAf,UACE,SAACD,EAAA,GAAD,CAAME,MAAI,EAAC7G,GAAI,GAAI8G,UAAW3F,EAAQ4F,aAAtC,UACE,eACE5K,MAAO,CACLI,UAAW,OACXyK,aAAc,KAHlB,6BAWJ,UAAChL,EAAA,EAAD,CACEC,IAAE,UACG6D,GAFP,WAKE,UAAC9D,EAAA,EAAD,CACEC,IAAE,UACG6D,GAFP,WAKE,SAAC,EAAD,CACE5B,UAAW,CAACwG,EAAAA,GAAAA,0BACZzG,aAAciG,GACdzF,SAAU,cACVC,MAAOqE,GAAc,UAAY,WACjCpE,OA/Nc,WAC1BsF,IAAwB,IA+NZxH,UAAW8F,MAGb,SAAC,EAAD,CACErE,UAAW,CAACwG,EAAAA,GAAAA,wBACZzG,aAAciG,GACdzF,SAAU,SACVC,MAAOuE,GAAe,UAAY,WAClCtE,OArOS,WACrBoF,IAAyB,IAqObtH,UAAWgG,SAGf,SAACzG,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACT6D,oBAAqB,MACrBzD,WAAY,cAJhB,SAOG2G,IAAgB9D,IAAQ,SAAC,EAAD,CAAiBA,MAAOA,KAAY,aAMpEsC,IACC,UAACpD,EAAA,EAAD,CACEC,OAAQ,CAACoG,EAAAA,GAAAA,yBACTnG,SAAU2F,GAFZ,WAIE,SAACyC,EAAA,GAAD,CAAMC,WAAS,EAAf,UACE,SAACD,EAAA,GAAD,CAAME,MAAI,EAAC7G,GAAI,GAAI8G,UAAW3F,EAAQ4F,aAAtC,UACE,eACE5K,MAAO,CACLI,UAAW,OACXyK,aAAc,KAHlB,4BAWJ,UAAChL,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACT6D,oBAAqB,CAAEC,GAAI,MAAOC,GAAI,WACtCC,aAAc,CAAEF,GAAI,QAASC,GAAI,OACjCE,IAAK,GALT,WAQE,UAACnE,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACT6D,oBAAqB,CAAEC,GAAI,MAAOC,GAAI,WACtCC,aAAc,CAAEF,GAAI,QAASC,GAAI,OACjCE,IAAK,GALT,WAQE,SAAC,EAAD,CACEjC,UAAW,CAACwG,EAAAA,GAAAA,wBACZzG,aAAciG,GACdzF,SAAU,aACVC,MAAO4E,GAAmB,UAAY,WACtC3E,OAAQ,WACNgF,IAAuB,IAEzBlH,UAAWoG,MAGb,SAACjE,EAAA,EAAD,CACE7C,MAAO,QACP2C,OACE,kBACEoI,UAAW3F,EAAQ+F,UACnB/K,MAAO,CAAEiD,cAAe,cAF1B,SAIGoE,IAAmBA,GAAgB4D,KAChC5D,GAAgB4D,KAChB,SAIV,SAACxI,EAAA,EAAD,CACE7C,MAAO,YACP2C,OACE,mBACEoI,UAAW3F,EAAQ+F,UACnB/K,MAAO,CAAEiD,cAAe,cAF1B,UAIGoE,IAAmBA,GAAgB6D,SAAU,IAC7C7D,KAC+B,IAA7BA,GAAgB6D,SACb7D,GAAgB8D,KAAKC,MAAM,GAAI,GAC/B/D,GAAgB8D,eAM9B,SAACtL,EAAA,EAAD,CACEC,GAAI,CACFC,QAAS,OACT6D,oBAAqB,MACrBzD,WAAY,8B,sEC3nB5B,IApBuB,SAAC,GAOI,IAAD,IANzBP,MAAAA,OAMyB,MANjB,KAMiB,MALzB2C,MAAAA,OAKyB,MALjB,IAKiB,MAJzB8I,YAAAA,OAIyB,MAJX,SAIW,MAHzBC,SAAAA,OAGyB,MAHd,GAGc,MAFzBC,SAAAA,OAEyB,MAFd,GAEc,MADzBC,SAAAA,OACyB,MADd,GACc,EACzB,OACE,UAAC,KAAD,gBAAOC,UAAW,CAAE5H,GAAI,SAAUC,GAAIuH,IAAmBC,GAAzD,eACE,kCAAOtL,MAAO,CAAE0L,YAAa,EAAG5I,WAAY,MAAWyI,GAAvD,aACG3L,MAEH,kCAAOI,MAAO,CAAE0L,YAAa,EAAG5I,WAAY,MAAW0I,GAAvD,aACGjJ,W,iJCxBHoJ,EAAY,CAAC,YAAa,YAAa,UAAW,UAAW,YAiBnE,SAASC,EAAa3J,EAAU4J,GAC9B,IAAMC,EAAgBzI,EAAAA,SAAAA,QAAuBpB,GAAU8J,OAAOC,SAC9D,OAAOF,EAAcG,QAAO,SAACC,EAAQC,EAAOC,GAS1C,OARAF,EAAOG,KAAKF,GAERC,EAAQN,EAAcpC,OAAS,GACjCwC,EAAOG,KAAmBhJ,EAAAA,aAAmBwI,EAAW,CACtDS,IAAK,aAAF,OAAeF,MAIfF,IACN,IAGL,IA0DMK,GAAYC,EAAAA,EAAAA,IAAO,MAAO,CAC9BjD,KAAM,WACNkD,KAAM,OACNC,kBAAmB,SAACC,EAAOC,GACzB,MAAO,CAACA,EAAOrL,QAJDiL,EAjDG,SAAC,GAGhB,IAFJK,EAEI,EAFJA,WACAxL,EACI,EADJA,MAEIuL,GAASE,EAAAA,EAAAA,GAAS,CACpB/M,QAAS,SACRgN,EAAAA,EAAAA,IAAkB,CACnB1L,MAAAA,IACC2L,EAAAA,EAAAA,IAAwB,CACzBC,OAAQJ,EAAWpB,UACnByB,YAAa7L,EAAM6L,YAAYD,UAC7B,SAAAE,GAAS,MAAK,CAChBC,cAAeD,OAGjB,GAAIN,EAAWQ,QAAS,CACtB,IAAMC,GAAcC,EAAAA,EAAAA,IAAmBlM,GACjCmM,EAAOC,OAAOC,KAAKrM,EAAM6L,YAAYD,QAAQhB,QAAO,SAAC0B,EAAKC,GAK9D,OAJsC,MAAlCf,EAAWQ,QAAQO,IAA2D,MAApCf,EAAWpB,UAAUmC,KACjED,EAAIC,IAAc,GAGbD,IACN,IACGE,GAAkBb,EAAAA,EAAAA,IAAwB,CAC9CC,OAAQJ,EAAWpB,UACnB+B,KAAAA,IAEIM,GAAgBd,EAAAA,EAAAA,IAAwB,CAC5CC,OAAQJ,EAAWQ,QACnBG,KAAAA,IAYFZ,GAASmB,EAAAA,EAAAA,GAAUnB,GAAQG,EAAAA,EAAAA,IAAkB,CAC3C1L,MAAAA,GACCyM,GAXwB,SAACX,EAAWS,GACrC,MAAO,CACL,yCACE/M,OAAQ,GADV,iBA5CqB4K,EA8CYmC,EAAaC,EAAgBD,GAAcf,EAAWpB,UA7CtF,CACLuC,IAAK,OACL,cAAe,QACfC,OAAQ,MACR,iBAAkB,UAClBxC,MAwC0GyC,EAAAA,EAAAA,IAASZ,EAAaH,KA9CvG,IAAA1B,MAwD3B,OAAOmB,KASHuB,EAAqB9K,EAAAA,YAAiB,SAAe+K,EAASC,GAClE,IAAMC,GAAaC,EAAAA,EAAAA,GAAc,CAC/B5B,MAAOyB,EACP7E,KAAM,aAEFoD,GAAQ6B,EAAAA,EAAAA,GAAaF,GAE3B,EAMI3B,EALF8B,UAAAA,OADF,MACc,MADd,IAMI9B,EAJFlB,UAAAA,OAFF,MAEc,SAFd,IAMIkB,EAHFU,QAAAA,OAHF,MAGY,EAHZ,EAIEqB,EAEE/B,EAFF+B,QACAzM,EACE0K,EADF1K,SAEI0M,GAAQC,EAAAA,EAAAA,GAA8BjC,EAAOhB,GAE7CkB,EAAa,CACjBpB,UAAAA,EACA4B,QAAAA,GAEF,OAAoBwB,EAAAA,EAAAA,KAAKtC,GAAWO,EAAAA,EAAAA,GAAS,CAC3CgC,GAAIL,EACJ5B,WAAYA,EACZwB,IAAKA,GACJM,EAAO,CACR1M,SAAUyM,EAAU9C,EAAa3J,EAAUyM,GAAWzM,QA6C1D","sources":["screens/Console/Buckets/BucketDetails/SummaryItems/LabelWithIcon.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/EditablePropertyItem.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx","screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx","screens/Console/Common/UsageBarWrapper/LabelValuePair.tsx","../node_modules/@mui/material/Stack/Stack.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\n\ntype LabelWithIconProps = {\n icon: React.ReactNode | null;\n label: React.ReactNode | null;\n};\n\nconst LabelWithIcon = ({ icon = null, label = null }: LabelWithIconProps) => {\n return (\n \n \n {icon}\n \n
    {label}
    \n \n );\n};\n\nexport default LabelWithIcon;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Button } from \"@mui/material\";\nimport Loader from \"../../../Common/Loader/Loader\";\n\ntype ActionLinkProps = {\n isLoading: boolean;\n onClick: () => void;\n classes?: any;\n label: any;\n [x: string]: any;\n};\nconst ActionLink = ({\n isLoading,\n onClick,\n label,\n ...restProps\n}: ActionLinkProps) => {\n return (\n \n {isLoading ? : label}\n \n );\n};\n\nexport default ActionLink;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { IconButton } from \"@mui/material\";\nimport EditIcon from \"../../../../../icons/EditIcon\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\n\ntype EditActionButtonProps = {\n disabled?: boolean;\n onClick: () => void | any;\n [x: string]: any;\n};\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n \"&:hover\": {\n backgroundColor: \"#E2E2E2\",\n },\n },\n });\n\nconst EditActionButton = ({\n disabled,\n onClick,\n ...restProps\n}: EditActionButtonProps) => {\n return (\n \n \n \n );\n};\n\nexport default withStyles(styles)(EditActionButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport LabelValuePair from \"../../../Common/UsageBarWrapper/LabelValuePair\";\nimport { SecureComponent } from \"../../../../../common/SecureComponent\";\nimport ActionLink from \"./ActionLink\";\nimport { Box } from \"@mui/material\";\nimport EditActionButton from \"./EditActionButton\";\n\ntype EditablePropertyItemProps = {\n isLoading: boolean;\n resourceName: string;\n iamScopes: string[];\n property: any;\n value: any;\n onEdit: () => void;\n secureCmpProps?: Record;\n};\n\nconst SecureAction = ({\n resourceName,\n iamScopes,\n secureCmpProps = {},\n children,\n}: {\n resourceName: string;\n iamScopes: string[];\n children: any;\n secureCmpProps?: Record;\n}) => {\n return (\n \n {children}\n \n );\n};\n\nconst EditablePropertyItem = ({\n isLoading = true,\n resourceName = \"\",\n iamScopes,\n secureCmpProps = {},\n property = null,\n value = null,\n onEdit,\n}: EditablePropertyItemProps) => {\n return (\n \n \n \n \n }\n />\n \n \n \n \n );\n};\n\nexport default EditablePropertyItem;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { ReportedUsageFullIcon } from \"../../../../../icons\";\n\nconst ReportedUsage = ({ bucketSize }: { bucketSize: string }) => {\n return (\n \n \n\n \n \n Reported Usage:\n \n \n \n \n );\n};\n\nexport default ReportedUsage;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box } from \"@mui/material\";\nimport { niceBytes } from \"../../../../../common/utils\";\nimport { HardBucketQuotaIcon } from \"../../../../../icons\";\n\nconst BucketQuotaSize = ({ quota }: { quota: any }) => {\n return (\n \n \n\n \n \n {quota?.type} Quota\n \n \n \n \n );\n};\n\nexport default BucketQuotaSize;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Box } from \"@mui/material\";\nimport get from \"lodash/get\";\nimport Grid from \"@mui/material/Grid\";\nimport { AppState } from \"../../../../store\";\nimport { setErrorSnackMessage } from \"../../../../actions\";\nimport {\n BucketEncryptionInfo,\n BucketInfo,\n BucketObjectLocking,\n BucketQuota,\n BucketReplication,\n BucketVersioning,\n} from \"../types\";\nimport { BucketList } from \"../../Watch/types\";\nimport {\n spacingUtils,\n textStyleUtils,\n} from \"../../Common/FormComponents/common/styleLibrary\";\nimport {\n ErrorResponseHandler,\n IRetentionConfig,\n} from \"../../../../common/types\";\nimport api from \"../../../../common/api\";\nimport { setBucketDetailsLoad } from \"../actions\";\nimport { IAM_SCOPES } from \"../../../../common/SecureComponent/permissions\";\nimport {\n SecureComponent,\n hasPermission,\n} from \"../../../../common/SecureComponent\";\n\nimport withSuspense from \"../../Common/Components/withSuspense\";\nimport LabelValuePair from \"../../Common/UsageBarWrapper/LabelValuePair\";\nimport LabelWithIcon from \"./SummaryItems/LabelWithIcon\";\nimport { EnabledIcon, DisabledIcon } from \"../../../../icons\";\nimport EditablePropertyItem from \"./SummaryItems/EditablePropertyItem\";\nimport ReportedUsage from \"./SummaryItems/ReportedUsage\";\nimport BucketQuotaSize from \"./SummaryItems/BucketQuotaSize\";\n\nconst SetAccessPolicy = withSuspense(\n React.lazy(() => import(\"./SetAccessPolicy\"))\n);\nconst SetRetentionConfig = withSuspense(\n React.lazy(() => import(\"./SetRetentionConfig\"))\n);\nconst EnableBucketEncryption = withSuspense(\n React.lazy(() => import(\"./EnableBucketEncryption\"))\n);\nconst EnableVersioningModal = withSuspense(\n React.lazy(() => import(\"./EnableVersioningModal\"))\n);\nconst BucketTags = withSuspense(\n React.lazy(() => import(\"./SummaryItems/BucketTags\"))\n);\n\nconst EnableQuota = withSuspense(React.lazy(() => import(\"./EnableQuota\")));\n\ninterface IBucketSummaryProps {\n classes: any;\n match: any;\n distributedSetup: boolean;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n loadingBucket: boolean;\n bucketInfo: BucketInfo | null;\n setBucketDetailsLoad: typeof setBucketDetailsLoad;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...spacingUtils,\n ...textStyleUtils,\n });\n\nconst twoColCssGridLayoutConfig = {\n display: \"grid\",\n gridTemplateColumns: { xs: \"1fr\", sm: \"2fr 1fr\" },\n gridAutoFlow: { xs: \"dense\", sm: \"row\" },\n gap: 2,\n};\n\nconst BucketSummary = ({\n classes,\n match,\n distributedSetup,\n setErrorSnackMessage,\n loadingBucket,\n bucketInfo,\n setBucketDetailsLoad,\n}: IBucketSummaryProps) => {\n const [encryptionCfg, setEncryptionCfg] =\n useState(null);\n const [bucketSize, setBucketSize] = useState(\"0\");\n const [hasObjectLocking, setHasObjectLocking] = useState(false);\n const [accessPolicyScreenOpen, setAccessPolicyScreenOpen] =\n useState(false);\n const [replicationRules, setReplicationRules] = useState(false);\n const [loadingObjectLocking, setLoadingLocking] = useState(true);\n const [loadingSize, setLoadingSize] = useState(true);\n const [bucketLoading, setBucketLoading] = useState(true);\n const [loadingEncryption, setLoadingEncryption] = useState(true);\n const [loadingVersioning, setLoadingVersioning] = useState(true);\n const [loadingQuota, setLoadingQuota] = useState(true);\n const [loadingReplication, setLoadingReplication] = useState(true);\n const [loadingRetention, setLoadingRetention] = useState(true);\n const [isVersioned, setIsVersioned] = useState(false);\n const [quotaEnabled, setQuotaEnabled] = useState(false);\n const [quota, setQuota] = useState(null);\n const [encryptionEnabled, setEncryptionEnabled] = useState(false);\n const [retentionEnabled, setRetentionEnabled] = useState(false);\n const [retentionConfig, setRetentionConfig] =\n useState(null);\n const [retentionConfigOpen, setRetentionConfigOpen] =\n useState(false);\n const [enableEncryptionScreenOpen, setEnableEncryptionScreenOpen] =\n useState(false);\n const [enableQuotaScreenOpen, setEnableQuotaScreenOpen] =\n useState(false);\n const [enableVersioningOpen, setEnableVersioningOpen] =\n useState(false);\n\n const bucketName = match.params[\"bucketName\"];\n\n let accessPolicy = \"n/a\";\n let policyDefinition = \"\";\n\n if (bucketInfo !== null) {\n accessPolicy = bucketInfo.access;\n policyDefinition = bucketInfo.definition;\n }\n\n const displayGetBucketObjectLockConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_OBJECT_LOCK_CONFIGURATION,\n ]);\n\n const displayGetBucketEncryptionConfiguration = hasPermission(bucketName, [\n IAM_SCOPES.S3_GET_BUCKET_ENCRYPTION_CONFIGURATION,\n ]);\n\n const displayGetBucketQuota = hasPermission(bucketName, [\n IAM_SCOPES.ADMIN_GET_BUCKET_QUOTA,\n ]);\n\n useEffect(() => {\n if (loadingBucket) {\n setBucketLoading(true);\n } else {\n setBucketLoading(false);\n }\n }, [loadingBucket, setBucketLoading]);\n\n useEffect(() => {\n if (loadingEncryption) {\n if (displayGetBucketEncryptionConfiguration) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/encryption/info`)\n .then((res: BucketEncryptionInfo) => {\n if (res.algorithm) {\n setEncryptionEnabled(true);\n setEncryptionCfg(res);\n }\n setLoadingEncryption(false);\n })\n .catch((err: ErrorResponseHandler) => {\n if (\n err.errorMessage ===\n \"The server side encryption configuration was not found\"\n ) {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n }\n setLoadingEncryption(false);\n });\n } else {\n setEncryptionEnabled(false);\n setEncryptionCfg(null);\n setLoadingEncryption(false);\n }\n }\n }, [loadingEncryption, bucketName, displayGetBucketEncryptionConfiguration]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/versioning`)\n .then((res: BucketVersioning) => {\n setIsVersioned(res.is_versioned);\n setLoadingVersioning(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingVersioning(false);\n });\n }\n }, [loadingVersioning, setErrorSnackMessage, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingQuota && distributedSetup) {\n if (displayGetBucketQuota) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/quota`)\n .then((res: BucketQuota) => {\n setQuota(res);\n if (res.quota) {\n setQuotaEnabled(true);\n } else {\n setQuotaEnabled(false);\n }\n setLoadingQuota(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setQuotaEnabled(false);\n setLoadingQuota(false);\n });\n } else {\n setQuotaEnabled(false);\n setLoadingQuota(false);\n }\n }\n }, [\n loadingQuota,\n setLoadingVersioning,\n setErrorSnackMessage,\n bucketName,\n distributedSetup,\n displayGetBucketQuota,\n ]);\n\n useEffect(() => {\n if (loadingVersioning && distributedSetup) {\n if (displayGetBucketObjectLockConfiguration) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/object-locking`)\n .then((res: BucketObjectLocking) => {\n setHasObjectLocking(res.object_locking_enabled);\n setLoadingLocking(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingLocking(false);\n });\n } else {\n setLoadingLocking(false);\n }\n }\n }, [\n loadingObjectLocking,\n setErrorSnackMessage,\n bucketName,\n loadingVersioning,\n distributedSetup,\n displayGetBucketObjectLockConfiguration,\n ]);\n\n useEffect(() => {\n if (loadingSize) {\n api\n .invoke(\"GET\", `/api/v1/buckets`)\n .then((res: BucketList) => {\n const resBuckets = get(res, \"buckets\", []);\n\n const bucketInfo = resBuckets.find(\n (bucket) => bucket.name === bucketName\n );\n\n const size = get(bucketInfo, \"size\", \"0\");\n\n setLoadingSize(false);\n setBucketSize(size);\n })\n .catch((err: ErrorResponseHandler) => {\n setLoadingSize(false);\n setErrorSnackMessage(err);\n });\n }\n }, [loadingSize, setErrorSnackMessage, bucketName]);\n\n useEffect(() => {\n if (loadingReplication && distributedSetup) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/replication`)\n .then((res: BucketReplication) => {\n const r = res.rules ? res.rules : [];\n setReplicationRules(r.length > 0);\n setLoadingReplication(false);\n })\n .catch((err: ErrorResponseHandler) => {\n setErrorSnackMessage(err);\n setLoadingReplication(false);\n });\n }\n }, [loadingReplication, setErrorSnackMessage, bucketName, distributedSetup]);\n\n useEffect(() => {\n if (loadingRetention && hasObjectLocking) {\n api\n .invoke(\"GET\", `/api/v1/buckets/${bucketName}/retention`)\n .then((res: IRetentionConfig) => {\n setLoadingRetention(false);\n setRetentionEnabled(true);\n setRetentionConfig(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setRetentionEnabled(false);\n setLoadingRetention(false);\n setRetentionConfig(null);\n });\n }\n }, [loadingRetention, hasObjectLocking, bucketName]);\n\n const loadAllBucketData = () => {\n setBucketDetailsLoad(true);\n setBucketLoading(true);\n setLoadingSize(true);\n setLoadingVersioning(true);\n setLoadingEncryption(true);\n setLoadingRetention(true);\n };\n\n const setBucketVersioning = () => {\n setEnableVersioningOpen(true);\n };\n const setBucketQuota = () => {\n setEnableQuotaScreenOpen(true);\n };\n\n const closeEnableBucketEncryption = () => {\n setEnableEncryptionScreenOpen(false);\n setLoadingEncryption(true);\n };\n const closeEnableBucketQuota = () => {\n setEnableQuotaScreenOpen(false);\n setLoadingQuota(true);\n };\n\n const closeSetAccessPolicy = () => {\n setAccessPolicyScreenOpen(false);\n loadAllBucketData();\n };\n\n const closeRetentionConfig = () => {\n setRetentionConfigOpen(false);\n loadAllBucketData();\n };\n\n const closeEnableVersioning = (refresh: boolean) => {\n setEnableVersioningOpen(false);\n if (refresh) {\n loadAllBucketData();\n }\n };\n // @ts-ignore\n return (\n \n {enableEncryptionScreenOpen && (\n \n )}\n {enableQuotaScreenOpen && (\n \n )}\n {accessPolicyScreenOpen && (\n \n )}\n {retentionConfigOpen && (\n \n )}\n {enableVersioningOpen && (\n \n )}\n\n \n \n \n Summary\n \n \n \n \n \n \n \n {\n setAccessPolicyScreenOpen(true);\n }}\n isLoading={bucketLoading}\n />\n \n\n \n {\n setEnableEncryptionScreenOpen(true);\n }}\n isLoading={loadingEncryption}\n />\n \n\n \n : }\n label={\n \n }\n />\n }\n />\n \n\n \n : }\n label={\n \n }\n />\n }\n />\n \n \n \n }\n />\n \n \n\n \n \n \n \n \n\n {distributedSetup && (\n \n \n \n \n Versioning\n \n \n \n\n \n \n \n\n \n \n \n {quotaEnabled && quota ? : null}\n \n \n \n )}\n\n {hasObjectLocking && (\n \n \n \n \n Retention\n \n \n \n\n \n \n {\n setRetentionConfigOpen(true);\n }}\n isLoading={loadingRetention}\n />\n\n \n {retentionConfig && retentionConfig.mode\n ? retentionConfig.mode\n : \"-\"}\n \n }\n />\n \n {retentionConfig && retentionConfig.validity}{\" \"}\n {retentionConfig &&\n (retentionConfig.validity === 1\n ? retentionConfig.unit.slice(0, -1)\n : retentionConfig.unit)}\n \n }\n />\n \n\n \n {/*Spacer*/}\n \n \n \n )}\n \n );\n};\n\nconst mapState = (state: AppState) => ({\n session: state.console.session,\n distributedSetup: state.system.distributedSetup,\n loadingBucket: state.buckets.bucketDetails.loadingBucket,\n bucketInfo: state.buckets.bucketDetails.bucketInfo,\n});\n\nconst connector = connect(mapState, {\n setErrorSnackMessage,\n setBucketDetailsLoad,\n});\n\nexport default withStyles(styles)(connector(BucketSummary));\n","import React from \"react\";\nimport { Stack } from \"@mui/material\";\n\ntype LabelValuePairProps = {\n label?: any;\n value?: any;\n orientation?: any;\n stkProps?: any;\n lblProps?: any;\n valProps?: any;\n};\n\nconst LabelValuePair = ({\n label = null,\n value = \"-\",\n orientation = \"column\",\n stkProps = {},\n lblProps = {},\n valProps = {},\n}: LabelValuePairProps) => {\n return (\n \n \n \n \n );\n};\n\nexport default LabelValuePair;\n","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"component\", \"direction\", \"spacing\", \"divider\", \"children\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { createUnarySpacing, getValue, handleBreakpoints, unstable_extendSxProp as extendSxProp, unstable_resolveBreakpointValues as resolveBreakpointValues } from '@mui/system';\nimport { deepmerge } from '@mui/utils';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\n/**\n * Return an array with the separator React element interspersed between\n * each React node of the input children.\n *\n * > joinChildren([1,2,3], 0)\n * [1,0,2,0,3]\n */\n\nimport { jsx as _jsx } from \"react/jsx-runtime\";\n\nfunction joinChildren(children, separator) {\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n return childrenArray.reduce((output, child, index) => {\n output.push(child);\n\n if (index < childrenArray.length - 1) {\n output.push( /*#__PURE__*/React.cloneElement(separator, {\n key: `separator-${index}`\n }));\n }\n\n return output;\n }, []);\n}\n\nconst getSideFromDirection = direction => {\n return {\n row: 'Left',\n 'row-reverse': 'Right',\n column: 'Top',\n 'column-reverse': 'Bottom'\n }[direction];\n};\n\nexport const style = ({\n ownerState,\n theme\n}) => {\n let styles = _extends({\n display: 'flex'\n }, handleBreakpoints({\n theme\n }, resolveBreakpointValues({\n values: ownerState.direction,\n breakpoints: theme.breakpoints.values\n }), propValue => ({\n flexDirection: propValue\n })));\n\n if (ownerState.spacing) {\n const transformer = createUnarySpacing(theme);\n const base = Object.keys(theme.breakpoints.values).reduce((acc, breakpoint) => {\n if (ownerState.spacing[breakpoint] != null || ownerState.direction[breakpoint] != null) {\n acc[breakpoint] = true;\n }\n\n return acc;\n }, {});\n const directionValues = resolveBreakpointValues({\n values: ownerState.direction,\n base\n });\n const spacingValues = resolveBreakpointValues({\n values: ownerState.spacing,\n base\n });\n\n const styleFromPropValue = (propValue, breakpoint) => {\n return {\n '& > :not(style) + :not(style)': {\n margin: 0,\n [`margin${getSideFromDirection(breakpoint ? directionValues[breakpoint] : ownerState.direction)}`]: getValue(transformer, propValue)\n }\n };\n };\n\n styles = deepmerge(styles, handleBreakpoints({\n theme\n }, spacingValues, styleFromPropValue));\n }\n\n return styles;\n};\nconst StackRoot = styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [styles.root];\n }\n})(style);\nconst Stack = /*#__PURE__*/React.forwardRef(function Stack(inProps, ref) {\n const themeProps = useThemeProps({\n props: inProps,\n name: 'MuiStack'\n });\n const props = extendSxProp(themeProps);\n\n const {\n component = 'div',\n direction = 'column',\n spacing = 0,\n divider,\n children\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const ownerState = {\n direction,\n spacing\n };\n return /*#__PURE__*/_jsx(StackRoot, _extends({\n as: component,\n ownerState: ownerState,\n ref: ref\n }, other, {\n children: divider ? joinChildren(children, divider) : children\n }));\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Stack;"],"names":["icon","label","Box","sx","display","style","height","width","alignItems","marginTop","marginLeft","isLoading","onClick","restProps","Button","color","variant","padding","margin","justifyContent","textDecoration","background","disableRipple","disableFocusRipple","Loader","withStyles","theme","createStyles","root","backgroundColor","disabled","IconButton","size","EditIcon","SecureAction","resourceName","iamScopes","secureCmpProps","children","SecureComponent","scopes","resource","errorProps","property","value","onEdit","LabelValuePair","top","bucketSize","flexFlow","fontSize","fontWeight","niceBytes","quota","textTransform","type","SetAccessPolicy","withSuspense","React","SetRetentionConfig","EnableBucketEncryption","EnableVersioningModal","BucketTags","EnableQuota","twoColCssGridLayoutConfig","gridTemplateColumns","xs","sm","gridAutoFlow","gap","connector","connect","state","session","console","distributedSetup","system","loadingBucket","buckets","bucketDetails","bucketInfo","setErrorSnackMessage","setBucketDetailsLoad","spacingUtils","textStyleUtils","classes","match","useState","encryptionCfg","setEncryptionCfg","setBucketSize","hasObjectLocking","setHasObjectLocking","accessPolicyScreenOpen","setAccessPolicyScreenOpen","replicationRules","setReplicationRules","loadingObjectLocking","setLoadingLocking","loadingSize","setLoadingSize","bucketLoading","setBucketLoading","loadingEncryption","setLoadingEncryption","loadingVersioning","setLoadingVersioning","loadingQuota","setLoadingQuota","loadingReplication","setLoadingReplication","loadingRetention","setLoadingRetention","isVersioned","setIsVersioned","quotaEnabled","setQuotaEnabled","setQuota","encryptionEnabled","setEncryptionEnabled","retentionEnabled","setRetentionEnabled","retentionConfig","setRetentionConfig","retentionConfigOpen","setRetentionConfigOpen","enableEncryptionScreenOpen","setEnableEncryptionScreenOpen","enableQuotaScreenOpen","setEnableQuotaScreenOpen","enableVersioningOpen","setEnableVersioningOpen","bucketName","params","accessPolicy","policyDefinition","access","definition","displayGetBucketObjectLockConfiguration","hasPermission","IAM_SCOPES","displayGetBucketEncryptionConfiguration","displayGetBucketQuota","useEffect","api","then","res","algorithm","catch","err","errorMessage","is_versioned","object_locking_enabled","get","find","bucket","name","r","rules","length","loadAllBucketData","Fragment","open","selectedBucket","closeModalAndRefresh","enabled","cfg","actualPolicy","actualDefinition","closeVersioningModalAndRefresh","refresh","modalOpen","versioningCurrentState","Grid","container","item","className","spacerBottom","marginBottom","toLowerCase","textMuted","spacerTop","mode","validity","unit","slice","orientation","stkProps","lblProps","valProps","direction","marginRight","_excluded","joinChildren","separator","childrenArray","filter","Boolean","reduce","output","child","index","push","key","StackRoot","styled","slot","overridesResolver","props","styles","ownerState","_extends","handleBreakpoints","resolveBreakpointValues","values","breakpoints","propValue","flexDirection","spacing","transformer","createUnarySpacing","base","Object","keys","acc","breakpoint","directionValues","spacingValues","deepmerge","row","column","getValue","Stack","inProps","ref","themeProps","useThemeProps","extendSxProp","component","divider","other","_objectWithoutPropertiesLoose","_jsx","as"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5710.7386de50.chunk.js b/portal-ui/build/static/js/5710.bbaa8215.chunk.js similarity index 96% rename from portal-ui/build/static/js/5710.7386de50.chunk.js rename to portal-ui/build/static/js/5710.bbaa8215.chunk.js index 37887a2de..827b954c6 100644 --- a/portal-ui/build/static/js/5710.7386de50.chunk.js +++ b/portal-ui/build/static/js/5710.bbaa8215.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5710,4121],{21639:function(n,e,t){var o=t(23430),i=t(50390),r=t(30324);e.Z=function(n,e){var t=(0,i.useState)(!1),c=(0,o.Z)(t,2),l=c[0],s=c[1];return[l,function(t,o,i){s(!0),r.Z.invoke(t,o,i).then((function(e){s(!1),n(e)})).catch((function(n){s(!1),e(n)}))}]}},60656:function(n,e,t){var o=t(18489),i=t(50390),r=t(84402),c=t(78426),l=t(93085),s=t(7887),a=t(66946),u=t(7521),d=t(95467),f=t(21278),m=t(86509),p=t(4285),v=t(72462),Z=t(62559);e.Z=(0,p.Z)((function(n){return(0,m.Z)((0,o.Z)({},v.Qw))}))((function(n){var e=n.isOpen,t=void 0!==e&&e,m=n.onClose,p=n.onCancel,v=n.onConfirm,h=n.classes,x=void 0===h?{}:h,j=n.title,C=void 0===j?"":j,b=n.isLoading,k=n.confirmationContent,y=n.cancelText,g=void 0===y?"Cancel":y,N=n.confirmText,O=void 0===N?"Confirm":N,P=n.confirmButtonProps,w=void 0===P?{}:P,B=n.cancelButtonProps,E=void 0===B?{}:B,M=n.titleIcon,T=void 0===M?null:M;return(0,Z.jsxs)(r.Z,{open:t,onClose:function(n,e){"backdropClick"!==e&&m()},className:x.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,Z.jsxs)(c.Z,{className:x.title,children:[(0,Z.jsxs)("div",{className:x.titleText,children:[T," ",C]}),(0,Z.jsx)("div",{className:x.closeContainer,children:(0,Z.jsx)(d.Z,{"aria-label":"close",className:x.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,Z.jsx)(f.Z,{})})})]}),(0,Z.jsx)(l.Z,{className:x.content,children:k}),(0,Z.jsxs)(s.Z,{className:x.actions,children:[(0,Z.jsx)(a.Z,(0,o.Z)((0,o.Z)({className:x.cancelButton,onClick:p||m,disabled:b,type:"button"},E),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:g})),(0,Z.jsx)(u.Z,(0,o.Z)((0,o.Z)({className:x.confirmButton,type:"button",onClick:v,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,Z.jsx)(i.Fragment,{}),autoFocus:!0,id:"confirm-ok"},w),{},{children:O}))]})]})}))},24121:function(n,e,t){t.r(e);var o=t(23430),i=(t(50390),t(34424)),r=t(23473),c=t(44149),l=t(21639),s=t(60656),a=t(86362),u=t(62559),d={setErrorSnackMessage:c.Ih},f=(0,i.$j)(null,d);e.default=f((function(n){var e=n.closeDeleteModalAndRefresh,t=n.deleteOpen,i=n.selectedPolicy,c=n.setErrorSnackMessage,d=(0,l.Z)((function(){return e(!0)}),(function(n){return c(n)})),f=(0,o.Z)(d,2),m=f[0],p=f[1];if(!i)return null;return(0,u.jsx)(s.Z,{title:"Delete Policy",confirmText:"Delete",isOpen:t,titleIcon:(0,u.jsx)(a.Nv,{}),isLoading:m,onConfirm:function(){p("DELETE","/api/v1/policy?name=".concat(i))},onClose:function(){return e(!1)},confirmationContent:(0,u.jsxs)(r.Z,{children:["Are you sure you want to delete policy ",(0,u.jsx)("br",{}),(0,u.jsx)("b",{children:i}),"?"]})})}))},21278:function(n,e,t){var o=t(64119);e.Z=void 0;var i=o(t(66830)),r=t(62559),c=(0,i.default)((0,r.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");e.Z=c},18207:function(n,e,t){function o(){return o=Object.assign||function(n){for(var e=1;e=0||(i[t]=n[t]);return i}t.d(e,{Z:function(){return o}})}}]); -//# sourceMappingURL=5710.7386de50.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5710,4121],{21639:function(n,e,t){var o=t(23430),i=t(50390),r=t(30324);e.Z=function(n,e){var t=(0,i.useState)(!1),c=(0,o.Z)(t,2),l=c[0],s=c[1];return[l,function(t,o,i){s(!0),r.Z.invoke(t,o,i).then((function(e){s(!1),n(e)})).catch((function(n){s(!1),e(n)}))}]}},60656:function(n,e,t){var o=t(18489),i=t(50390),r=t(84402),c=t(78426),l=t(93085),s=t(7887),a=t(66946),u=t(7521),d=t(95467),f=t(21278),m=t(86509),p=t(4285),v=t(72462),Z=t(62559);e.Z=(0,p.Z)((function(n){return(0,m.Z)((0,o.Z)({},v.Qw))}))((function(n){var e=n.isOpen,t=void 0!==e&&e,m=n.onClose,p=n.onCancel,v=n.onConfirm,h=n.classes,x=void 0===h?{}:h,j=n.title,C=void 0===j?"":j,b=n.isLoading,k=n.confirmationContent,y=n.cancelText,g=void 0===y?"Cancel":y,N=n.confirmText,O=void 0===N?"Confirm":N,P=n.confirmButtonProps,w=void 0===P?{}:P,B=n.cancelButtonProps,E=void 0===B?{}:B,M=n.titleIcon,T=void 0===M?null:M;return(0,Z.jsxs)(r.Z,{open:t,onClose:function(n,e){"backdropClick"!==e&&m()},className:x.root,sx:{"& .MuiPaper-root":{padding:"1rem 2rem 2rem 1rem"}},children:[(0,Z.jsxs)(c.Z,{className:x.title,children:[(0,Z.jsxs)("div",{className:x.titleText,children:[T," ",C]}),(0,Z.jsx)("div",{className:x.closeContainer,children:(0,Z.jsx)(d.Z,{"aria-label":"close",className:x.closeButton,onClick:m,disableRipple:!0,size:"small",children:(0,Z.jsx)(f.Z,{})})})]}),(0,Z.jsx)(l.Z,{className:x.content,children:k}),(0,Z.jsxs)(s.Z,{className:x.actions,children:[(0,Z.jsx)(a.Z,(0,o.Z)((0,o.Z)({className:x.cancelButton,onClick:p||m,disabled:b,type:"button"},E),{},{variant:"outlined",color:"primary",id:"confirm-cancel",children:g})),(0,Z.jsx)(u.Z,(0,o.Z)((0,o.Z)({className:x.confirmButton,type:"button",onClick:v,loading:b,disabled:b,variant:"outlined",color:"secondary",loadingPosition:"start",startIcon:(0,Z.jsx)(i.Fragment,{}),autoFocus:!0,id:"confirm-ok"},w),{},{children:O}))]})]})}))},24121:function(n,e,t){t.r(e);var o=t(23430),i=(t(50390),t(34424)),r=t(23473),c=t(44149),l=t(21639),s=t(60656),a=t(14549),u=t(62559),d={setErrorSnackMessage:c.Ih},f=(0,i.$j)(null,d);e.default=f((function(n){var e=n.closeDeleteModalAndRefresh,t=n.deleteOpen,i=n.selectedPolicy,c=n.setErrorSnackMessage,d=(0,l.Z)((function(){return e(!0)}),(function(n){return c(n)})),f=(0,o.Z)(d,2),m=f[0],p=f[1];if(!i)return null;return(0,u.jsx)(s.Z,{title:"Delete Policy",confirmText:"Delete",isOpen:t,titleIcon:(0,u.jsx)(a.Nv,{}),isLoading:m,onConfirm:function(){p("DELETE","/api/v1/policy?name=".concat(i))},onClose:function(){return e(!1)},confirmationContent:(0,u.jsxs)(r.Z,{children:["Are you sure you want to delete policy ",(0,u.jsx)("br",{}),(0,u.jsx)("b",{children:i}),"?"]})})}))},21278:function(n,e,t){var o=t(64119);e.Z=void 0;var i=o(t(66830)),r=t(62559),c=(0,i.default)((0,r.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close");e.Z=c},18207:function(n,e,t){function o(){return o=Object.assign||function(n){for(var e=1;e=0||(i[t]=n[t]);return i}t.d(e,{Z:function(){return o}})}}]); +//# sourceMappingURL=5710.bbaa8215.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5710.7386de50.chunk.js.map b/portal-ui/build/static/js/5710.bbaa8215.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/5710.7386de50.chunk.js.map rename to portal-ui/build/static/js/5710.bbaa8215.chunk.js.map index c387dfd4a..53023fd81 100644 --- a/portal-ui/build/static/js/5710.7386de50.chunk.js.map +++ b/portal-ui/build/static/js/5710.bbaa8215.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5710.7386de50.chunk.js","mappings":"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","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Policies/DeletePolicy.tsx","../node_modules/@mui/icons-material/Close.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeletePolicyProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedPolicy: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePolicy = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedPolicy,\n setErrorSnackMessage,\n}: IDeletePolicyProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedPolicy) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/policy?name=${selectedPolicy}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete policy
    \n {selectedPolicy}?\n
    \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\nexport default connector(DeletePolicy);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","id","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedPolicy","useApi","deleteLoading","invokeDeleteApi","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/5710.bbaa8215.chunk.js","mappings":"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","sources":["screens/Console/Common/Hooks/useApi.tsx","screens/Console/Common/ModalWrapper/ConfirmDialog.tsx","screens/Console/Policies/DeletePolicy.tsx","../node_modules/@mui/icons-material/Close.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/extends.js","../javascript/esm|/Users/dvaldivia/go/src/github.com/minio/console/portal-ui/node_modules/@mui/lab/node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js"],"sourcesContent":["import { useState } from \"react\";\nimport api from \"../../../../common/api\";\nimport { ErrorResponseHandler } from \"../../../../common/types\";\n\ntype NoReturnFunction = (param?: any) => void;\ntype ApiMethodToInvoke = (method: string, url: string, data?: any) => void;\ntype IsApiInProgress = boolean;\n\nconst useApi = (\n onSuccess: NoReturnFunction,\n onError: NoReturnFunction\n): [IsApiInProgress, ApiMethodToInvoke] => {\n const [isLoading, setIsLoading] = useState(false);\n\n const callApi = (method: string, url: string, data?: any) => {\n setIsLoading(true);\n api\n .invoke(method, url, data)\n .then((res: any) => {\n setIsLoading(false);\n onSuccess(res);\n })\n .catch((err: ErrorResponseHandler) => {\n setIsLoading(false);\n onError(err);\n });\n };\n\n return [isLoading, callApi];\n};\n\nexport default useApi;\n","import React from \"react\";\nimport {\n Button,\n ButtonProps,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n} from \"@mui/material\";\nimport { LoadingButton } from \"@mui/lab\";\nimport IconButton from \"@mui/material/IconButton\";\nimport CloseIcon from \"@mui/icons-material/Close\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { deleteDialogStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...deleteDialogStyles,\n });\n\ntype ConfirmDialogProps = {\n isOpen?: boolean;\n onClose: () => void;\n onCancel?: () => void;\n onConfirm: () => void;\n classes?: any;\n title: string;\n isLoading?: boolean;\n confirmationContent: React.ReactNode | React.ReactNode[];\n cancelText?: string;\n confirmText?: string;\n confirmButtonProps?: Partial;\n cancelButtonProps?: Partial;\n titleIcon?: React.ReactNode;\n};\n\nconst ConfirmDialog = ({\n isOpen = false,\n onClose,\n onCancel,\n onConfirm,\n classes = {},\n title = \"\",\n isLoading,\n confirmationContent,\n cancelText = \"Cancel\",\n confirmText = \"Confirm\",\n confirmButtonProps = {},\n cancelButtonProps = {},\n titleIcon = null,\n}: ConfirmDialogProps) => {\n return (\n {\n if (reason !== \"backdropClick\") {\n onClose(); // close on Esc but not on click outside\n }\n }}\n className={classes.root}\n sx={{\n \"& .MuiPaper-root\": {\n padding: \"1rem 2rem 2rem 1rem\",\n },\n }}\n >\n \n
    \n {titleIcon} {title}\n
    \n
    \n \n \n \n
    \n
    \n\n \n {confirmationContent}\n \n \n \n {cancelText}\n \n\n }\n autoFocus\n id={\"confirm-ok\"}\n {...confirmButtonProps}\n >\n {confirmText}\n \n \n \n );\n};\n\nexport default withStyles(styles)(ConfirmDialog);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { connect } from \"react-redux\";\nimport { DialogContentText } from \"@mui/material\";\nimport { setErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport useApi from \"../Common/Hooks/useApi\";\nimport ConfirmDialog from \"../Common/ModalWrapper/ConfirmDialog\";\nimport { ConfirmDeleteIcon } from \"../../../icons\";\n\ninterface IDeletePolicyProps {\n closeDeleteModalAndRefresh: (refresh: boolean) => void;\n deleteOpen: boolean;\n selectedPolicy: string;\n setErrorSnackMessage: typeof setErrorSnackMessage;\n}\n\nconst DeletePolicy = ({\n closeDeleteModalAndRefresh,\n deleteOpen,\n selectedPolicy,\n setErrorSnackMessage,\n}: IDeletePolicyProps) => {\n const onDelSuccess = () => closeDeleteModalAndRefresh(true);\n const onDelError = (err: ErrorResponseHandler) => setErrorSnackMessage(err);\n const onClose = () => closeDeleteModalAndRefresh(false);\n\n const [deleteLoading, invokeDeleteApi] = useApi(onDelSuccess, onDelError);\n\n if (!selectedPolicy) {\n return null;\n }\n\n const onConfirmDelete = () => {\n invokeDeleteApi(\"DELETE\", `/api/v1/policy?name=${selectedPolicy}`);\n };\n\n return (\n }\n isLoading={deleteLoading}\n onConfirm={onConfirmDelete}\n onClose={onClose}\n confirmationContent={\n \n Are you sure you want to delete policy
    \n {selectedPolicy}?\n
    \n }\n />\n );\n};\n\nconst mapDispatchToProps = {\n setErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\nexport default connector(DeletePolicy);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _jsxRuntime = require(\"react/jsx-runtime\");\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/(0, _jsxRuntime.jsx)(\"path\", {\n d: \"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');\n\nexports.default = _default;","export default function _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}"],"names":["onSuccess","onError","useState","isLoading","setIsLoading","method","url","data","api","then","res","catch","err","withStyles","theme","createStyles","deleteDialogStyles","isOpen","onClose","onCancel","onConfirm","classes","title","confirmationContent","cancelText","confirmText","confirmButtonProps","cancelButtonProps","titleIcon","open","event","reason","className","root","sx","padding","titleText","closeContainer","closeButton","onClick","disableRipple","size","content","actions","cancelButton","disabled","type","variant","color","id","confirmButton","loading","loadingPosition","startIcon","autoFocus","mapDispatchToProps","setErrorSnackMessage","connector","connect","closeDeleteModalAndRefresh","deleteOpen","selectedPolicy","useApi","deleteLoading","invokeDeleteApi","_interopRequireDefault","require","exports","_createSvgIcon","_jsxRuntime","_default","default","jsx","d","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutPropertiesLoose","excluded","sourceKeys","keys","indexOf"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5808.8da21793.chunk.js b/portal-ui/build/static/js/5808.8da21793.chunk.js deleted file mode 100644 index 15019d819..000000000 --- a/portal-ui/build/static/js/5808.8da21793.chunk.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5808],{5808:function(e,n,r){r.r(n);var t=r(18489),o=r(50390),i=r(24442),c=r(70971),s=r(34424),a=r(44149),u=r(36176),l=r(47979),d=r(62559),f=o.lazy((function(){return Promise.all([r.e(14),r.e(3152),r.e(2066),r.e(5444),r.e(3690),r.e(9769),r.e(3356),r.e(195),r.e(7663),r.e(6430),r.e(2464),r.e(7551)]).then(r.bind(r,57551))})),h=o.lazy((function(){return Promise.all([r.e(6117),r.e(7950)]).then(r.bind(r,57950))})),x=o.lazy((function(){return Promise.all([r.e(14),r.e(3152),r.e(2066),r.e(5444),r.e(3690),r.e(875),r.e(5399),r.e(606),r.e(9769),r.e(2309),r.e(7248),r.e(3360),r.e(4322),r.e(3356),r.e(7869),r.e(8174),r.e(290)]).then(r.bind(r,90290))})),p=o.lazy((function(){return Promise.all([r.e(14),r.e(3152),r.e(2066),r.e(9769),r.e(3045),r.e(8961)]).then(r.bind(r,88961))})),m=(0,s.$j)((function(e){return{open:e.system.sidebarOpen}}),{setMenuOpen:a.gG});n.default=(0,c.EN)(m((function(){return(0,d.jsx)(c.F0,{history:i.Z,children:(0,d.jsxs)(c.rs,{children:[(0,d.jsx)(c.AW,{path:"/add-bucket",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(p,{})})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/admin/*",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(h,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/admin",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(h,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/browse/:subpaths+",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(x,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/browse",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(x,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName",component:function(){return(0,d.jsx)(c.l_,{to:"/buckets"})}}),(0,d.jsx)(c.AW,{path:"/",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(f,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(u.Z,{})})}})]})})})))},25534:function(e,n,r){var t=r(18489),o=(r(50390),r(25594)),i=r(86509),c=r(4285),s=r(72462),a=r(62559);n.Z=(0,c.Z)((function(e){return(0,i.Z)((0,t.Z)({},s.Bw))}))((function(e){var n=e.classes,r=e.className,t=void 0===r?"":r,i=e.children;return(0,a.jsx)("div",{className:n.contentSpacer,children:(0,a.jsx)(o.ZP,{container:!0,children:(0,a.jsx)(o.ZP,{item:!0,xs:12,className:t,children:i})})})}))},36176:function(e,n,r){r.d(n,{Z:function(){return u}});r(50390);var t=r(56805),o=r(35477),i=r(10567),c=r(62559);function s(){return(0,c.jsxs)(o.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,c.jsx)(i.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var a=r(25534),u=function(){return(0,c.jsx)(a.Z,{children:(0,c.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,c.jsx)(t.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,c.jsx)(t.Z,{sx:{fontStyle:"normal",fontSize:"clamp(2rem,calc(2rem + 1.2vw),3rem)",fontWeight:700},children:"Sorry, the page could not be found."}),(0,c.jsx)(t.Z,{mt:5,children:(0,c.jsx)(s,{})})]})})}},10567:function(e,n,r){r.d(n,{Z:function(){return w}});var t=r(23430),o=r(36222),i=r(1048),c=r(32793),s=r(50390),a=r(44977),u=r(50076),l=r(29001),d=r(36128),f=r(91442),h=r(8208),x=r(15573),p=r(42081),m=r(3299),b=r(35477),j=r(10594);function Z(e){return(0,j.Z)("MuiLink",e)}var v=(0,r(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),k=r(62559),y=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],S={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},g=(0,h.ZP)(b.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,n){var r=e.ownerState;return[n.root,n["underline".concat((0,f.Z)(r.underline))],"button"===r.component&&n.button]}})((function(e){var n=e.theme,r=e.ownerState,t=(0,l.D)(n,"palette.".concat(function(e){return S[e]||e}(r.color)))||r.color;return(0,c.Z)({},"none"===r.underline&&{textDecoration:"none"},"hover"===r.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===r.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==t?(0,d.Fq)(t,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===r.component&&(0,o.Z)({position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"}},"&.".concat(v.focusVisible),{outline:"auto"}))})),w=s.forwardRef((function(e,n){var r=(0,x.Z)({props:e,name:"MuiLink"}),o=r.className,l=r.color,d=void 0===l?"primary":l,h=r.component,b=void 0===h?"a":h,j=r.onBlur,v=r.onFocus,S=r.TypographyClasses,w=r.underline,A=void 0===w?"always":w,N=r.variant,W=void 0===N?"inherit":N,C=(0,i.Z)(r,y),F=(0,p.Z)(),z=F.isFocusVisibleRef,D=F.onBlur,P=F.onFocus,M=F.ref,V=s.useState(!1),B=(0,t.Z)(V,2),R=B[0],L=B[1],O=(0,m.Z)(n,M),T=(0,c.Z)({},r,{color:d,component:b,focusVisible:R,underline:A,variant:W}),_=function(e){var n=e.classes,r=e.component,t=e.focusVisible,o=e.underline,i={root:["root","underline".concat((0,f.Z)(o)),"button"===r&&"button",t&&"focusVisible"]};return(0,u.Z)(i,Z,n)}(T);return(0,k.jsx)(g,(0,c.Z)({className:(0,a.Z)(_.root,o),classes:S,color:d,component:b,onBlur:function(e){D(e),!1===z.current&&L(!1),j&&j(e)},onFocus:function(e){P(e),!0===z.current&&L(!0),v&&v(e)},ref:O,ownerState:T,variant:W},C))}))}}]); -//# sourceMappingURL=5808.8da21793.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5808.d0d08e62.chunk.js b/portal-ui/build/static/js/5808.d0d08e62.chunk.js new file mode 100644 index 000000000..0f1093cc0 --- /dev/null +++ b/portal-ui/build/static/js/5808.d0d08e62.chunk.js @@ -0,0 +1,2 @@ +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5808],{5808:function(e,n,r){r.r(n);var t=r(18489),o=r(50390),i=r(24442),c=r(70971),s=r(34424),a=r(44149),u=r(36176),l=r(47979),d=r(62559),f=o.lazy((function(){return Promise.all([r.e(14),r.e(3152),r.e(2066),r.e(5444),r.e(3690),r.e(9769),r.e(3356),r.e(195),r.e(7663),r.e(6430),r.e(2464),r.e(7551)]).then(r.bind(r,57551))})),h=o.lazy((function(){return Promise.all([r.e(6117),r.e(7950)]).then(r.bind(r,57950))})),x=o.lazy((function(){return Promise.all([r.e(14),r.e(3152),r.e(2066),r.e(5444),r.e(3690),r.e(875),r.e(5399),r.e(606),r.e(9769),r.e(2309),r.e(7248),r.e(3360),r.e(4322),r.e(3356),r.e(7869),r.e(8174),r.e(3575)]).then(r.bind(r,53575))})),p=o.lazy((function(){return Promise.all([r.e(14),r.e(3152),r.e(2066),r.e(9769),r.e(3045),r.e(8961)]).then(r.bind(r,88961))})),m=(0,s.$j)((function(e){return{open:e.system.sidebarOpen}}),{setMenuOpen:a.gG});n.default=(0,c.EN)(m((function(){return(0,d.jsx)(c.F0,{history:i.Z,children:(0,d.jsxs)(c.rs,{children:[(0,d.jsx)(c.AW,{path:"/add-bucket",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(p,{})})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/admin/*",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(h,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/admin",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(h,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/browse/:subpaths+",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(x,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName/browse",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(x,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{path:"/buckets/:bucketName",component:function(){return(0,d.jsx)(c.l_,{to:"/buckets"})}}),(0,d.jsx)(c.AW,{path:"/",children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(f,(0,t.Z)({},e))})}}),(0,d.jsx)(c.AW,{children:function(e){return(0,d.jsx)(o.Suspense,{fallback:(0,d.jsx)(l.Z,{}),children:(0,d.jsx)(u.Z,{})})}})]})})})))},25534:function(e,n,r){var t=r(18489),o=(r(50390),r(25594)),i=r(86509),c=r(4285),s=r(72462),a=r(62559);n.Z=(0,c.Z)((function(e){return(0,i.Z)((0,t.Z)({},s.Bw))}))((function(e){var n=e.classes,r=e.className,t=void 0===r?"":r,i=e.children;return(0,a.jsx)("div",{className:n.contentSpacer,children:(0,a.jsx)(o.ZP,{container:!0,children:(0,a.jsx)(o.ZP,{item:!0,xs:12,className:t,children:i})})})}))},36176:function(e,n,r){r.d(n,{Z:function(){return u}});r(50390);var t=r(56805),o=r(35477),i=r(10567),c=r(62559);function s(){return(0,c.jsxs)(o.Z,{variant:"body2",color:"textSecondary",align:"center",children:["Copyright \xa9 ",(0,c.jsx)(i.Z,{color:"inherit",href:"https://min.io/?ref=con",children:"MinIO"})," ",(new Date).getFullYear(),"."]})}var a=r(25534),u=function(){return(0,c.jsx)(a.Z,{children:(0,c.jsxs)(t.Z,{sx:{display:"flex",alignItems:"center",justifyContent:"center",height:"100%",textAlign:"center",margin:"auto",flexFlow:"column"},children:[(0,c.jsx)(t.Z,{sx:{fontSize:"110%",margin:"0 0 0.25rem",color:"#909090"},children:"404 Error"}),(0,c.jsx)(t.Z,{sx:{fontStyle:"normal",fontSize:"clamp(2rem,calc(2rem + 1.2vw),3rem)",fontWeight:700},children:"Sorry, the page could not be found."}),(0,c.jsx)(t.Z,{mt:5,children:(0,c.jsx)(s,{})})]})})}},10567:function(e,n,r){r.d(n,{Z:function(){return w}});var t=r(23430),o=r(36222),i=r(1048),c=r(32793),s=r(50390),a=r(44977),u=r(50076),l=r(29001),d=r(36128),f=r(91442),h=r(8208),x=r(15573),p=r(42081),m=r(3299),b=r(35477),j=r(10594);function Z(e){return(0,j.Z)("MuiLink",e)}var v=(0,r(43349).Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),k=r(62559),y=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant"],S={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},g=(0,h.ZP)(b.Z,{name:"MuiLink",slot:"Root",overridesResolver:function(e,n){var r=e.ownerState;return[n.root,n["underline".concat((0,f.Z)(r.underline))],"button"===r.component&&n.button]}})((function(e){var n=e.theme,r=e.ownerState,t=(0,l.D)(n,"palette.".concat(function(e){return S[e]||e}(r.color)))||r.color;return(0,c.Z)({},"none"===r.underline&&{textDecoration:"none"},"hover"===r.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===r.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==t?(0,d.Fq)(t,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===r.component&&(0,o.Z)({position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"}},"&.".concat(v.focusVisible),{outline:"auto"}))})),w=s.forwardRef((function(e,n){var r=(0,x.Z)({props:e,name:"MuiLink"}),o=r.className,l=r.color,d=void 0===l?"primary":l,h=r.component,b=void 0===h?"a":h,j=r.onBlur,v=r.onFocus,S=r.TypographyClasses,w=r.underline,A=void 0===w?"always":w,N=r.variant,W=void 0===N?"inherit":N,C=(0,i.Z)(r,y),F=(0,p.Z)(),z=F.isFocusVisibleRef,D=F.onBlur,P=F.onFocus,M=F.ref,V=s.useState(!1),B=(0,t.Z)(V,2),R=B[0],L=B[1],O=(0,m.Z)(n,M),T=(0,c.Z)({},r,{color:d,component:b,focusVisible:R,underline:A,variant:W}),_=function(e){var n=e.classes,r=e.component,t=e.focusVisible,o=e.underline,i={root:["root","underline".concat((0,f.Z)(o)),"button"===r&&"button",t&&"focusVisible"]};return(0,u.Z)(i,Z,n)}(T);return(0,k.jsx)(g,(0,c.Z)({className:(0,a.Z)(_.root,o),classes:S,color:d,component:b,onBlur:function(e){D(e),!1===z.current&&L(!1),j&&j(e)},onFocus:function(e){P(e),!0===z.current&&L(!0),v&&v(e)},ref:O,ownerState:T,variant:W},C))}))}}]); +//# sourceMappingURL=5808.d0d08e62.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5808.8da21793.chunk.js.map b/portal-ui/build/static/js/5808.d0d08e62.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/5808.8da21793.chunk.js.map rename to portal-ui/build/static/js/5808.d0d08e62.chunk.js.map index 7d6bb49da..a7dc79c1b 100644 --- a/portal-ui/build/static/js/5808.8da21793.chunk.js.map +++ b/portal-ui/build/static/js/5808.d0d08e62.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5808.8da21793.chunk.js","mappings":"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","sources":["screens/Console/Buckets/Buckets.tsx","screens/Console/Common/Layout/PageLayout.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Suspense } from \"react\";\nimport history from \"../../../history\";\nimport { Redirect, Route, Router, Switch, withRouter } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { AppState } from \"../../../store\";\nimport { setMenuOpen } from \"../../../actions\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport LoadingComponent from \"../../../common/LoadingComponent\";\n\nconst ListBuckets = React.lazy(() => import(\"./ListBuckets/ListBuckets\"));\nconst BucketDetails = React.lazy(() => import(\"./BucketDetails/BucketDetails\"));\nconst BrowserHandler = React.lazy(\n () => import(\"./BucketDetails/BrowserHandler\")\n);\nconst AddBucket = React.lazy(() => import(\"./ListBuckets/AddBucket\"));\n\nconst mapState = (state: AppState) => ({\n open: state.system.sidebarOpen,\n});\n\nconst connector = connect(mapState, { setMenuOpen });\n\nconst Buckets = () => {\n return (\n \n \n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n }\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n \n \n );\n};\n\nexport default withRouter(connector(Buckets));\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport Link from \"@mui/material/Link\";\n\nexport default function Copyright() {\n return (\n \n {\"Copyright © \"}\n \n MinIO\n {\" \"}\n {new Date().getFullYear()}\n {\".\"}\n \n );\n}\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Box from \"@mui/material/Box\";\nimport Copyright from \"../common/Copyright\";\nimport PageLayout from \"./Console/Common/Layout/PageLayout\";\n\nconst NotFound: React.FC = () => {\n return (\n \n \n \n 404 Error\n \n \n Sorry, the page could not be found.\n \n \n \n \n \n \n );\n};\n\nexport default NotFound;\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"onBlur\", \"onFocus\", \"TypographyClasses\", \"underline\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementTypeAcceptingRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, getPath } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useForkRef from '../utils/useForkRef';\nimport Typography from '../Typography';\nimport linkClasses, { getLinkUtilityClass } from './linkClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n component,\n focusVisible,\n underline\n } = ownerState;\n const slots = {\n root: ['root', `underline${capitalize(underline)}`, component === 'button' && 'button', focusVisible && 'focusVisible']\n };\n return composeClasses(slots, getLinkUtilityClass, classes);\n};\n\nconst LinkRoot = styled(Typography, {\n name: 'MuiLink',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`underline${capitalize(ownerState.underline)}`], ownerState.component === 'button' && styles.button];\n }\n})(({\n theme,\n ownerState\n}) => {\n const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\n return _extends({}, ownerState.underline === 'none' && {\n textDecoration: 'none'\n }, ownerState.underline === 'hover' && {\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }, ownerState.underline === 'always' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\n '&:hover': {\n textDecorationColor: 'inherit'\n }\n }, ownerState.component === 'button' && {\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n [`&.${linkClasses.focusVisible}`]: {\n outline: 'auto'\n }\n });\n});\nconst Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLink'\n });\n\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n const handlerRef = useForkRef(ref, focusVisibleRef);\n\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string])\n} : void 0;\nexport default Link;"],"names":["ListBuckets","React","BucketDetails","BrowserHandler","AddBucket","connector","connect","state","open","system","sidebarOpen","setMenuOpen","withRouter","history","path","children","routerProps","Suspense","fallback","component","to","withStyles","theme","createStyles","pageContentStyles","classes","className","contentSpacer","container","item","xs","Copyright","Typography","variant","color","align","Link","href","Date","getFullYear","PageLayout","Box","sx","display","alignItems","justifyContent","height","textAlign","margin","flexFlow","fontSize","fontStyle","fontWeight","mt","getLinkUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","colorTransformations","primary","textPrimary","secondary","textSecondary","error","LinkRoot","styled","name","overridesResolver","props","styles","ownerState","root","capitalize","underline","button","getPath","transformDeprecatedColors","_extends","textDecoration","textDecorationColor","alpha","undefined","position","WebkitTapHighlightColor","backgroundColor","outline","border","borderRadius","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","clsx","event","current"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/5808.d0d08e62.chunk.js","mappings":"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","sources":["screens/Console/Buckets/Buckets.tsx","screens/Console/Common/Layout/PageLayout.tsx","common/Copyright.tsx","screens/NotFoundPage.tsx","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/Link.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Suspense } from \"react\";\nimport history from \"../../../history\";\nimport { Redirect, Route, Router, Switch, withRouter } from \"react-router-dom\";\nimport { connect } from \"react-redux\";\nimport { AppState } from \"../../../store\";\nimport { setMenuOpen } from \"../../../actions\";\nimport NotFoundPage from \"../../NotFoundPage\";\nimport LoadingComponent from \"../../../common/LoadingComponent\";\n\nconst ListBuckets = React.lazy(() => import(\"./ListBuckets/ListBuckets\"));\nconst BucketDetails = React.lazy(() => import(\"./BucketDetails/BucketDetails\"));\nconst BrowserHandler = React.lazy(\n () => import(\"./BucketDetails/BrowserHandler\")\n);\nconst AddBucket = React.lazy(() => import(\"./ListBuckets/AddBucket\"));\n\nconst mapState = (state: AppState) => ({\n open: state.system.sidebarOpen,\n});\n\nconst connector = connect(mapState, { setMenuOpen });\n\nconst Buckets = () => {\n return (\n \n \n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n }\n />\n (\n }>\n \n \n )}\n />\n (\n }>\n \n \n )}\n />\n \n \n );\n};\n\nexport default withRouter(connector(Buckets));\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport Link from \"@mui/material/Link\";\n\nexport default function Copyright() {\n return (\n \n {\"Copyright © \"}\n \n MinIO\n {\" \"}\n {new Date().getFullYear()}\n {\".\"}\n \n );\n}\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport Box from \"@mui/material/Box\";\nimport Copyright from \"../common/Copyright\";\nimport PageLayout from \"./Console/Common/Layout/PageLayout\";\n\nconst NotFound: React.FC = () => {\n return (\n \n \n \n 404 Error\n \n \n Sorry, the page could not be found.\n \n \n \n \n \n \n );\n};\n\nexport default NotFound;\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"className\", \"color\", \"component\", \"onBlur\", \"onFocus\", \"TypographyClasses\", \"underline\", \"variant\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { elementTypeAcceptingRef } from '@mui/utils';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha, getPath } from '@mui/system';\nimport capitalize from '../utils/capitalize';\nimport styled from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport useIsFocusVisible from '../utils/useIsFocusVisible';\nimport useForkRef from '../utils/useForkRef';\nimport Typography from '../Typography';\nimport linkClasses, { getLinkUtilityClass } from './linkClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst colorTransformations = {\n primary: 'primary.main',\n textPrimary: 'text.primary',\n secondary: 'secondary.main',\n textSecondary: 'text.secondary',\n error: 'error.main'\n};\n\nconst transformDeprecatedColors = color => {\n return colorTransformations[color] || color;\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n component,\n focusVisible,\n underline\n } = ownerState;\n const slots = {\n root: ['root', `underline${capitalize(underline)}`, component === 'button' && 'button', focusVisible && 'focusVisible']\n };\n return composeClasses(slots, getLinkUtilityClass, classes);\n};\n\nconst LinkRoot = styled(Typography, {\n name: 'MuiLink',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`underline${capitalize(ownerState.underline)}`], ownerState.component === 'button' && styles.button];\n }\n})(({\n theme,\n ownerState\n}) => {\n const color = getPath(theme, `palette.${transformDeprecatedColors(ownerState.color)}`) || ownerState.color;\n return _extends({}, ownerState.underline === 'none' && {\n textDecoration: 'none'\n }, ownerState.underline === 'hover' && {\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }, ownerState.underline === 'always' && {\n textDecoration: 'underline',\n textDecorationColor: color !== 'inherit' ? alpha(color, 0.4) : undefined,\n '&:hover': {\n textDecorationColor: 'inherit'\n }\n }, ownerState.component === 'button' && {\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n\n },\n [`&.${linkClasses.focusVisible}`]: {\n outline: 'auto'\n }\n });\n});\nconst Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiLink'\n });\n\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit'\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const {\n isFocusVisibleRef,\n onBlur: handleBlurVisible,\n onFocus: handleFocusVisible,\n ref: focusVisibleRef\n } = useIsFocusVisible();\n const [focusVisible, setFocusVisible] = React.useState(false);\n const handlerRef = useForkRef(ref, focusVisibleRef);\n\n const handleBlur = event => {\n handleBlurVisible(event);\n\n if (isFocusVisibleRef.current === false) {\n setFocusVisible(false);\n }\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n const handleFocus = event => {\n handleFocusVisible(event);\n\n if (isFocusVisibleRef.current === true) {\n setFocusVisible(true);\n }\n\n if (onFocus) {\n onFocus(event);\n }\n };\n\n const ownerState = _extends({}, props, {\n color,\n component,\n focusVisible,\n underline,\n variant\n });\n\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, _extends({\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n color: color,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: handlerRef,\n ownerState: ownerState,\n variant: variant\n }, other));\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes\n /* @typescript-to-proptypes-ignore */\n .any,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * `classes` prop applied to the [`Typography`](/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes\n /* @typescript-to-proptypes-ignore */\n .oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string])\n} : void 0;\nexport default Link;"],"names":["ListBuckets","React","BucketDetails","BrowserHandler","AddBucket","connector","connect","state","open","system","sidebarOpen","setMenuOpen","withRouter","history","path","children","routerProps","Suspense","fallback","component","to","withStyles","theme","createStyles","pageContentStyles","classes","className","contentSpacer","container","item","xs","Copyright","Typography","variant","color","align","Link","href","Date","getFullYear","PageLayout","Box","sx","display","alignItems","justifyContent","height","textAlign","margin","flexFlow","fontSize","fontStyle","fontWeight","mt","getLinkUtilityClass","slot","generateUtilityClass","generateUtilityClasses","_excluded","colorTransformations","primary","textPrimary","secondary","textSecondary","error","LinkRoot","styled","name","overridesResolver","props","styles","ownerState","root","capitalize","underline","button","getPath","transformDeprecatedColors","_extends","textDecoration","textDecorationColor","alpha","undefined","position","WebkitTapHighlightColor","backgroundColor","outline","border","borderRadius","padding","cursor","userSelect","verticalAlign","MozAppearance","WebkitAppearance","borderStyle","linkClasses","inProps","ref","useThemeProps","onBlur","onFocus","TypographyClasses","other","_objectWithoutPropertiesLoose","useIsFocusVisible","isFocusVisibleRef","handleBlurVisible","handleFocusVisible","focusVisibleRef","focusVisible","setFocusVisible","handlerRef","useForkRef","slots","composeClasses","useUtilityClasses","_jsx","clsx","event","current"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5822.fa49be62.chunk.js b/portal-ui/build/static/js/5822.2e5ca929.chunk.js similarity index 99% rename from portal-ui/build/static/js/5822.fa49be62.chunk.js rename to portal-ui/build/static/js/5822.2e5ca929.chunk.js index 001fda25a..08b066ec2 100644 --- a/portal-ui/build/static/js/5822.fa49be62.chunk.js +++ b/portal-ui/build/static/js/5822.2e5ca929.chunk.js @@ -1,2 +1,2 @@ -(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5822],{8235:function(e,t,n){"use strict";n(50390);var i=n(86509),r=n(4285),o=n(25594),s=n(62559);t.Z=(0,r.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,i=e.title,r=e.help;return(0,s.jsx)("div",{className:t.root,children:(0,s.jsxs)(o.ZP,{container:!0,children:[(0,s.jsxs)(o.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,s.jsx)(o.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},53224:function(e,t,n){"use strict";var i=n(18489),r=n(83738),o=(n(50390),n(70758)),s=n(62449),a=n(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,s.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,i=t.color,r=e.palette.primary.main;return"primary"===i&&"contained"===n?r=e.palette.primary.contrastText:"primary"===i&&"outlined"===n?r=e.palette.primary.main:"secondary"===i&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,s=e.text,d=void 0===s?"":s,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,x=void 0===h?null:h,f=(0,r.Z)(e,l);return(0,a.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,a.jsx)("span",{children:d})," ",x]}))}},70758:function(e,t,n){"use strict";var i=n(18489),r=n(36222),o=n(83738),s=(n(50390),n(86509)),a=n(4285),l=n(95467),c=n(94187),d=n(44977),u=n(62559),p=["classes","children","variant","tooltip"];t.Z=(0,a.Z)((function(e){return(0,s.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,s=e.variant,a=void 0===s?"outlined":s,m=e.tooltip,h=(0,o.Z)(e,p),x=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},h),{},{className:(0,d.Z)(t.root,(0,r.Z)({},t.contained,"contained"===a)),children:n}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:x})}):x}))},10660:function(e,t,n){"use strict";n(50390);var i=n(25594),r=n(56805),o=n(8235),s=n(62559);t.Z=function(e){var t=e.iconComponent,n=e.entity;return(0,s.jsx)(i.ZP,{container:!0,alignItems:"center",children:(0,s.jsx)(i.ZP,{item:!0,xs:12,children:(0,s.jsx)(o.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,s.jsxs)(r.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:[(0,s.jsx)("div",{children:"This feature is not available for a single-disk setup. "}),(0,s.jsxs)("div",{children:["Please deploy a server in"," ",(0,s.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},70014:function(e,t,n){"use strict";var i=n(35531),r=n(23430),o=n(18489),s=n(50390),a=n(25594),l=(n(2574),n(20704)),c=n(54880),d=n(21563),u=n(36297),p=n(36554),m=n(94187),h=n(56805),x=n(86509),f=n(4285),g=n(97538),b=n(72462),j=n(86362),v=n(53224),Z=n(33034),y=n.n(Z),C=n(53357),S=n(62559),w={json:d.AV,yaml:function(){return c.i.define(u.r)}},k=C.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),P=C.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,f.Z)((function(e){return(0,x.Z)((0,o.Z)((0,o.Z)({},b.YI),{},{inputLabel:(0,o.Z)((0,o.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.value,n=e.label,o=void 0===n?"":n,c=e.tooltip,d=void 0===c?"":c,u=e.mode,x=void 0===u?"json":u,f=e.classes,b=e.onBeforeChange,Z=e.readOnly,C=void 0!==Z&&Z,N=e.editorHeight,F=void 0===N?"250px":N,T=(0,s.useState)(!1),B=(0,r.Z)(T,2),E=B[0],I=B[1],O=[];return w[x]&&(O=[].concat((0,i.Z)(O),[w[x]()])),(0,S.jsxs)(s.Fragment,{children:[(0,S.jsxs)(p.Z,{className:f.inputLabel,children:[(0,S.jsx)("span",{children:o}),""!==d&&(0,S.jsx)("div",{className:f.tooltipContainer,children:(0,S.jsx)(m.Z,{title:d,placement:"top-start",children:(0,S.jsx)("div",{className:f.tooltip,children:(0,S.jsx)(g.Z,{})})})})]}),(0,S.jsx)(a.ZP,{item:!0,xs:12,children:(0,S.jsx)("br",{})}),(0,S.jsxs)(a.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,S.jsx)(a.ZP,{item:!0,xs:12,children:(0,S.jsx)(l.ZP,{value:t,theme:E?P:k,extensions:O,editable:!C,basicSetup:!0,height:F,onChange:function(e,t){b(null,null,e)}})}),(0,S.jsx)(a.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:E?"#282c34":"#f7f7f7"},children:(0,S.jsxs)(h.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:[(0,S.jsx)(v.Z,{tooltip:"Change theme",onClick:function(){I(!E)},text:"",icon:(0,S.jsx)(j.EO,{}),color:"primary",variant:"outlined"}),(0,S.jsx)(y(),{text:t,children:(0,S.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,S.jsx)(j.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},66964:function(e,t,n){"use strict";var i=n(18489),r=n(50390),o=n(12066),s=n(25594),a=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),h=n(97538),x=n(44977),f=n(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function b(e){var t=g();return(0,f.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,g=e.autoComplete,j=void 0===g?"off":g,v=e.disabled,Z=void 0!==v&&v,y=e.multiline,C=void 0!==y&&y,S=e.tooltip,w=void 0===S?"":S,k=e.index,P=void 0===k?0:k,N=e.error,F=void 0===N?"":N,T=e.required,B=void 0!==T&&T,E=e.placeholder,I=void 0===E?"":E,O=e.min,L=e.max,R=e.overlayId,z=e.overlayIcon,A=void 0===z?null:z,M=e.overlayObject,V=void 0===M?null:M,G=e.extraInputProps,U=void 0===G?{}:G,W=e.overlayAction,_=e.noLabelMinWidth,D=void 0!==_&&_,H=e.pattern,q=void 0===H?"":H,K=e.autoFocus,J=void 0!==K&&K,Y=e.classes,Q=e.className,$=void 0===Q?"":Q,X=e.onKeyPress,ee=(0,i.Z)({"data-index":P},U);return"number"===m&&O&&(ee.min=O),"number"===m&&L&&(ee.max=L),""!==q&&(ee.pattern=q),(0,f.jsx)(r.Fragment,{children:(0,f.jsxs)(s.ZP,{container:!0,className:(0,x.Z)(""!==$?$:"",""!==F?Y.errorInField:Y.inputBoxContainer),children:[""!==t&&(0,f.jsxs)(a.Z,{htmlFor:d,className:D?Y.noMinWidthLabel:Y.inputLabel,children:[(0,f.jsxs)("span",{children:[t,B?"*":""]}),""!==w&&(0,f.jsx)("div",{className:Y.tooltipContainer,children:(0,f.jsx)(l.Z,{title:w,placement:"top-start",children:(0,f.jsx)("div",{className:Y.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:Y.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:o,autoFocus:J,disabled:Z,onChange:n,type:m,multiline:C,autoComplete:j,inputProps:ee,error:""!==F,helperText:F,placeholder:I,className:Y.inputRebase,onKeyPress:X}),A&&(0,f.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:W?function(){W()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),V&&(0,f.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==t?"withLabel":""),children:V})]})]})})}))},1365:function(e,t,n){"use strict";var i=n(23430),r=n(50390),o=n(86509),s=n(4285),a=n(26936),l=n(31680),c=n(62559);t.Z=(0,s.Z)((function(e){return(0,o.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var t=e.classes,n=e.id,o=e.unitSelected,s=e.unitsList,d=e.disabled,u=void 0!==d&&d,p=e.onUnitChange,m=r.useState(null),h=(0,i.Z)(m,2),x=h[0],f=h[1],g=Boolean(x),b=function(e){f(null),""!==e&&p&&p(e)};return(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)("button",{id:"".concat(n,"-button"),"aria-controls":"".concat(n,"-menu"),"aria-haspopup":"true","aria-expanded":g?"true":void 0,onClick:function(e){f(e.currentTarget)},className:t.buttonTrigger,disabled:u,type:"button",children:o}),(0,c.jsx)(a.Z,{id:"".concat(n,"-menu"),"aria-labelledby":"".concat(n,"-button"),anchorEl:x,open:g,onClose:function(){b("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:s.map((function(e){return(0,c.jsx)(l.Z,{onClick:function(){return b(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})}))},25534:function(e,t,n){"use strict";var i=n(18489),r=(n(50390),n(25594)),o=n(86509),s=n(4285),a=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,o.Z)((0,i.Z)({},a.Bw))}))((function(e){var t=e.classes,n=e.className,i=void 0===n?"":n,o=e.children;return(0,l.jsx)("div",{className:t.contentSpacer,children:(0,l.jsx)(r.ZP,{container:!0,children:(0,l.jsx)(r.ZP,{item:!0,xs:12,className:i,children:o})})})}))},35721:function(e,t,n){"use strict";var i=n(50390),r=n(34424),o=n(25594),s=n(86509),a=n(4285),l=n(35477),c=n(95467),d=n(26805),u=n(44078),p=n(5265),m=n(86362),h=n(62559),x={toggleList:p.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),x);t.Z=f((0,a.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:34,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,r=e.actions,s=e.sidebarOpen,a=e.operatorMode,p=e.managerObjects,x=e.toggleList,f=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(i.Fragment,{}):(0,h.jsxs)(o.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,h.jsx)("div",{className:t.logo,children:a?(0,h.jsx)(d.Z,{}):(0,h.jsx)(u.Z,{})}),(0,h.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),f&&(0,h.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,h.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.rightMenu,children:[r&&r,p&&p.length>0&&(0,h.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},54415:function(e,t,n){"use strict";var i=n(18489),r=n(36222),o=(n(50390),n(8208)),s=n(81378),a=n(55179),l=n(56805),c=n(62559),d=(0,o.ZP)(s.Z)((function(){var e;return e={height:10,borderRadius:5},(0,r.Z)(e,"&.".concat(a.Z.colorPrimary),{backgroundColor:"#f1f1f1"}),(0,r.Z)(e,"& .".concat(a.Z.bar),{borderRadius:5}),e})),u=(0,o.ZP)(d)((function(){return(0,r.Z)({height:6,borderRadius:3},"& .".concat(a.Z.bar),{borderRadius:3})}));function p(e){return(0,c.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,c.jsx)(l.Z,{sx:{width:"100%",mr:1},children:(0,c.jsx)(d,(0,i.Z)({variant:"determinate"},e))}),(0,c.jsx)(l.Z,{sx:{minWidth:35,fontSize:14},className:"value",children:"".concat(Math.round(e.value||0),"%")})]})}t.Z=function(e){var t=e.value,n=e.ready,r=e.indeterminate,o=e.withLabel,s=e.size,a=void 0===s?"regular":s,l={variant:r&&!n?"indeterminate":"determinate",value:n?100:t,color:n?"success":"primary"};return o?(0,c.jsx)(p,(0,i.Z)({},l)):"small"===a?(0,c.jsx)(u,(0,i.Z)({},l)):(0,c.jsx)(d,(0,i.Z)({},l))}},22189:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return U}});var i=n(35531),r=n(23430),o=n(18489),s=n(50390),a=n(34424),l=n(69686),c=n(25594),d=n(66946),u=n(86509),p=n(4285),m=n(60606),h=n.n(m),x=n(35721),f=n(72462),g=n(51774),b=n(86362),j=n(49495),v=n(38342),Z=n.n(v),y=n(28948),C=n(70758),S=n(70014),w=n(88970),k=n(86072),P=n(84930),N=n(84109),F=n(44977),T=n(62559),B=(0,p.Z)((function(e){return(0,u.Z)({objectGeneralTitle:{lineHeight:1,fontSize:50,color:"#696969"},generalUnit:{color:"#000",fontSize:12,fontWeight:"bold"},testUnitRes:{fontSize:60,color:"#081C42",fontWeight:"bold",textAlign:"right"},metricValContainer:{lineHeight:1,verticalAlign:"bottom"},objectsUnitRes:{fontSize:22,marginTop:6,color:"#696969",fontWeight:"bold",textAlign:"right"},objectsUnit:{color:"#696969",fontSize:16,fontWeight:"bold"},iconTd:{verticalAlign:"bottom"}})}))((function(e){var t=e.classes,n=e.title,i=e.icon,r=e.throughput,o=e.objects,s=(0,y.Am)(r),a="0",l="";return 0!==s.total&&(a=s.total.toString(),l="".concat(s.unit,"/s")),(0,T.jsxs)("table",{children:[(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{className:t.objectGeneralTitle,children:n}),(0,T.jsx)("td",{className:t.iconTd,children:i})]}),(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{className:(0,F.Z)(t.metricValContainer,t.testUnitRes),children:a}),(0,T.jsx)("td",{className:(0,F.Z)(t.metricValContainer,t.generalUnit),children:l})]}),(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{className:(0,F.Z)(t.metricValContainer,t.objectsUnitRes),children:o}),(0,T.jsx)("td",{className:(0,F.Z)(t.metricValContainer,t.objectsUnit),children:0!==o&&"Objs/S"})]})]})})),E=(0,p.Z)((function(e){return(0,u.Z)({actionButtons:{textAlign:"right"},descriptorLabel:{fontWeight:"bold",fontSize:14},resultsContainer:{backgroundColor:"#FBFAFA",borderTop:"#F1F1F1 1px solid",marginTop:30,padding:25},resultsIcon:{display:"flex",alignItems:"center","& svg":{fill:"#07193E"}},detailedItem:{display:"flex",alignItems:"center",justifyContent:"flex-start"},detailedVersion:{display:"flex",alignItems:"center",justifyContent:"flex-end"},serversTable:{width:"100%",marginTop:15,"& thead > tr > th":{textAlign:"left",padding:15,fontSize:14,fontWeight:"bold"},"& tbody > tr":{"&:last-of-type":{"& > td":{borderBottom:"#E2E2E2 1px solid"}},"& > td":{borderTop:"#E2E2E2 1px solid",padding:15,fontSize:14,"&:first-of-type":{borderLeft:"#E2E2E2 1px solid"},"&:last-of-type":{borderRight:"#E2E2E2 1px solid"}}}},serverIcon:{width:55},serverValue:{width:140},serverHost:{maxWidth:540,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},tableOverflow:{overflowX:"auto",paddingBottom:15},objectGeneral:{marginTop:15},initialResults:{fontSize:20,fontWeight:"bold",color:"#000",textAlign:"center"},download:{"& .min-icon":{width:35,height:35,color:"rgb(113,200,150)"}},upload:{"& .min-icon":{width:35,height:35,color:"rgb(66,127,172)"}}})}))((function(e){var t=e.classes,n=e.results,o=e.start,a=(0,s.useState)(!1),l=(0,r.Z)(a,2),d=l[0],u=l[1],p=n[n.length-1]||[],m=Z()(p,"GETStats.servers",[])||[],h=Z()(p,"PUTStats.servers",[])||[],x=Z()(p,"GETStats.throughputPerSec",0),f=Z()(p,"GETStats.objectsPerSec",0),g=Z()(p,"PUTStats.throughputPerSec",0),j=Z()(p,"PUTStats.objectsPerSec",0),v=[];m.forEach((function(e){var t=e.endpoint,n=h.find((function(e){return e.endpoint===t})),i={getUnit:"-",getValue:"N/A",host:e.endpoint,putUnit:"-",putValue:"N/A"};if(e.err&&""!==e.err)i.getError=e.err,i.getUnit="-",i.getValue="N/A";else{var r=(0,y.Am)(e.throughputPerSec.toString());i.getUnit=r.unit,i.getValue=r.total.toString()}if(n)if(n.err&&""!==n.err)i.putError=n.err,i.putUnit="-",i.putValue="N/A";else{var o=(0,y.Am)(n.throughputPerSec.toString());i.putUnit=o.unit,i.putValue=o.total.toString()}v.push(i)}));var F=p?JSON.stringify(p,null,4):"",E=function(e){var t=e.filter((function(e){return"0"!==e.version&&0!==e.disks})).map((function(e){var t,n;return{get:(null===(t=e.GETStats)||void 0===t?void 0:t.throughputPerSec)||0,put:(null===(n=e.PUTStats)||void 0===n?void 0:n.throughputPerSec)||0}}));return[{get:0,put:0}].concat((0,i.Z)(t))}(n);return(0,T.jsxs)(s.Fragment,{children:[(0,T.jsxs)(c.ZP,{container:!0,className:t.objectGeneral,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,T.jsxs)(c.ZP,{container:!0,className:t.objectGeneral,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,T.jsx)(B,{icon:(0,T.jsx)("div",{className:t.download,children:(0,T.jsx)(b.Q_,{})}),title:"GET",throughput:x,objects:f})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,T.jsx)(B,{icon:(0,T.jsx)("div",{className:t.upload,children:(0,T.jsx)(b.jh,{})}),title:"PUT",throughput:g,objects:j})})]})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,T.jsx)(w.h,{width:"99%",children:(0,T.jsxs)(k.T,{data:E,children:[(0,T.jsxs)("defs",{children:[(0,T.jsxs)("linearGradient",{id:"colorPut",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,T.jsx)("stop",{offset:"0%",stopColor:"#2781B0",stopOpacity:.9}),(0,T.jsx)("stop",{offset:"95%",stopColor:"#fff",stopOpacity:0})]}),(0,T.jsxs)("linearGradient",{id:"colorGet",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,T.jsx)("stop",{offset:"0%",stopColor:"#4CCB92",stopOpacity:.9}),(0,T.jsx)("stop",{offset:"95%",stopColor:"#fff",stopOpacity:0})]})]}),(0,T.jsx)(P.q,{strokeDasharray:"0 0",strokeWidth:1,strokeOpacity:.5,stroke:"#F1F1F1",vertical:!1}),(0,T.jsx)(N.u,{type:"monotone",dataKey:"get",stroke:"#4CCB92",fill:"url(#colorGet)",fillOpacity:.3,strokeWidth:2,dot:!1}),(0,T.jsx)(N.u,{type:"monotone",dataKey:"put",stroke:"#2781B0",fill:"url(#colorPut)",fillOpacity:.3,strokeWidth:2,dot:!1})]})})})]}),(0,T.jsx)("br",{}),E.length>1&&(0,T.jsxs)(s.Fragment,{children:[(0,T.jsxs)(c.ZP,{container:!0,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,className:t.descriptorLabel,children:o?(0,T.jsx)(s.Fragment,{children:"Preliminar Results:"}):(0,T.jsx)(s.Fragment,{children:d?"JSON Results:":"Detailed Results:"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,className:t.actionButtons,children:!o&&(0,T.jsxs)(s.Fragment,{children:[(0,T.jsx)(C.Z,{"aria-label":"Download",onClick:function(){var e=new Date,t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+JSON.stringify(p)),t.setAttribute("download","speedtest_results-".concat(e.toISOString(),".log")),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)},size:"large",children:(0,T.jsx)(b._8,{})}),"\xa0",(0,T.jsx)(C.Z,{"aria-label":"Download",onClick:function(){u(!d)},size:"large",children:(0,T.jsx)(b.iH,{})})]})})]}),(0,T.jsx)(c.ZP,{container:!0,className:t.resultsContainer,children:d?(0,T.jsx)(s.Fragment,{children:(0,T.jsx)(S.Z,{value:F,readOnly:!0,onBeforeChange:function(){}})}):(0,T.jsxs)(s.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,sm:12,md:1,lg:1,className:t.resultsIcon,alignItems:"flex-end",children:(0,T.jsx)(b.UM,{width:45})}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Nodes:\xa0",(0,T.jsx)("strong",{children:p.servers})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Drives:\xa0",(0,T.jsx)("strong",{children:p.disks})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Concurrent:\xa0",(0,T.jsx)("strong",{children:p.concurrent})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,sm:12,md:12,lg:5,className:t.detailedVersion,children:[(0,T.jsx)("span",{className:t.versionIcon,children:(0,T.jsx)(b.Db,{})})," ","MinIO VERSION\xa0",(0,T.jsx)("strong",{children:p.version})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:t.tableOverflow,children:(0,T.jsxs)("table",{className:t.serversTable,cellSpacing:0,cellPadding:0,children:[(0,T.jsx)("thead",{children:(0,T.jsxs)("tr",{children:[(0,T.jsx)("th",{colSpan:2,children:"Servers"}),(0,T.jsx)("th",{children:"GET"}),(0,T.jsx)("th",{children:"PUT"})]})}),(0,T.jsx)("tbody",{children:v.map((function(e,n){return(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{className:t.serverIcon,children:(0,T.jsx)(b.id,{})}),(0,T.jsx)("td",{className:t.serverHost,children:e.host}),e.getError&&""!==e.getError?(0,T.jsx)("td",{children:e.getError}):(0,T.jsx)(s.Fragment,{children:(0,T.jsxs)("td",{className:t.serverValue,children:[(0,y.CE)(parseFloat(e.getValue)),"\xa0",e.getUnit,"/s."]})}),e.putError&&""!==e.putError?(0,T.jsx)("td",{children:e.putError}):(0,T.jsx)(s.Fragment,{children:(0,T.jsxs)("td",{className:t.serverValue,children:[(0,y.CE)(parseFloat(e.putValue)),"\xa0",e.putUnit,"/s."]})})]},"storage-".concat(n.toString()))}))})]})})]})})]})]})})),I=n(66964),O=n(54415),L=n(1365),R=n(25534),z=n(30140),A=n(10660),M=n(8235),V=n(47424),G=n(41227),U=(0,a.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),null)((0,p.Z)((function(e){return(0,u.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({advancedContent:{backgroundColor:"#FBFAFA",maxHeight:0,transitionDuration:"0.3s",overflow:"hidden",padding:"0 15px",marginTop:15,justifyContent:"space-between","&.open":{maxHeight:400,paddingBottom:15}},stepProgressText:{fontSize:13,marginBottom:8},advancedOption:{marginTop:20},advancedAutotune:{marginTop:10}},f.S),f.OR),f.qg),f.DF),(0,f.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.distributedSetup,o=(0,s.useState)(!1),a=(0,r.Z)(o,2),u=a[0],p=a[1],m=(0,s.useState)(null),f=(0,r.Z)(m,2),v=f[0],Z=f[1],y=(0,s.useState)("64"),C=(0,r.Z)(y,2),S=C[0],w=C[1],k=(0,s.useState)("MB"),P=(0,r.Z)(k,2),N=P[0],F=P[1],B=(0,s.useState)(0),U=(0,r.Z)(B,2),W=U[0],_=U[1],D=(0,s.useState)(0),H=(0,r.Z)(D,2),q=H[0],K=H[1],J=(0,s.useState)(0),Y=(0,r.Z)(J,2),Q=Y[0],$=Y[1],X=(0,s.useState)(0),ee=(0,r.Z)(X,2),te=ee[0],ne=ee[1];return(0,s.useEffect)((function(){if(u){var e=new URL(window.location.toString()),t=e.port,n=(0,g.x2)(e.protocol),r=new l.w3cwebsocket("".concat(n,"://").concat(e.hostname,":").concat(t,"/ws/speedtest?&size=").concat(S).concat(N)),o=h()(),s=o.unix()/1e3,a=o.add(2*parseInt("10"),"s").unix()/1e3,c=(a-s)/1e3;_(a),K(s),$(c);var d=null;if(null!==r)return r.onopen=function(){console.log("WebSocket Client Connected"),r.send("ok"),d=setInterval((function(){r.send("ok")}),1e4)},r.onmessage=function(e){var t=JSON.parse(e.data.toString());Z((function(e){var n=[];e&&(n=(0,i.Z)(e));var r=0!==t.servers?[t]:[];return[].concat((0,i.Z)(n),r)}));var n=h()().unix()/1e3;K(n)},r.onclose=function(){clearInterval(d),console.log("connection closed by server"),p(!1)},function(){r.close(1e3),clearInterval(d),console.log("closing websockets")}}else p(!1)}),[S,N,u]),(0,s.useEffect)((function(){var e=100-100*((W-q)/1e3)/Q;e>100&&(e=100),ne(e)}),[u,q,W,Q]),(0,T.jsxs)(s.Fragment,{children:[(0,T.jsx)(x.Z,{label:"Performance"}),(0,T.jsx)(R.Z,{children:n?(0,T.jsxs)(z.s,{scopes:[j.Ft.ADMIN_HEAL],resource:j.C3,children:[(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:t.boxy,children:[(0,T.jsxs)(c.ZP,{container:!0,children:[(0,T.jsxs)(c.ZP,{item:!0,md:6,sm:12,children:[(0,T.jsx)("div",{className:t.stepProgressText,children:u?(0,T.jsxs)(s.Fragment,{children:["Speedtest in progress...",(0,T.jsx)(G.Z,{style:{width:15,height:15}})]}):(0,T.jsx)(s.Fragment,{children:v&&!u?(0,T.jsx)("b",{children:"Speed Test results:"}):(0,T.jsx)("b",{children:"Performance test"})})}),(0,T.jsx)("div",{children:(0,T.jsx)(O.Z,{value:te,ready:null!==v&&!u,indeterminate:u,size:"small"})})]}),(0,T.jsx)(c.ZP,{item:!0,xs:4,children:(0,T.jsx)("div",{style:{marginLeft:10,width:300},children:(0,T.jsx)(I.Z,{id:"size",name:"size",label:"Object Size",onChange:function(e){w(e.target.value)},noLabelMinWidth:!0,value:S,disabled:u,overlayObject:(0,T.jsx)(L.Z,{id:"size-unit",onUnitChange:F,unitSelected:N,unitsList:[{label:"KiB",value:"KiB"},{label:"MiB",value:"MiB"},{label:"GiB",value:"GiB"}],disabled:u})})})}),(0,T.jsx)(c.ZP,{item:!0,xs:2,textAlign:"right",children:(0,T.jsxs)(d.Z,{onClick:function(){Z(null),p(!0)},color:"primary",type:"button",id:"start-speed-test",variant:null===v||u?"outlined":"contained",className:"".concat(t.buttonBackground," ").concat(t.speedStart),disabled:""==="10".trim()||""===S.trim()||u,children:[!u&&(0,T.jsx)(s.Fragment,{children:null!==v?"Retest":"Start"}),u?"Start":""]})})]}),(0,T.jsx)(c.ZP,{container:!0,className:t.multiModule,children:(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(s.Fragment,{children:(0,T.jsx)(c.ZP,{item:!0,xs:12,children:null!==v&&(0,T.jsx)(s.Fragment,{children:(0,T.jsx)(E,{results:v,start:u})})})})})})]}),!u&&!v&&(0,T.jsxs)(s.Fragment,{children:[(0,T.jsx)("br",{}),(0,T.jsx)(M.Z,{title:"During the speed test all your production traffic will be temporarily suspended.",iconComponent:(0,T.jsx)(V.Z,{}),help:(0,T.jsx)(s.Fragment,{})})]})]}):(0,T.jsx)(A.Z,{iconComponent:(0,T.jsx)(b.QB,{}),entity:"Speedtest"})})]})})))},51774:function(e,t,n){"use strict";n.d(t,{V9:function(){return i},ci:function(){return r},HE:function(){return o},x2:function(){return s}});var i=1006,r=1008,o=1011,s=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},4247:function(e,t,n){"use strict";n.d(t,{V:function(){return r}});var i=n(10594);function r(e){return(0,i.Z)("MuiDivider",e)}var o=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=o},31680:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var i=n(36222),r=n(1048),o=n(32793),s=n(50390),a=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),h=n(40839),x=n(3299),f=n(4247),g=n(2198),b=n(23586),j=n(10594);function v(e){return(0,j.Z)("MuiMenuItem",e)}var Z=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!r.disableGutters&&{paddingLeft:16,paddingRight:16},r.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(Z.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(Z.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(Z.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(Z.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(Z.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(f.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(g.Z.root),{minWidth:36}),t),!r.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),r.dense&&(0,o.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(g.Z.root," svg"),{fontSize:"1.25rem"})))})),w=s.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,c=void 0!==i&&i,d=n.component,m=void 0===d?"li":d,f=n.dense,g=void 0!==f&&f,b=n.divider,j=void 0!==b&&b,Z=n.disableGutters,w=void 0!==Z&&Z,k=n.focusVisibleClassName,P=n.role,N=void 0===P?"menuitem":P,F=n.tabIndex,T=(0,r.Z)(n,C),B=s.useContext(p.Z),E={dense:g||B.dense||!1,disableGutters:w},I=s.useRef(null);(0,h.Z)((function(){c&&I.current&&I.current.focus()}),[c]);var O,L=(0,o.Z)({},n,{dense:E.dense,divider:j,disableGutters:w}),R=function(e){var t=e.disabled,n=e.dense,i=e.divider,r=e.disableGutters,s=e.selected,a=e.classes,c={root:["root",n&&"dense",t&&"disabled",!r&&"gutters",i&&"divider",s&&"selected"]},d=(0,l.Z)(c,v,a);return(0,o.Z)({},a,d)}(n),z=(0,x.Z)(I,t);return n.disabled||(O=void 0!==F?F:-1),(0,y.jsx)(p.Z.Provider,{value:E,children:(0,y.jsx)(S,(0,o.Z)({ref:z,role:N,tabIndex:O,component:m,focusVisibleClassName:(0,a.Z)(R.focusVisible,k)},T,{ownerState:L,classes:R}))})}))},3930:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},69686:function(e,t,n){var i;if("object"===typeof globalThis)i=globalThis;else try{i=n(3930)}catch(a){}finally{if(i||"undefined"===typeof window||(i=window),!i)throw new Error("Could not determine global this")}var r=i.WebSocket||i.MozWebSocket,o=n(84994);function s(e,t){return t?new r(e,t):new r(e)}r&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(s,e,{get:function(){return r[e]}})})),e.exports={w3cwebsocket:r?s:null,version:o}},84994:function(e,t,n){e.exports=n(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); -//# sourceMappingURL=5822.fa49be62.chunk.js.map \ No newline at end of file +(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5822],{8235:function(e,t,n){"use strict";n(50390);var i=n(86509),r=n(4285),o=n(25594),s=n(62559);t.Z=(0,r.Z)((function(e){return(0,i.Z)({root:{border:"1px solid #E2E2E2",borderRadius:2,backgroundColor:"#FBFAFA",paddingLeft:25,paddingTop:31,paddingBottom:21,paddingRight:30},leftItems:{fontSize:16,fontWeight:"bold",marginBottom:15,display:"flex",alignItems:"center","& .min-icon":{marginRight:15,height:28,width:38}},helpText:{fontSize:16,paddingLeft:5}})}))((function(e){var t=e.classes,n=e.iconComponent,i=e.title,r=e.help;return(0,s.jsx)("div",{className:t.root,children:(0,s.jsxs)(o.ZP,{container:!0,children:[(0,s.jsxs)(o.ZP,{item:!0,xs:12,className:t.leftItems,children:[n,i]}),(0,s.jsx)(o.ZP,{item:!0,xs:12,className:t.helpText,children:r})]})})}))},53224:function(e,t,n){"use strict";var i=n(18489),r=n(83738),o=(n(50390),n(70758)),s=n(62449),a=n(62559),l=["onClick","text","disabled","tooltip","icon"],c=(0,s.Z)((function(e){return{root:{padding:"7px",color:function(t){return function(t){var n=t.variant,i=t.color,r=e.palette.primary.main;return"primary"===i&&"contained"===n?r=e.palette.primary.contrastText:"primary"===i&&"outlined"===n?r=e.palette.primary.main:"secondary"===i&&(r=e.palette.secondary.main),r}(t)},borderColor:function(t){return"secondary"===t.color?e.palette.secondary.main:e.palette.primary.main},"& svg.min-icon":{width:12,marginLeft:function(e){return e.text?"5px":"0px"},"@media (max-width: 900px)":{width:16,marginLeft:"0px !important"}}}}}));t.Z=function(e){var t=c(e),n=e.onClick,s=e.text,d=void 0===s?"":s,u=e.disabled,p=void 0!==u&&u,m=e.tooltip,h=e.icon,x=void 0===h?null:h,f=(0,r.Z)(e,l);return(0,a.jsxs)(o.Z,(0,i.Z)((0,i.Z)({classes:t,tooltip:m||d,variant:"outlined",onClick:n,disabled:p,color:"secondary",size:"medium",sx:{border:"1px solid #f44336","& span":{fontSize:14,"@media (max-width: 900px)":{display:"none"}}}},f),{},{children:[(0,a.jsx)("span",{children:d})," ",x]}))}},70758:function(e,t,n){"use strict";var i=n(18489),r=n(36222),o=n(83738),s=(n(50390),n(86509)),a=n(4285),l=n(95467),c=n(94187),d=n(44977),u=n(62559),p=["classes","children","variant","tooltip"];t.Z=(0,a.Z)((function(e){return(0,s.Z)({root:{padding:8,marginLeft:8,borderWidth:1,borderColor:"#696969",color:"#696969",borderStyle:"solid",borderRadius:3,"& .min-icon":{width:20},"& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.main,borderRadius:3,opacity:.3},"&:disabled":{color:"#EBEBEB",borderColor:"#EBEBEB"}},contained:{borderColor:e.palette.primary.main,background:e.palette.primary.main,color:"white","& .MuiTouchRipple-root span":{backgroundColor:e.palette.primary.dark,borderRadius:3,opacity:.3},"&:hover":{backgroundColor:e.palette.primary.light,color:"#FFF"}}})}))((function(e){var t=e.classes,n=e.children,s=e.variant,a=void 0===s?"outlined":s,m=e.tooltip,h=(0,o.Z)(e,p),x=(0,u.jsx)(l.Z,(0,i.Z)((0,i.Z)({},h),{},{className:(0,d.Z)(t.root,(0,r.Z)({},t.contained,"contained"===a)),children:n}));return m&&""!==m?(0,u.jsx)(c.Z,{title:m,children:(0,u.jsx)("span",{children:x})}):x}))},10660:function(e,t,n){"use strict";n(50390);var i=n(25594),r=n(56805),o=n(8235),s=n(62559);t.Z=function(e){var t=e.iconComponent,n=e.entity;return(0,s.jsx)(i.ZP,{container:!0,alignItems:"center",children:(0,s.jsx)(i.ZP,{item:!0,xs:12,children:(0,s.jsx)(o.Z,{title:"".concat(n," not available"),iconComponent:t,help:(0,s.jsxs)(r.Z,{sx:{fontSize:"14px",display:"flex",border:"none",flexFlow:{xs:"column",md:"row"},"& a":{color:function(e){return e.colors.link},textDecoration:"underline"}},children:[(0,s.jsx)("div",{children:"This feature is not available for a single-disk setup. "}),(0,s.jsxs)("div",{children:["Please deploy a server in"," ",(0,s.jsx)("a",{href:"https://docs.min.io/minio/baremetal/installation/deploy-minio-distributed.html?ref=con",target:"_blank",rel:"noreferrer",children:"Distributed Mode"})," ","to use this feature."]})]})})})})}},70014:function(e,t,n){"use strict";var i=n(35531),r=n(23430),o=n(18489),s=n(50390),a=n(25594),l=(n(2574),n(20704)),c=n(54880),d=n(21563),u=n(36297),p=n(36554),m=n(94187),h=n(56805),x=n(86509),f=n(4285),g=n(97538),b=n(72462),j=n(14549),v=n(53224),Z=n(33034),y=n.n(Z),C=n(53357),S=n(62559),w={json:d.AV,yaml:function(){return c.i.define(u.r)}},k=C.tk.theme({"&":{backgroundColor:"#FBFAFA"},".cm-content":{caretColor:"#05122B"},"&.cm-focused .cm-cursor":{borderLeftColor:"#05122B"},".cm-gutters":{backgroundColor:"#FBFAFA",color:"#000000",border:"none"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px",color:"#2781B0","& .\u037cc":{color:"#C83B51"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#dde1f1"},".cm-matchingBracket":{backgroundColor:"#05122B",color:"#ffffff"},".cm-selectionMatch":{backgroundColor:"#ebe7f1"},".cm-selectionLayer":{fontWeight:500}," .cm-selectionBackground":{backgroundColor:"#a180c7",color:"#ffffff"}},{dark:!1}),P=C.tk.theme({"&":{backgroundColor:"#282a36",color:"#ffb86c"},".cm-gutter.cm-foldGutter":{borderRight:"1px solid #eaeaea"},".cm-gutterElement":{fontSize:"13px"},".cm-line":{fontSize:"13px","& .\u037cd, & .\u037cc":{color:"#8e6cef"}},"& .\u037cb":{color:"#2781B0"},".cm-activeLine":{backgroundColor:"#44475a"},".cm-matchingBracket":{backgroundColor:"#842de5",color:"#ff79c6"},".cm-selectionLayer .cm-selectionBackground":{backgroundColor:"green"}},{dark:!0});t.Z=(0,f.Z)((function(e){return(0,x.Z)((0,o.Z)((0,o.Z)({},b.YI),{},{inputLabel:(0,o.Z)((0,o.Z)({},b.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.value,n=e.label,o=void 0===n?"":n,c=e.tooltip,d=void 0===c?"":c,u=e.mode,x=void 0===u?"json":u,f=e.classes,b=e.onBeforeChange,Z=e.readOnly,C=void 0!==Z&&Z,N=e.editorHeight,F=void 0===N?"250px":N,T=(0,s.useState)(!1),B=(0,r.Z)(T,2),E=B[0],I=B[1],O=[];return w[x]&&(O=[].concat((0,i.Z)(O),[w[x]()])),(0,S.jsxs)(s.Fragment,{children:[(0,S.jsxs)(p.Z,{className:f.inputLabel,children:[(0,S.jsx)("span",{children:o}),""!==d&&(0,S.jsx)("div",{className:f.tooltipContainer,children:(0,S.jsx)(m.Z,{title:d,placement:"top-start",children:(0,S.jsx)("div",{className:f.tooltip,children:(0,S.jsx)(g.Z,{})})})})]}),(0,S.jsx)(a.ZP,{item:!0,xs:12,children:(0,S.jsx)("br",{})}),(0,S.jsxs)(a.ZP,{item:!0,xs:12,sx:{border:"1px solid #eaeaea"},children:[(0,S.jsx)(a.ZP,{item:!0,xs:12,children:(0,S.jsx)(l.ZP,{value:t,theme:E?P:k,extensions:O,editable:!C,basicSetup:!0,height:F,onChange:function(e,t){b(null,null,e)}})}),(0,S.jsx)(a.ZP,{item:!0,xs:12,sx:{borderTop:"1px solid #eaeaea",background:E?"#282c34":"#f7f7f7"},children:(0,S.jsxs)(h.Z,{sx:{display:"flex",alignItems:"center",padding:"2px",paddingRight:"5px",justifyContent:"flex-end","& button":{height:"26px",width:"26px",padding:"2px"," .min-icon":{marginLeft:"0"}}},children:[(0,S.jsx)(v.Z,{tooltip:"Change theme",onClick:function(){I(!E)},text:"",icon:(0,S.jsx)(j.EO,{}),color:"primary",variant:"outlined"}),(0,S.jsx)(y(),{text:t,children:(0,S.jsx)(v.Z,{tooltip:"Copy to Clipboard",onClick:function(){},text:"",icon:(0,S.jsx)(j.TI,{}),color:"primary",variant:"outlined"})})]})})]})]})}))},66964:function(e,t,n){"use strict";var i=n(18489),r=n(50390),o=n(12066),s=n(25594),a=n(36554),l=n(94187),c=n(95467),d=n(86509),u=n(62449),p=n(4285),m=n(72462),h=n(97538),x=n(44977),f=n(62559),g=(0,u.Z)((function(e){return(0,d.Z)((0,i.Z)({},m.gM))}));function b(e){var t=g();return(0,f.jsx)(o.Z,(0,i.Z)({InputProps:{classes:t}},e))}t.Z=(0,p.Z)((function(e){return(0,d.Z)((0,i.Z)((0,i.Z)((0,i.Z)({},m.YI),m.Hr),{},{textBoxContainer:{flexGrow:1,position:"relative"},overlayAction:{position:"absolute",right:5,top:6,"& svg":{maxWidth:15,maxHeight:15},"&.withLabel":{top:5}},inputLabel:(0,i.Z)((0,i.Z)({},m.YI.inputLabel),{},{fontWeight:"normal"})}))}))((function(e){var t=e.label,n=e.onChange,o=e.value,d=e.id,u=e.name,p=e.type,m=void 0===p?"text":p,g=e.autoComplete,j=void 0===g?"off":g,v=e.disabled,Z=void 0!==v&&v,y=e.multiline,C=void 0!==y&&y,S=e.tooltip,w=void 0===S?"":S,k=e.index,P=void 0===k?0:k,N=e.error,F=void 0===N?"":N,T=e.required,B=void 0!==T&&T,E=e.placeholder,I=void 0===E?"":E,O=e.min,L=e.max,R=e.overlayId,z=e.overlayIcon,A=void 0===z?null:z,M=e.overlayObject,V=void 0===M?null:M,G=e.extraInputProps,U=void 0===G?{}:G,W=e.overlayAction,_=e.noLabelMinWidth,D=void 0!==_&&_,H=e.pattern,q=void 0===H?"":H,K=e.autoFocus,J=void 0!==K&&K,Y=e.classes,Q=e.className,$=void 0===Q?"":Q,X=e.onKeyPress,ee=(0,i.Z)({"data-index":P},U);return"number"===m&&O&&(ee.min=O),"number"===m&&L&&(ee.max=L),""!==q&&(ee.pattern=q),(0,f.jsx)(r.Fragment,{children:(0,f.jsxs)(s.ZP,{container:!0,className:(0,x.Z)(""!==$?$:"",""!==F?Y.errorInField:Y.inputBoxContainer),children:[""!==t&&(0,f.jsxs)(a.Z,{htmlFor:d,className:D?Y.noMinWidthLabel:Y.inputLabel,children:[(0,f.jsxs)("span",{children:[t,B?"*":""]}),""!==w&&(0,f.jsx)("div",{className:Y.tooltipContainer,children:(0,f.jsx)(l.Z,{title:w,placement:"top-start",children:(0,f.jsx)("div",{className:Y.tooltip,children:(0,f.jsx)(h.Z,{})})})})]}),(0,f.jsxs)("div",{className:Y.textBoxContainer,children:[(0,f.jsx)(b,{id:d,name:u,fullWidth:!0,value:o,autoFocus:J,disabled:Z,onChange:n,type:m,multiline:C,autoComplete:j,inputProps:ee,error:""!==F,helperText:F,placeholder:I,className:Y.inputRebase,onKeyPress:X}),A&&(0,f.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==t?"withLabel":""),children:(0,f.jsx)(c.Z,{onClick:W?function(){W()}:function(){return null},id:R,size:"small",disableFocusRipple:!1,disableRipple:!1,disableTouchRipple:!1,children:A})}),V&&(0,f.jsx)("div",{className:"".concat(Y.overlayAction," ").concat(""!==t?"withLabel":""),children:V})]})]})})}))},1365:function(e,t,n){"use strict";var i=n(23430),r=n(50390),o=n(86509),s=n(4285),a=n(26936),l=n(31680),c=n(62559);t.Z=(0,s.Z)((function(e){return(0,o.Z)({buttonTrigger:{border:"#F0F2F2 1px solid",borderRadius:3,color:"#838383",backgroundColor:"#fff",fontSize:12}})}))((function(e){var t=e.classes,n=e.id,o=e.unitSelected,s=e.unitsList,d=e.disabled,u=void 0!==d&&d,p=e.onUnitChange,m=r.useState(null),h=(0,i.Z)(m,2),x=h[0],f=h[1],g=Boolean(x),b=function(e){f(null),""!==e&&p&&p(e)};return(0,c.jsxs)(r.Fragment,{children:[(0,c.jsx)("button",{id:"".concat(n,"-button"),"aria-controls":"".concat(n,"-menu"),"aria-haspopup":"true","aria-expanded":g?"true":void 0,onClick:function(e){f(e.currentTarget)},className:t.buttonTrigger,disabled:u,type:"button",children:o}),(0,c.jsx)(a.Z,{id:"".concat(n,"-menu"),"aria-labelledby":"".concat(n,"-button"),anchorEl:x,open:g,onClose:function(){b("")},anchorOrigin:{vertical:"bottom",horizontal:"center"},transformOrigin:{vertical:"top",horizontal:"center"},children:s.map((function(e){return(0,c.jsx)(l.Z,{onClick:function(){return b(e.value)},children:e.label},"itemUnit-".concat(e.value,"-").concat(e.label))}))})]})}))},25534:function(e,t,n){"use strict";var i=n(18489),r=(n(50390),n(25594)),o=n(86509),s=n(4285),a=n(72462),l=n(62559);t.Z=(0,s.Z)((function(e){return(0,o.Z)((0,i.Z)({},a.Bw))}))((function(e){var t=e.classes,n=e.className,i=void 0===n?"":n,o=e.children;return(0,l.jsx)("div",{className:t.contentSpacer,children:(0,l.jsx)(r.ZP,{container:!0,children:(0,l.jsx)(r.ZP,{item:!0,xs:12,className:i,children:o})})})}))},35721:function(e,t,n){"use strict";var i=n(50390),r=n(34424),o=n(25594),s=n(86509),a=n(4285),l=n(35477),c=n(95467),d=n(26805),u=n(44078),p=n(5265),m=n(14549),h=n(62559),x={toggleList:p.kQ},f=(0,r.$j)((function(e){return{sidebarOpen:e.system.sidebarOpen,operatorMode:e.system.operatorMode,managerObjects:e.objectBrowser.objectManager.objectsToManage,features:e.console.session.features}}),x);t.Z=f((0,a.Z)((function(e){return(0,s.Z)({headerContainer:{width:"100%",minHeight:79,display:"flex",backgroundColor:"#fff",left:0,boxShadow:"rgba(0,0,0,.08) 0 3px 10px"},label:{display:"flex",justifyContent:"flex-start",alignItems:"center"},labelStyle:{color:"#000",fontSize:18,fontWeight:700,marginLeft:21,marginTop:8},rightMenu:{textAlign:"right"},logo:{marginLeft:34,fill:e.palette.primary.main,"& .min-icon":{width:120}},middleComponent:{display:"flex",justifyContent:"center",alignItems:"center"}})}))((function(e){var t=e.classes,n=e.label,r=e.actions,s=e.sidebarOpen,a=e.operatorMode,p=e.managerObjects,x=e.toggleList,f=e.middleComponent;return e.features.includes("hide-menu")?(0,h.jsx)(i.Fragment,{}):(0,h.jsxs)(o.ZP,{container:!0,className:"".concat(t.headerContainer," page-header"),direction:"row",alignItems:"center",children:[(0,h.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.label,sx:{paddingTop:["15px","15px","0","0"]},children:[!s&&(0,h.jsx)("div",{className:t.logo,children:a?(0,h.jsx)(d.Z,{}):(0,h.jsx)(u.Z,{})}),(0,h.jsx)(l.Z,{variant:"h4",className:t.labelStyle,children:n})]}),f&&(0,h.jsx)(o.ZP,{item:!0,xs:12,sm:12,md:6,className:t.middleComponent,sx:{marginTop:["10px","10px","0","0"]},children:f}),(0,h.jsxs)(o.ZP,{item:!0,xs:12,sm:12,md:f?3:6,className:t.rightMenu,children:[r&&r,p&&p.length>0&&(0,h.jsx)(c.Z,{color:"primary","aria-label":"Refresh List",component:"span",onClick:function(){x()},id:"object-manager-toggle",size:"large",children:(0,h.jsx)(m.gx,{})})]})]})})))},54415:function(e,t,n){"use strict";var i=n(18489),r=n(36222),o=(n(50390),n(8208)),s=n(81378),a=n(55179),l=n(56805),c=n(62559),d=(0,o.ZP)(s.Z)((function(){var e;return e={height:10,borderRadius:5},(0,r.Z)(e,"&.".concat(a.Z.colorPrimary),{backgroundColor:"#f1f1f1"}),(0,r.Z)(e,"& .".concat(a.Z.bar),{borderRadius:5}),e})),u=(0,o.ZP)(d)((function(){return(0,r.Z)({height:6,borderRadius:3},"& .".concat(a.Z.bar),{borderRadius:3})}));function p(e){return(0,c.jsxs)(l.Z,{sx:{display:"flex",alignItems:"center"},children:[(0,c.jsx)(l.Z,{sx:{width:"100%",mr:1},children:(0,c.jsx)(d,(0,i.Z)({variant:"determinate"},e))}),(0,c.jsx)(l.Z,{sx:{minWidth:35,fontSize:14},className:"value",children:"".concat(Math.round(e.value||0),"%")})]})}t.Z=function(e){var t=e.value,n=e.ready,r=e.indeterminate,o=e.withLabel,s=e.size,a=void 0===s?"regular":s,l={variant:r&&!n?"indeterminate":"determinate",value:n?100:t,color:n?"success":"primary"};return o?(0,c.jsx)(p,(0,i.Z)({},l)):"small"===a?(0,c.jsx)(u,(0,i.Z)({},l)):(0,c.jsx)(d,(0,i.Z)({},l))}},22189:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return U}});var i=n(35531),r=n(23430),o=n(18489),s=n(50390),a=n(34424),l=n(69686),c=n(25594),d=n(66946),u=n(86509),p=n(4285),m=n(60606),h=n.n(m),x=n(35721),f=n(72462),g=n(51774),b=n(14549),j=n(49495),v=n(38342),Z=n.n(v),y=n(28948),C=n(70758),S=n(70014),w=n(88970),k=n(86072),P=n(84930),N=n(84109),F=n(44977),T=n(62559),B=(0,p.Z)((function(e){return(0,u.Z)({objectGeneralTitle:{lineHeight:1,fontSize:50,color:"#696969"},generalUnit:{color:"#000",fontSize:12,fontWeight:"bold"},testUnitRes:{fontSize:60,color:"#081C42",fontWeight:"bold",textAlign:"right"},metricValContainer:{lineHeight:1,verticalAlign:"bottom"},objectsUnitRes:{fontSize:22,marginTop:6,color:"#696969",fontWeight:"bold",textAlign:"right"},objectsUnit:{color:"#696969",fontSize:16,fontWeight:"bold"},iconTd:{verticalAlign:"bottom"}})}))((function(e){var t=e.classes,n=e.title,i=e.icon,r=e.throughput,o=e.objects,s=(0,y.Am)(r),a="0",l="";return 0!==s.total&&(a=s.total.toString(),l="".concat(s.unit,"/s")),(0,T.jsxs)("table",{children:[(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{className:t.objectGeneralTitle,children:n}),(0,T.jsx)("td",{className:t.iconTd,children:i})]}),(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{className:(0,F.Z)(t.metricValContainer,t.testUnitRes),children:a}),(0,T.jsx)("td",{className:(0,F.Z)(t.metricValContainer,t.generalUnit),children:l})]}),(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{className:(0,F.Z)(t.metricValContainer,t.objectsUnitRes),children:o}),(0,T.jsx)("td",{className:(0,F.Z)(t.metricValContainer,t.objectsUnit),children:0!==o&&"Objs/S"})]})]})})),E=(0,p.Z)((function(e){return(0,u.Z)({actionButtons:{textAlign:"right"},descriptorLabel:{fontWeight:"bold",fontSize:14},resultsContainer:{backgroundColor:"#FBFAFA",borderTop:"#F1F1F1 1px solid",marginTop:30,padding:25},resultsIcon:{display:"flex",alignItems:"center","& svg":{fill:"#07193E"}},detailedItem:{display:"flex",alignItems:"center",justifyContent:"flex-start"},detailedVersion:{display:"flex",alignItems:"center",justifyContent:"flex-end"},serversTable:{width:"100%",marginTop:15,"& thead > tr > th":{textAlign:"left",padding:15,fontSize:14,fontWeight:"bold"},"& tbody > tr":{"&:last-of-type":{"& > td":{borderBottom:"#E2E2E2 1px solid"}},"& > td":{borderTop:"#E2E2E2 1px solid",padding:15,fontSize:14,"&:first-of-type":{borderLeft:"#E2E2E2 1px solid"},"&:last-of-type":{borderRight:"#E2E2E2 1px solid"}}}},serverIcon:{width:55},serverValue:{width:140},serverHost:{maxWidth:540,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},tableOverflow:{overflowX:"auto",paddingBottom:15},objectGeneral:{marginTop:15},initialResults:{fontSize:20,fontWeight:"bold",color:"#000",textAlign:"center"},download:{"& .min-icon":{width:35,height:35,color:"rgb(113,200,150)"}},upload:{"& .min-icon":{width:35,height:35,color:"rgb(66,127,172)"}}})}))((function(e){var t=e.classes,n=e.results,o=e.start,a=(0,s.useState)(!1),l=(0,r.Z)(a,2),d=l[0],u=l[1],p=n[n.length-1]||[],m=Z()(p,"GETStats.servers",[])||[],h=Z()(p,"PUTStats.servers",[])||[],x=Z()(p,"GETStats.throughputPerSec",0),f=Z()(p,"GETStats.objectsPerSec",0),g=Z()(p,"PUTStats.throughputPerSec",0),j=Z()(p,"PUTStats.objectsPerSec",0),v=[];m.forEach((function(e){var t=e.endpoint,n=h.find((function(e){return e.endpoint===t})),i={getUnit:"-",getValue:"N/A",host:e.endpoint,putUnit:"-",putValue:"N/A"};if(e.err&&""!==e.err)i.getError=e.err,i.getUnit="-",i.getValue="N/A";else{var r=(0,y.Am)(e.throughputPerSec.toString());i.getUnit=r.unit,i.getValue=r.total.toString()}if(n)if(n.err&&""!==n.err)i.putError=n.err,i.putUnit="-",i.putValue="N/A";else{var o=(0,y.Am)(n.throughputPerSec.toString());i.putUnit=o.unit,i.putValue=o.total.toString()}v.push(i)}));var F=p?JSON.stringify(p,null,4):"",E=function(e){var t=e.filter((function(e){return"0"!==e.version&&0!==e.disks})).map((function(e){var t,n;return{get:(null===(t=e.GETStats)||void 0===t?void 0:t.throughputPerSec)||0,put:(null===(n=e.PUTStats)||void 0===n?void 0:n.throughputPerSec)||0}}));return[{get:0,put:0}].concat((0,i.Z)(t))}(n);return(0,T.jsxs)(s.Fragment,{children:[(0,T.jsxs)(c.ZP,{container:!0,className:t.objectGeneral,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,T.jsxs)(c.ZP,{container:!0,className:t.objectGeneral,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,T.jsx)(B,{icon:(0,T.jsx)("div",{className:t.download,children:(0,T.jsx)(b.Q_,{})}),title:"GET",throughput:x,objects:f})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,T.jsx)(B,{icon:(0,T.jsx)("div",{className:t.upload,children:(0,T.jsx)(b.jh,{})}),title:"PUT",throughput:g,objects:j})})]})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,lg:6,children:(0,T.jsx)(w.h,{width:"99%",children:(0,T.jsxs)(k.T,{data:E,children:[(0,T.jsxs)("defs",{children:[(0,T.jsxs)("linearGradient",{id:"colorPut",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,T.jsx)("stop",{offset:"0%",stopColor:"#2781B0",stopOpacity:.9}),(0,T.jsx)("stop",{offset:"95%",stopColor:"#fff",stopOpacity:0})]}),(0,T.jsxs)("linearGradient",{id:"colorGet",x1:"0",y1:"0",x2:"0",y2:"1",children:[(0,T.jsx)("stop",{offset:"0%",stopColor:"#4CCB92",stopOpacity:.9}),(0,T.jsx)("stop",{offset:"95%",stopColor:"#fff",stopOpacity:0})]})]}),(0,T.jsx)(P.q,{strokeDasharray:"0 0",strokeWidth:1,strokeOpacity:.5,stroke:"#F1F1F1",vertical:!1}),(0,T.jsx)(N.u,{type:"monotone",dataKey:"get",stroke:"#4CCB92",fill:"url(#colorGet)",fillOpacity:.3,strokeWidth:2,dot:!1}),(0,T.jsx)(N.u,{type:"monotone",dataKey:"put",stroke:"#2781B0",fill:"url(#colorPut)",fillOpacity:.3,strokeWidth:2,dot:!1})]})})})]}),(0,T.jsx)("br",{}),E.length>1&&(0,T.jsxs)(s.Fragment,{children:[(0,T.jsxs)(c.ZP,{container:!0,children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,className:t.descriptorLabel,children:o?(0,T.jsx)(s.Fragment,{children:"Preliminar Results:"}):(0,T.jsx)(s.Fragment,{children:d?"JSON Results:":"Detailed Results:"})}),(0,T.jsx)(c.ZP,{item:!0,xs:12,md:6,className:t.actionButtons,children:!o&&(0,T.jsxs)(s.Fragment,{children:[(0,T.jsx)(C.Z,{"aria-label":"Download",onClick:function(){var e=new Date,t=document.createElement("a");t.setAttribute("href","data:text/plain;charset=utf-8,"+JSON.stringify(p)),t.setAttribute("download","speedtest_results-".concat(e.toISOString(),".log")),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t)},size:"large",children:(0,T.jsx)(b._8,{})}),"\xa0",(0,T.jsx)(C.Z,{"aria-label":"Download",onClick:function(){u(!d)},size:"large",children:(0,T.jsx)(b.iH,{})})]})})]}),(0,T.jsx)(c.ZP,{container:!0,className:t.resultsContainer,children:d?(0,T.jsx)(s.Fragment,{children:(0,T.jsx)(S.Z,{value:F,readOnly:!0,onBeforeChange:function(){}})}):(0,T.jsxs)(s.Fragment,{children:[(0,T.jsx)(c.ZP,{item:!0,xs:12,sm:12,md:1,lg:1,className:t.resultsIcon,alignItems:"flex-end",children:(0,T.jsx)(b.UM,{width:45})}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Nodes:\xa0",(0,T.jsx)("strong",{children:p.servers})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Drives:\xa0",(0,T.jsx)("strong",{children:p.disks})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,sm:6,md:3,lg:2,className:t.detailedItem,children:["Concurrent:\xa0",(0,T.jsx)("strong",{children:p.concurrent})]}),(0,T.jsxs)(c.ZP,{item:!0,xs:12,sm:12,md:12,lg:5,className:t.detailedVersion,children:[(0,T.jsx)("span",{className:t.versionIcon,children:(0,T.jsx)(b.Db,{})})," ","MinIO VERSION\xa0",(0,T.jsx)("strong",{children:p.version})]}),(0,T.jsx)(c.ZP,{item:!0,xs:12,className:t.tableOverflow,children:(0,T.jsxs)("table",{className:t.serversTable,cellSpacing:0,cellPadding:0,children:[(0,T.jsx)("thead",{children:(0,T.jsxs)("tr",{children:[(0,T.jsx)("th",{colSpan:2,children:"Servers"}),(0,T.jsx)("th",{children:"GET"}),(0,T.jsx)("th",{children:"PUT"})]})}),(0,T.jsx)("tbody",{children:v.map((function(e,n){return(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{className:t.serverIcon,children:(0,T.jsx)(b.id,{})}),(0,T.jsx)("td",{className:t.serverHost,children:e.host}),e.getError&&""!==e.getError?(0,T.jsx)("td",{children:e.getError}):(0,T.jsx)(s.Fragment,{children:(0,T.jsxs)("td",{className:t.serverValue,children:[(0,y.CE)(parseFloat(e.getValue)),"\xa0",e.getUnit,"/s."]})}),e.putError&&""!==e.putError?(0,T.jsx)("td",{children:e.putError}):(0,T.jsx)(s.Fragment,{children:(0,T.jsxs)("td",{className:t.serverValue,children:[(0,y.CE)(parseFloat(e.putValue)),"\xa0",e.putUnit,"/s."]})})]},"storage-".concat(n.toString()))}))})]})})]})})]})]})})),I=n(66964),O=n(54415),L=n(1365),R=n(25534),z=n(30140),A=n(10660),M=n(8235),V=n(47424),G=n(41227),U=(0,a.$j)((function(e){return{distributedSetup:e.system.distributedSetup}}),null)((0,p.Z)((function(e){return(0,u.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)((0,o.Z)({advancedContent:{backgroundColor:"#FBFAFA",maxHeight:0,transitionDuration:"0.3s",overflow:"hidden",padding:"0 15px",marginTop:15,justifyContent:"space-between","&.open":{maxHeight:400,paddingBottom:15}},stepProgressText:{fontSize:13,marginBottom:8},advancedOption:{marginTop:20},advancedAutotune:{marginTop:10}},f.S),f.OR),f.qg),f.DF),(0,f.Bz)(e.spacing(4))))}))((function(e){var t=e.classes,n=e.distributedSetup,o=(0,s.useState)(!1),a=(0,r.Z)(o,2),u=a[0],p=a[1],m=(0,s.useState)(null),f=(0,r.Z)(m,2),v=f[0],Z=f[1],y=(0,s.useState)("64"),C=(0,r.Z)(y,2),S=C[0],w=C[1],k=(0,s.useState)("MB"),P=(0,r.Z)(k,2),N=P[0],F=P[1],B=(0,s.useState)(0),U=(0,r.Z)(B,2),W=U[0],_=U[1],D=(0,s.useState)(0),H=(0,r.Z)(D,2),q=H[0],K=H[1],J=(0,s.useState)(0),Y=(0,r.Z)(J,2),Q=Y[0],$=Y[1],X=(0,s.useState)(0),ee=(0,r.Z)(X,2),te=ee[0],ne=ee[1];return(0,s.useEffect)((function(){if(u){var e=new URL(window.location.toString()),t=e.port,n=(0,g.x2)(e.protocol),r=new l.w3cwebsocket("".concat(n,"://").concat(e.hostname,":").concat(t,"/ws/speedtest?&size=").concat(S).concat(N)),o=h()(),s=o.unix()/1e3,a=o.add(2*parseInt("10"),"s").unix()/1e3,c=(a-s)/1e3;_(a),K(s),$(c);var d=null;if(null!==r)return r.onopen=function(){console.log("WebSocket Client Connected"),r.send("ok"),d=setInterval((function(){r.send("ok")}),1e4)},r.onmessage=function(e){var t=JSON.parse(e.data.toString());Z((function(e){var n=[];e&&(n=(0,i.Z)(e));var r=0!==t.servers?[t]:[];return[].concat((0,i.Z)(n),r)}));var n=h()().unix()/1e3;K(n)},r.onclose=function(){clearInterval(d),console.log("connection closed by server"),p(!1)},function(){r.close(1e3),clearInterval(d),console.log("closing websockets")}}else p(!1)}),[S,N,u]),(0,s.useEffect)((function(){var e=100-100*((W-q)/1e3)/Q;e>100&&(e=100),ne(e)}),[u,q,W,Q]),(0,T.jsxs)(s.Fragment,{children:[(0,T.jsx)(x.Z,{label:"Performance"}),(0,T.jsx)(R.Z,{children:n?(0,T.jsxs)(z.s,{scopes:[j.Ft.ADMIN_HEAL],resource:j.C3,children:[(0,T.jsxs)(c.ZP,{item:!0,xs:12,className:t.boxy,children:[(0,T.jsxs)(c.ZP,{container:!0,children:[(0,T.jsxs)(c.ZP,{item:!0,md:6,sm:12,children:[(0,T.jsx)("div",{className:t.stepProgressText,children:u?(0,T.jsxs)(s.Fragment,{children:["Speedtest in progress...",(0,T.jsx)(G.Z,{style:{width:15,height:15}})]}):(0,T.jsx)(s.Fragment,{children:v&&!u?(0,T.jsx)("b",{children:"Speed Test results:"}):(0,T.jsx)("b",{children:"Performance test"})})}),(0,T.jsx)("div",{children:(0,T.jsx)(O.Z,{value:te,ready:null!==v&&!u,indeterminate:u,size:"small"})})]}),(0,T.jsx)(c.ZP,{item:!0,xs:4,children:(0,T.jsx)("div",{style:{marginLeft:10,width:300},children:(0,T.jsx)(I.Z,{id:"size",name:"size",label:"Object Size",onChange:function(e){w(e.target.value)},noLabelMinWidth:!0,value:S,disabled:u,overlayObject:(0,T.jsx)(L.Z,{id:"size-unit",onUnitChange:F,unitSelected:N,unitsList:[{label:"KiB",value:"KiB"},{label:"MiB",value:"MiB"},{label:"GiB",value:"GiB"}],disabled:u})})})}),(0,T.jsx)(c.ZP,{item:!0,xs:2,textAlign:"right",children:(0,T.jsxs)(d.Z,{onClick:function(){Z(null),p(!0)},color:"primary",type:"button",id:"start-speed-test",variant:null===v||u?"outlined":"contained",className:"".concat(t.buttonBackground," ").concat(t.speedStart),disabled:""==="10".trim()||""===S.trim()||u,children:[!u&&(0,T.jsx)(s.Fragment,{children:null!==v?"Retest":"Start"}),u?"Start":""]})})]}),(0,T.jsx)(c.ZP,{container:!0,className:t.multiModule,children:(0,T.jsx)(c.ZP,{item:!0,xs:12,children:(0,T.jsx)(s.Fragment,{children:(0,T.jsx)(c.ZP,{item:!0,xs:12,children:null!==v&&(0,T.jsx)(s.Fragment,{children:(0,T.jsx)(E,{results:v,start:u})})})})})})]}),!u&&!v&&(0,T.jsxs)(s.Fragment,{children:[(0,T.jsx)("br",{}),(0,T.jsx)(M.Z,{title:"During the speed test all your production traffic will be temporarily suspended.",iconComponent:(0,T.jsx)(V.Z,{}),help:(0,T.jsx)(s.Fragment,{})})]})]}):(0,T.jsx)(A.Z,{iconComponent:(0,T.jsx)(b.QB,{}),entity:"Speedtest"})})]})})))},51774:function(e,t,n){"use strict";n.d(t,{V9:function(){return i},ci:function(){return r},HE:function(){return o},x2:function(){return s}});var i=1006,r=1008,o=1011,s=function(e){var t="ws";return"https:"===e&&(t="wss"),t}},4247:function(e,t,n){"use strict";n.d(t,{V:function(){return r}});var i=n(10594);function r(e){return(0,i.Z)("MuiDivider",e)}var o=(0,n(43349).Z)("MuiDivider",["root","absolute","fullWidth","inset","middle","flexItem","light","vertical","withChildren","withChildrenVertical","textAlignRight","textAlignLeft","wrapper","wrapperVertical"]);t.Z=o},31680:function(e,t,n){"use strict";n.d(t,{Z:function(){return w}});var i=n(36222),r=n(1048),o=n(32793),s=n(50390),a=n(44977),l=n(50076),c=n(36128),d=n(8208),u=n(15573),p=n(57308),m=n(86875),h=n(40839),x=n(3299),f=n(4247),g=n(2198),b=n(23586),j=n(10594);function v(e){return(0,j.Z)("MuiMenuItem",e)}var Z=(0,n(43349).Z)("MuiMenuItem",["root","focusVisible","dense","disabled","divider","gutters","selected"]),y=n(62559),C=["autoFocus","component","dense","divider","disableGutters","focusVisibleClassName","role","tabIndex"],S=(0,d.ZP)(m.Z,{shouldForwardProp:function(e){return(0,d.FO)(e)||"classes"===e},name:"MuiMenuItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({},n.typography.body1,{display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minHeight:48,paddingTop:6,paddingBottom:6,boxSizing:"border-box",whiteSpace:"nowrap"},!r.disableGutters&&{paddingLeft:16,paddingRight:16},r.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},(t={"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,i.Z)(t,"&.".concat(Z.selected),(0,i.Z)({backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(Z.focusVisible),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,i.Z)(t,"&.".concat(Z.selected,":hover"),{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,c.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,i.Z)(t,"&.".concat(Z.focusVisible),{backgroundColor:n.palette.action.focus}),(0,i.Z)(t,"&.".concat(Z.disabled),{opacity:n.palette.action.disabledOpacity}),(0,i.Z)(t,"& + .".concat(f.Z.root),{marginTop:n.spacing(1),marginBottom:n.spacing(1)}),(0,i.Z)(t,"& + .".concat(f.Z.inset),{marginLeft:52}),(0,i.Z)(t,"& .".concat(b.Z.root),{marginTop:0,marginBottom:0}),(0,i.Z)(t,"& .".concat(b.Z.inset),{paddingLeft:36}),(0,i.Z)(t,"& .".concat(g.Z.root),{minWidth:36}),t),!r.dense&&(0,i.Z)({},n.breakpoints.up("sm"),{minHeight:"auto"}),r.dense&&(0,o.Z)({minHeight:32,paddingTop:4,paddingBottom:4},n.typography.body2,(0,i.Z)({},"& .".concat(g.Z.root," svg"),{fontSize:"1.25rem"})))})),w=s.forwardRef((function(e,t){var n=(0,u.Z)({props:e,name:"MuiMenuItem"}),i=n.autoFocus,c=void 0!==i&&i,d=n.component,m=void 0===d?"li":d,f=n.dense,g=void 0!==f&&f,b=n.divider,j=void 0!==b&&b,Z=n.disableGutters,w=void 0!==Z&&Z,k=n.focusVisibleClassName,P=n.role,N=void 0===P?"menuitem":P,F=n.tabIndex,T=(0,r.Z)(n,C),B=s.useContext(p.Z),E={dense:g||B.dense||!1,disableGutters:w},I=s.useRef(null);(0,h.Z)((function(){c&&I.current&&I.current.focus()}),[c]);var O,L=(0,o.Z)({},n,{dense:E.dense,divider:j,disableGutters:w}),R=function(e){var t=e.disabled,n=e.dense,i=e.divider,r=e.disableGutters,s=e.selected,a=e.classes,c={root:["root",n&&"dense",t&&"disabled",!r&&"gutters",i&&"divider",s&&"selected"]},d=(0,l.Z)(c,v,a);return(0,o.Z)({},a,d)}(n),z=(0,x.Z)(I,t);return n.disabled||(O=void 0!==F?F:-1),(0,y.jsx)(p.Z.Provider,{value:E,children:(0,y.jsx)(S,(0,o.Z)({ref:z,role:N,tabIndex:O,component:m,focusVisibleClassName:(0,a.Z)(R.focusVisible,k)},T,{ownerState:L,classes:R}))})}))},3930:function(e){var t=function(){if("object"===typeof self&&self)return self;if("object"===typeof window&&window)return window;throw new Error("Unable to resolve global `this`")};e.exports=function(){if(this)return this;if("object"===typeof globalThis&&globalThis)return globalThis;try{Object.defineProperty(Object.prototype,"__global__",{get:function(){return this},configurable:!0})}catch(e){return t()}try{return __global__||t()}finally{delete Object.prototype.__global__}}()},69686:function(e,t,n){var i;if("object"===typeof globalThis)i=globalThis;else try{i=n(3930)}catch(a){}finally{if(i||"undefined"===typeof window||(i=window),!i)throw new Error("Could not determine global this")}var r=i.WebSocket||i.MozWebSocket,o=n(84994);function s(e,t){return t?new r(e,t):new r(e)}r&&["CONNECTING","OPEN","CLOSING","CLOSED"].forEach((function(e){Object.defineProperty(s,e,{get:function(){return r[e]}})})),e.exports={w3cwebsocket:r?s:null,version:o}},84994:function(e,t,n){e.exports=n(19794).version},19794:function(e){"use strict";e.exports={version:"1.0.34"}}}]); +//# sourceMappingURL=5822.2e5ca929.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5822.fa49be62.chunk.js.map b/portal-ui/build/static/js/5822.2e5ca929.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/5822.fa49be62.chunk.js.map rename to portal-ui/build/static/js/5822.2e5ca929.chunk.js.map index aee8e0579..779a011f4 100644 --- a/portal-ui/build/static/js/5822.fa49be62.chunk.js.map +++ b/portal-ui/build/static/js/5822.2e5ca929.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5822.fa49be62.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ProgressBarWrapper/ProgressBarWrapper.tsx","screens/Console/Speedtest/SpeedTestUnit.tsx","screens/Console/Speedtest/STResults.tsx","screens/Console/Speedtest/utils.ts","screens/Console/Speedtest/Speedtest.tsx","utils/wsUtils.ts","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
    \n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
    This feature is not available for a single-disk setup.
    \n\n
    \n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
    \n \n }\n />\n
    \n
    \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n \n
    \n
    \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n
    \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange?: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\" && onUnitChange) {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n {unitSelected}\n \n {\n handleClose(\"\");\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {unitsList.map((unit) => (\n handleClose(unit.value)}\n key={`itemUnit-${unit.value}-${unit.label}`}\n >\n {unit.label}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 34,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport LinearProgress, {\n linearProgressClasses,\n LinearProgressProps,\n} from \"@mui/material/LinearProgress\";\nimport Box from \"@mui/material/Box\";\n\ninterface IProgressBarWrapper {\n value: number;\n ready: boolean;\n indeterminate?: boolean;\n withLabel?: boolean;\n size?: string;\n}\n\nconst BorderLinearProgress = styled(LinearProgress)(() => ({\n height: 10,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor: \"#f1f1f1\",\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 5,\n },\n}));\nconst SmallBorderLinearProgress = styled(BorderLinearProgress)(() => ({\n height: 6,\n borderRadius: 3,\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 3,\n },\n}));\n\nfunction LinearProgressWithLabel(props: LinearProgressProps) {\n return (\n \n \n \n \n \n {`${Math.round(props.value || 0)}%`}\n \n \n );\n}\n\nconst ProgressBarWrapper = ({\n value,\n ready,\n indeterminate,\n withLabel,\n size = \"regular\",\n}: IProgressBarWrapper) => {\n const propsComponent: LinearProgressProps = {\n variant: indeterminate && !ready ? \"indeterminate\" : \"determinate\",\n value: ready ? 100 : value,\n color: ready ? \"success\" : \"primary\",\n };\n if (withLabel) {\n return ;\n }\n if (size === \"small\") {\n return ;\n }\n\n return ;\n};\n\nexport default ProgressBarWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { calculateBytes } from \"../../../common/utils\";\nimport React from \"react\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n objectGeneralTitle: {\n lineHeight: 1,\n fontSize: 50,\n color: \"#696969\",\n },\n generalUnit: {\n color: \"#000\",\n fontSize: 12,\n fontWeight: \"bold\",\n },\n testUnitRes: {\n fontSize: 60,\n color: \"#081C42\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n metricValContainer: {\n lineHeight: 1,\n verticalAlign: \"bottom\",\n },\n objectsUnitRes: {\n fontSize: 22,\n marginTop: 6,\n color: \"#696969\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n objectsUnit: {\n color: \"#696969\",\n fontSize: 16,\n fontWeight: \"bold\",\n },\n iconTd: {\n verticalAlign: \"bottom\",\n },\n });\n\nconst SpeedTestUnit = ({\n classes,\n title,\n icon,\n throughput,\n objects,\n}: {\n classes: any;\n title: any;\n icon: any;\n throughput: string;\n objects: number;\n}) => {\n const avg = calculateBytes(throughput);\n\n let total = \"0\";\n let unit = \"\";\n\n if (avg.total !== 0) {\n total = avg.total.toString();\n unit = `${avg.unit}/s`;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {objects}\n \n \n \n
    {title}{icon}
    \n {total}\n \n {unit}\n
    \n {objects !== 0 && \"Objs/S\"}\n
    \n );\n};\nexport default withStyles(styles)(SpeedTestUnit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport { IndvServerMetric, SpeedTestResponse, STServer } from \"./types\";\nimport { calculateBytes, prettyNumber } from \"../../../common/utils\";\nimport {\n ComputerLineIcon,\n DownloadIcon,\n DownloadStatIcon,\n JSONIcon,\n StorageIcon,\n UploadStatIcon,\n VersionIcon,\n} from \"../../../icons\";\nimport BoxIconButton from \"../Common/BoxIconButton/BoxIconButton\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { Area, AreaChart, CartesianGrid, ResponsiveContainer } from \"recharts\";\nimport { cleanMetrics } from \"./utils\";\nimport SpeedTestUnit from \"./SpeedTestUnit\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n actionButtons: {\n textAlign: \"right\",\n },\n descriptorLabel: {\n fontWeight: \"bold\",\n fontSize: 14,\n },\n resultsContainer: {\n backgroundColor: \"#FBFAFA\",\n borderTop: \"#F1F1F1 1px solid\",\n marginTop: 30,\n padding: 25,\n },\n resultsIcon: {\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n fill: \"#07193E\",\n },\n },\n detailedItem: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n detailedVersion: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n serversTable: {\n width: \"100%\",\n marginTop: 15,\n \"& thead > tr > th\": {\n textAlign: \"left\",\n padding: 15,\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& tbody > tr\": {\n \"&:last-of-type\": {\n \"& > td\": {\n borderBottom: \"#E2E2E2 1px solid\",\n },\n },\n \"& > td\": {\n borderTop: \"#E2E2E2 1px solid\",\n padding: 15,\n fontSize: 14,\n \"&:first-of-type\": {\n borderLeft: \"#E2E2E2 1px solid\",\n },\n \"&:last-of-type\": {\n borderRight: \"#E2E2E2 1px solid\",\n },\n },\n },\n },\n serverIcon: {\n width: 55,\n },\n serverValue: {\n width: 140,\n },\n serverHost: {\n maxWidth: 540,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n tableOverflow: {\n overflowX: \"auto\",\n paddingBottom: 15,\n },\n objectGeneral: {\n marginTop: 15,\n },\n initialResults: {\n fontSize: 20,\n fontWeight: \"bold\",\n color: \"#000\",\n textAlign: \"center\",\n },\n download: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(113,200,150)\",\n },\n },\n upload: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(66,127,172)\",\n },\n },\n });\n\ninterface ISTResults {\n classes: any;\n results: SpeedTestResponse[];\n start: boolean;\n}\n\nconst STResults = ({ classes, results, start }: ISTResults) => {\n const [jsonView, setJsonView] = useState(false);\n\n const finalRes = results[results.length - 1] || [];\n\n const getServers: STServer[] = get(finalRes, \"GETStats.servers\", []) || [];\n const putServers: STServer[] = get(finalRes, \"PUTStats.servers\", []) || [];\n\n const getThroughput = get(finalRes, \"GETStats.throughputPerSec\", 0);\n const getObjects = get(finalRes, \"GETStats.objectsPerSec\", 0);\n\n const putThroughput = get(finalRes, \"PUTStats.throughputPerSec\", 0);\n const putObjects = get(finalRes, \"PUTStats.objectsPerSec\", 0);\n\n let statJoin: IndvServerMetric[] = [];\n\n getServers.forEach((item) => {\n const hostName = item.endpoint;\n const putMetric = putServers.find((item) => item.endpoint === hostName);\n\n let itemJoin: IndvServerMetric = {\n getUnit: \"-\",\n getValue: \"N/A\",\n host: item.endpoint,\n putUnit: \"-\",\n putValue: \"N/A\",\n };\n\n if (item.err && item.err !== \"\") {\n itemJoin.getError = item.err;\n itemJoin.getUnit = \"-\";\n itemJoin.getValue = \"N/A\";\n } else {\n const niceGet = calculateBytes(item.throughputPerSec.toString());\n\n itemJoin.getUnit = niceGet.unit;\n itemJoin.getValue = niceGet.total.toString();\n }\n\n if (putMetric) {\n if (putMetric.err && putMetric.err !== \"\") {\n itemJoin.putError = putMetric.err;\n itemJoin.putUnit = \"-\";\n itemJoin.putValue = \"N/A\";\n } else {\n const nicePut = calculateBytes(putMetric.throughputPerSec.toString());\n\n itemJoin.putUnit = nicePut.unit;\n itemJoin.putValue = nicePut.total.toString();\n }\n }\n\n statJoin.push(itemJoin);\n });\n\n const downloadResults = () => {\n const date = new Date();\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + JSON.stringify(finalRes)\n );\n element.setAttribute(\n \"download\",\n `speedtest_results-${date.toISOString()}.log`\n );\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n };\n\n const toggleJSONView = () => {\n setJsonView(!jsonView);\n };\n\n const finalResJSON = finalRes ? JSON.stringify(finalRes, null, 4) : \"\";\n const clnMetrics = cleanMetrics(results);\n\n return (\n \n \n \n \n \n \n \n \n }\n title={\"GET\"}\n throughput={getThroughput}\n objects={getObjects}\n />\n \n \n \n \n \n }\n title={\"PUT\"}\n throughput={putThroughput}\n objects={putObjects}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
    \n {clnMetrics.length > 1 && (\n \n \n \n {start ? (\n Preliminar Results:\n ) : (\n \n {jsonView ? \"JSON Results:\" : \"Detailed Results:\"}\n \n )}\n \n \n {!start && (\n \n \n \n \n  \n \n \n \n \n )}\n \n \n \n {jsonView ? (\n \n {}}\n />\n \n ) : (\n \n \n \n \n \n Nodes: {finalRes.servers}\n \n \n Drives: {finalRes.disks}\n \n \n Concurrent: {finalRes.concurrent}\n \n \n \n \n {\" \"}\n MinIO VERSION {finalRes.version}\n \n \n \n \n \n Servers\n GET\n PUT\n \n \n \n {statJoin.map((stats, index) => (\n \n \n \n \n {stats.host}\n {stats.getError && stats.getError !== \"\" ? (\n {stats.getError}\n ) : (\n \n \n {prettyNumber(parseFloat(stats.getValue))} \n {stats.getUnit}/s.\n \n \n )}\n {stats.putError && stats.putError !== \"\" ? (\n {stats.putError}\n ) : (\n \n \n {prettyNumber(parseFloat(stats.putValue))} \n {stats.putUnit}/s.\n \n \n )}\n \n ))}\n \n \n \n \n )}\n \n
    \n )}\n
    \n );\n};\n\nexport default withStyles(styles)(STResults);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { SpeedTestResponse } from \"./types\";\n\nexport const cleanMetrics = (results: SpeedTestResponse[]) => {\n const cleanRes = results.filter(\n (item) => item.version !== \"0\" && item.disks !== 0\n );\n\n const states = cleanRes.map((itemRes) => {\n return {\n get: itemRes.GETStats?.throughputPerSec || 0,\n put: itemRes.PUTStats?.throughputPerSec || 0,\n };\n });\n\n return [{ get: 0, put: 0 }, ...states];\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport moment from \"moment/moment\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport {\n actionsTray,\n advancedFilterToggleStyles,\n containerForHeader,\n formFieldStyles,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { SpeedTestResponse } from \"./types\";\nimport { AppState } from \"../../../store\";\nimport { SpeedtestIcon } from \"../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport STResults from \"./STResults\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ProgressBarWrapper from \"../Common/ProgressBarWrapper/ProgressBarWrapper\";\nimport InputUnitMenu from \"../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport WarnIcon from \"../../../icons/WarnIcon\";\nimport Loader from \"../Common/Loader/Loader\";\n\ninterface ISpeedtest {\n classes: any;\n distributedSetup: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n advancedContent: {\n backgroundColor: \"#FBFAFA\",\n maxHeight: 0,\n transitionDuration: \"0.3s\",\n overflow: \"hidden\",\n padding: \"0 15px\",\n marginTop: 15,\n justifyContent: \"space-between\",\n \"&.open\": {\n maxHeight: 400,\n paddingBottom: 15,\n },\n },\n\n stepProgressText: {\n fontSize: 13,\n marginBottom: 8,\n },\n advancedOption: {\n marginTop: 20,\n },\n advancedAutotune: {\n marginTop: 10,\n },\n ...advancedFilterToggleStyles,\n ...actionsTray,\n ...searchField,\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Speedtest = ({ classes, distributedSetup }: ISpeedtest) => {\n const [start, setStart] = useState(false);\n\n const [currStatus, setCurrStatus] = useState(\n null\n );\n\n const [size, setSize] = useState(\"64\");\n const [sizeUnit, setSizeUnit] = useState(\"MB\");\n\n const [topDate, setTopDate] = useState(0);\n const [currentValue, setCurrentValue] = useState(0);\n const [totalSeconds, setTotalSeconds] = useState(0);\n const [speedometerValue, setSpeedometerValue] = useState(0);\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/speedtest?&size=${size}${sizeUnit}`\n );\n\n const baseDate = moment();\n\n const currentTime = baseDate.unix() / 1000;\n\n const incrementDate =\n baseDate\n .add(parseInt(\"10\") * 2, \"s\" as moment.unitOfTime.DurationConstructor)\n .unix() / 1000;\n\n const totalSeconds = (incrementDate - currentTime) / 1000;\n\n setTopDate(incrementDate);\n setCurrentValue(currentTime);\n setTotalSeconds(totalSeconds);\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n const data: SpeedTestResponse = JSON.parse(message.data.toString());\n\n setCurrStatus((prevStatus) => {\n let prSt: SpeedTestResponse[] = [];\n if (prevStatus) {\n prSt = [...prevStatus];\n }\n\n const insertData = data.servers !== 0 ? [data] : [];\n return [...prSt, ...insertData];\n });\n\n const currTime = moment().unix() / 1000;\n setCurrentValue(currTime);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n // reset start status\n setStart(false);\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n } else {\n // reset start status\n setStart(false);\n }\n }, [size, sizeUnit, start]);\n\n useEffect(() => {\n const actualSeconds = (topDate - currentValue) / 1000;\n\n let percToDisplay = 100 - (actualSeconds * 100) / totalSeconds;\n\n if (percToDisplay > 100) {\n percToDisplay = 100;\n }\n\n setSpeedometerValue(percToDisplay);\n }, [start, currentValue, topDate, totalSeconds]);\n\n return (\n \n \n \n {!distributedSetup ? (\n }\n entity={\"Speedtest\"}\n />\n ) : (\n \n \n \n \n
    \n {start ? (\n \n Speedtest in progress...\n \n \n ) : (\n \n {currStatus && !start ? (\n Speed Test results:\n ) : (\n Performance test\n )}\n \n )}\n
    \n
    \n \n
    \n
    \n \n
    \n {\n setSize(e.target.value);\n }}\n noLabelMinWidth={true}\n value={size}\n disabled={start}\n overlayObject={\n \n }\n />\n
    \n
    \n \n {\n setCurrStatus(null);\n setStart(true);\n }}\n color=\"primary\"\n type=\"button\"\n id={\"start-speed-test\"}\n variant={\n currStatus !== null && !start ? \"contained\" : \"outlined\"\n }\n className={`${classes.buttonBackground} ${classes.speedStart}`}\n disabled={\"10\".trim() === \"\" || size.trim() === \"\" || start}\n >\n {!start && (\n \n {currStatus !== null ? \"Retest\" : \"Start\"}\n \n )}\n {start ? \"Start\" : \"\"}\n \n \n
    \n \n \n \n \n {currStatus !== null && (\n \n \n \n )}\n \n \n \n \n
    \n\n {!start && !currStatus && (\n \n
    \n }\n help={}\n />\n \n )}\n \n )}\n
    \n
    \n );\n};\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(Speedtest));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","entity","flexFlow","md","colors","link","textDecoration","href","target","rel","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","darkTheme","fieldBasic","inputLabel","value","label","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","extensions","editable","basicSetup","onChange","v","vu","borderTop","justifyContent","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","buttonTrigger","unitSelected","unitsList","onUnitChange","React","anchorEl","setAnchorEl","open","Boolean","handleClose","newUnit","Fragment","undefined","event","currentTarget","onClose","anchorOrigin","vertical","horizontal","transformOrigin","map","unit","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","includes","direction","sm","length","component","BorderLinearProgress","styled","LinearProgress","linearProgressClasses","SmallBorderLinearProgress","LinearProgressWithLabel","mr","minWidth","Math","round","ready","indeterminate","withLabel","propsComponent","objectGeneralTitle","lineHeight","generalUnit","testUnitRes","metricValContainer","verticalAlign","objectsUnitRes","objectsUnit","iconTd","throughput","objects","avg","calculateBytes","total","toString","actionButtons","descriptorLabel","resultsContainer","resultsIcon","detailedItem","detailedVersion","serversTable","borderBottom","borderLeft","serverIcon","serverValue","serverHost","overflow","textOverflow","whiteSpace","tableOverflow","overflowX","objectGeneral","initialResults","download","upload","results","start","jsonView","setJsonView","finalRes","getServers","get","putServers","getThroughput","getObjects","putThroughput","putObjects","statJoin","forEach","hostName","endpoint","putMetric","find","itemJoin","getUnit","getValue","host","putUnit","putValue","err","getError","niceGet","throughputPerSec","putError","nicePut","push","finalResJSON","JSON","stringify","clnMetrics","states","filter","version","disks","itemRes","GETStats","put","PUTStats","cleanMetrics","Grid","lg","ResponsiveContainer","AreaChart","data","x1","y1","x2","y2","offset","stopColor","stopOpacity","CartesianGrid","strokeDasharray","strokeWidth","strokeOpacity","stroke","Area","dataKey","fillOpacity","dot","BoxIconButton","date","Date","element","document","createElement","setAttribute","toISOString","style","body","appendChild","click","removeChild","CodeMirrorWrapper","servers","concurrent","versionIcon","cellSpacing","cellPadding","colSpan","stats","prettyNumber","parseFloat","distributedSetup","advancedContent","transitionDuration","stepProgressText","advancedOption","advancedAutotune","advancedFilterToggleStyles","actionsTray","searchField","formFieldStyles","containerForHeader","spacing","setStart","currStatus","setCurrStatus","setSize","sizeUnit","setSizeUnit","topDate","setTopDate","currentValue","setCurrentValue","totalSeconds","setTotalSeconds","speedometerValue","setSpeedometerValue","useEffect","url","URL","window","location","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","baseDate","moment","currentTime","unix","incrementDate","add","parseInt","interval","onopen","log","send","setInterval","onmessage","message","parse","prevStatus","prSt","insertData","currTime","onclose","clearInterval","close","percToDisplay","PageHeader","PageLayout","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","boxy","Loader","ProgressBarWrapper","InputBoxWrapper","e","InputUnitMenu","Button","buttonBackground","speedStart","trim","multiModule","HelpBox","WarnIcon","DistributedOnly","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","boxSizing","backgroundClip","action","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","listItemTextClasses","listItemIconClasses","breakpoints","up","body2","inProps","ref","useThemeProps","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","_jsx","focusVisible","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","configurable","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"static/js/5822.2e5ca929.chunk.js","mappings":"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","sources":["common/HelpBox.tsx","screens/Console/Buckets/BucketDetails/SummaryItems/RBIconButton.tsx","screens/Console/Common/BoxIconButton/BoxIconButton.tsx","screens/Console/Common/DistributedOnly/DistributedOnly.tsx","screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx","screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx","screens/Console/Common/FormComponents/InputUnitMenu/InputUnitMenu.tsx","screens/Console/Common/Layout/PageLayout.tsx","screens/Console/Common/PageHeader/PageHeader.tsx","screens/Console/Common/ProgressBarWrapper/ProgressBarWrapper.tsx","screens/Console/Speedtest/SpeedTestUnit.tsx","screens/Console/Speedtest/STResults.tsx","screens/Console/Speedtest/utils.ts","screens/Console/Speedtest/Speedtest.tsx","utils/wsUtils.ts","../node_modules/@mui/material/Divider/dividerClasses.js","../node_modules/@mui/material/MenuItem/menuItemClasses.js","../node_modules/@mui/material/MenuItem/MenuItem.js","../node_modules/es5-ext/global.js","../node_modules/websocket/lib/browser.js","../node_modules/websocket/lib/version.js"],"sourcesContent":["// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Grid from \"@mui/material/Grid\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n border: \"1px solid #E2E2E2\",\n borderRadius: 2,\n backgroundColor: \"#FBFAFA\",\n paddingLeft: 25,\n paddingTop: 31,\n paddingBottom: 21,\n paddingRight: 30,\n },\n leftItems: {\n fontSize: 16,\n fontWeight: \"bold\",\n marginBottom: 15,\n display: \"flex\",\n alignItems: \"center\",\n \"& .min-icon\": {\n marginRight: 15,\n height: 28,\n width: 38,\n },\n },\n helpText: {\n fontSize: 16,\n paddingLeft: 5,\n },\n });\n\ninterface IHelpBox {\n classes: any;\n iconComponent: any;\n title: string;\n help: any;\n}\n\nconst HelpBox = ({ classes, iconComponent, title, help }: IHelpBox) => {\n return (\n
    \n \n \n {iconComponent}\n {title}\n \n \n {help}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(HelpBox);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport BoxIconButton from \"../../../Common/BoxIconButton/BoxIconButton\";\nimport { IconButtonProps } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { Theme } from \"@mui/material/styles\";\n\ntype DeleteButtonProps = {\n onClick: (e: any) => void;\n text?: string;\n disabled?: boolean;\n size?: string;\n tooltip?: string;\n classes?: any;\n icon?: React.ReactNode;\n [x: string]: any;\n};\n\ntype RBIconProps = Partial & DeleteButtonProps;\n\nconst useStyles = makeStyles((theme: Theme) => {\n const getButtonColor = (props: RBIconProps) => {\n const { variant, color } = props;\n\n let tgtColor = theme.palette.primary.main;\n\n if (color === \"primary\" && variant === \"contained\") {\n tgtColor = theme.palette.primary.contrastText;\n } else if (color === \"primary\" && variant === \"outlined\") {\n tgtColor = theme.palette.primary.main;\n } else if (color === \"secondary\") {\n tgtColor = theme.palette.secondary.main;\n }\n\n return tgtColor;\n };\n\n return {\n root: {\n padding: \"7px\",\n color: (props: RBIconProps) => getButtonColor(props),\n borderColor: (props: RBIconProps) =>\n props.color === \"secondary\"\n ? theme.palette.secondary.main\n : theme.palette.primary.main,\n \"& svg.min-icon\": {\n width: 12,\n marginLeft: (props: RBIconProps) => (props.text ? \"5px\" : \"0px\"),\n \"@media (max-width: 900px)\": {\n width: 16,\n marginLeft: \"0px !important\",\n },\n },\n },\n };\n});\n\nconst RBIconButton = (props: RBIconProps) => {\n const classes = useStyles(props);\n\n const {\n onClick,\n text = \"\",\n disabled = false,\n tooltip,\n icon = null,\n ...restProps\n } = props;\n\n return (\n \n {text} {icon}\n \n );\n};\nexport default RBIconButton;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { IconButton, IconButtonProps, Tooltip } from \"@mui/material\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n padding: 8,\n marginLeft: 8,\n borderWidth: 1,\n borderColor: \"#696969\",\n color: \"#696969\",\n borderStyle: \"solid\",\n borderRadius: 3,\n \"& .min-icon\": {\n // height: 20,\n width: 20,\n },\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.main,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:disabled\": {\n color: \"#EBEBEB\",\n borderColor: \"#EBEBEB\",\n },\n },\n contained: {\n borderColor: theme.palette.primary.main,\n background: theme.palette.primary.main,\n color: \"white\",\n \"& .MuiTouchRipple-root span\": {\n backgroundColor: theme.palette.primary.dark,\n borderRadius: 3,\n opacity: 0.3,\n },\n \"&:hover\": {\n backgroundColor: theme.palette.primary.light,\n color: \"#FFF\",\n },\n },\n });\n\ninterface IBoxIconButton extends IconButtonProps {\n classes: any;\n children: any;\n variant?: \"outlined\" | \"contained\";\n tooltip?: string;\n}\n\nconst BoxIconButton = ({\n classes,\n children,\n variant = \"outlined\",\n tooltip,\n ...rest\n}: IBoxIconButton) => {\n const button = (\n \n {children}\n \n );\n\n if (tooltip && tooltip !== \"\") {\n return (\n \n {button}\n \n );\n }\n\n return button;\n};\n\nexport default withStyles(styles)(BoxIconButton);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { Box, Grid } from \"@mui/material\";\nimport HelpBox from \"../../../../common/HelpBox\";\n\ninterface IDistributedOnly {\n iconComponent: any;\n entity: string;\n}\n\nconst DistributedOnly = ({ iconComponent, entity }: IDistributedOnly) => {\n return (\n \n \n theme.colors.link,\n textDecoration: \"underline\",\n },\n }}\n >\n
    This feature is not available for a single-disk setup.
    \n\n
    \n Please deploy a server in{\" \"}\n \n Distributed Mode\n {\" \"}\n to use this feature.\n
    \n \n }\n />\n
    \n
    \n );\n};\n\nexport default DistributedOnly;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useState } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport \"codemirror/theme/dracula.css\";\n/** Code mirror */\nimport CodeMirror, { Extension } from \"@uiw/react-codemirror\";\nimport { StreamLanguage } from \"@codemirror/stream-parser\";\nimport { json } from \"@codemirror/lang-json\";\nimport { yaml } from \"@codemirror/legacy-modes/mode/yaml\";\n\n/** Code mirror */\nimport { Box, InputLabel, Tooltip } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport { fieldBasic } from \"../common/styleLibrary\";\nimport { CopyIcon, EditorThemeSwitchIcon } from \"../../../../../icons\";\nimport RBIconButton from \"../../../Buckets/BucketDetails/SummaryItems/RBIconButton\";\nimport CopyToClipboard from \"react-copy-to-clipboard\";\nimport { EditorView } from \"@codemirror/view\";\n\ninterface ICodeWrapper {\n value: string;\n label?: string;\n mode?: string;\n tooltip?: string;\n classes: any;\n onChange?: (editor: any, data: any, value: string) => any;\n onBeforeChange: (editor: any, data: any, value: string) => any;\n readOnly?: boolean;\n editorHeight?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst langHighlight: Record = {\n json,\n yaml: () => StreamLanguage.define(yaml),\n};\n\nconst lightTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#FBFAFA\",\n },\n \".cm-content\": {\n caretColor: \"#05122B\",\n },\n \"&.cm-focused .cm-cursor\": {\n borderLeftColor: \"#05122B\",\n },\n \".cm-gutters\": {\n backgroundColor: \"#FBFAFA\",\n color: \"#000000\",\n border: \"none\",\n },\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n color: \"#2781B0\",\n \"& .ͼc\": {\n color: \"#C83B51\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#dde1f1\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#05122B\",\n color: \"#ffffff\",\n },\n \".cm-selectionMatch\": {\n backgroundColor: \"#ebe7f1\",\n },\n \".cm-selectionLayer\": {\n fontWeight: 500,\n },\n \" .cm-selectionBackground\": {\n backgroundColor: \"#a180c7\",\n color: \"#ffffff\",\n },\n },\n {\n dark: false,\n }\n);\n\nconst darkTheme = EditorView.theme(\n {\n \"&\": {\n backgroundColor: \"#282a36\",\n color: \"#ffb86c\",\n },\n\n \".cm-gutter.cm-foldGutter\": {\n borderRight: \"1px solid #eaeaea\",\n },\n \".cm-gutterElement\": {\n fontSize: \"13px\",\n },\n \".cm-line\": {\n fontSize: \"13px\",\n \"& .ͼd, & .ͼc\": {\n color: \"#8e6cef\",\n },\n },\n \"& .ͼb\": {\n color: \"#2781B0\",\n },\n \".cm-activeLine\": {\n backgroundColor: \"#44475a\",\n },\n \".cm-matchingBracket\": {\n backgroundColor: \"#842de5\",\n color: \"#ff79c6\",\n },\n \".cm-selectionLayer .cm-selectionBackground\": {\n backgroundColor: \"green\",\n },\n },\n {\n dark: true,\n }\n);\n\nconst CodeMirrorWrapper = ({\n value,\n label = \"\",\n tooltip = \"\",\n mode = \"json\",\n classes,\n onBeforeChange,\n readOnly = false,\n editorHeight = \"250px\",\n}: ICodeWrapper) => {\n const [isDarkTheme, setIsDarkTheme] = useState(false);\n\n //based on the language mode pick . default to json\n let extensionList: Extension[] = [];\n if (langHighlight[mode]) {\n extensionList = [...extensionList, langHighlight[mode]()];\n }\n\n return (\n \n \n {label}\n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n \n
    \n
    \n\n \n \n {\n onBeforeChange(null, null, v);\n }}\n />\n \n \n \n {\n setIsDarkTheme(!isDarkTheme);\n }}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n {}}\n text={\"\"}\n icon={}\n color={\"primary\"}\n variant={\"outlined\"}\n />\n \n \n \n \n
    \n );\n};\n\nexport default withStyles(styles)(CodeMirrorWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\nimport React from \"react\";\nimport {\n Grid,\n IconButton,\n InputLabel,\n TextField,\n TextFieldProps,\n Tooltip,\n} from \"@mui/material\";\nimport { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\nimport { InputProps as StandardInputProps } from \"@mui/material/Input\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n fieldBasic,\n inputFieldStyles,\n tooltipHelper,\n} from \"../common/styleLibrary\";\nimport HelpIcon from \"../../../../../icons/HelpIcon\";\nimport clsx from \"clsx\";\n\ninterface InputBoxProps {\n label: string;\n classes: any;\n onChange: (e: React.ChangeEvent) => void;\n onKeyPress?: (e: any) => void;\n value: string | boolean;\n id: string;\n name: string;\n disabled?: boolean;\n multiline?: boolean;\n type?: string;\n tooltip?: string;\n autoComplete?: string;\n index?: number;\n error?: string;\n required?: boolean;\n placeholder?: string;\n min?: string;\n max?: string;\n overlayId?: string;\n overlayIcon?: any;\n overlayAction?: () => void;\n overlayObject?: any;\n extraInputProps?: StandardInputProps[\"inputProps\"];\n noLabelMinWidth?: boolean;\n pattern?: string;\n autoFocus?: boolean;\n className?: string;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...fieldBasic,\n ...tooltipHelper,\n textBoxContainer: {\n flexGrow: 1,\n position: \"relative\",\n },\n overlayAction: {\n position: \"absolute\",\n right: 5,\n top: 6,\n \"& svg\": {\n maxWidth: 15,\n maxHeight: 15,\n },\n \"&.withLabel\": {\n top: 5,\n },\n },\n inputLabel: {\n ...fieldBasic.inputLabel,\n fontWeight: \"normal\",\n },\n });\n\nconst inputStyles = makeStyles((theme: Theme) =>\n createStyles({\n ...inputFieldStyles,\n })\n);\n\nfunction InputField(props: TextFieldProps) {\n const classes = inputStyles();\n\n return (\n }\n {...props}\n />\n );\n}\n\nconst InputBoxWrapper = ({\n label,\n onChange,\n value,\n id,\n name,\n type = \"text\",\n autoComplete = \"off\",\n disabled = false,\n multiline = false,\n tooltip = \"\",\n index = 0,\n error = \"\",\n required = false,\n placeholder = \"\",\n min,\n max,\n overlayId,\n overlayIcon = null,\n overlayObject = null,\n extraInputProps = {},\n overlayAction,\n noLabelMinWidth = false,\n pattern = \"\",\n autoFocus = false,\n classes,\n className = \"\",\n onKeyPress,\n}: InputBoxProps) => {\n let inputProps: any = { \"data-index\": index, ...extraInputProps };\n\n if (type === \"number\" && min) {\n inputProps[\"min\"] = min;\n }\n\n if (type === \"number\" && max) {\n inputProps[\"max\"] = max;\n }\n\n if (pattern !== \"\") {\n inputProps[\"pattern\"] = pattern;\n }\n\n return (\n \n \n {label !== \"\" && (\n \n \n {label}\n {required ? \"*\" : \"\"}\n \n {tooltip !== \"\" && (\n
    \n \n
    \n \n
    \n
    \n
    \n )}\n \n )}\n\n
    \n \n {overlayIcon && (\n \n {\n overlayAction();\n }\n : () => null\n }\n id={overlayId}\n size={\"small\"}\n disableFocusRipple={false}\n disableRipple={false}\n disableTouchRipple={false}\n >\n {overlayIcon}\n \n
    \n )}\n {overlayObject && (\n \n {overlayObject}\n \n )}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(InputBoxWrapper);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { selectorTypes } from \"../SelectWrapper/SelectWrapper\";\nimport { Menu, MenuItem } from \"@mui/material\";\n\ninterface IInputUnitBox {\n classes: any;\n id: string;\n unitSelected: string;\n unitsList: selectorTypes[];\n disabled?: boolean;\n onUnitChange?: (newValue: string) => void;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n buttonTrigger: {\n border: \"#F0F2F2 1px solid\",\n borderRadius: 3,\n color: \"#838383\",\n backgroundColor: \"#fff\",\n fontSize: 12,\n },\n });\n\nconst InputUnitMenu = ({\n classes,\n id,\n unitSelected,\n unitsList,\n disabled = false,\n onUnitChange,\n}: IInputUnitBox) => {\n const [anchorEl, setAnchorEl] = React.useState(null);\n const open = Boolean(anchorEl);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = (newUnit: string) => {\n setAnchorEl(null);\n if (newUnit !== \"\" && onUnitChange) {\n onUnitChange(newUnit);\n }\n };\n\n return (\n \n \n {unitSelected}\n \n {\n handleClose(\"\");\n }}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"center\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"center\",\n }}\n >\n {unitsList.map((unit) => (\n handleClose(unit.value)}\n key={`itemUnit-${unit.value}-${unit.label}`}\n >\n {unit.label}\n \n ))}\n \n \n );\n};\n\nexport default withStyles(styles)(InputUnitMenu);\n","import React from \"react\";\nimport { Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { pageContentStyles } from \"../FormComponents/common/styleLibrary\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...pageContentStyles,\n });\n\ntype PageLayoutProps = {\n className?: string;\n classes?: any;\n children: any;\n};\n\nconst PageLayout = ({ classes, className = \"\", children }: PageLayoutProps) => {\n return (\n
    \n \n \n {children}\n \n \n
    \n );\n};\n\nexport default withStyles(styles)(PageLayout);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\nimport { Theme } from \"@mui/material/styles\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport Typography from \"@mui/material/Typography\";\nimport IconButton from \"@mui/material/IconButton\";\nimport { AppState } from \"../../../../store\";\nimport OperatorLogo from \"../../../../icons/OperatorLogo\";\nimport ConsoleLogo from \"../../../../icons/ConsoleLogo\";\nimport { IFileItem } from \"../../ObjectBrowser/reducers\";\nimport { toggleList } from \"../../ObjectBrowser/actions\";\nimport { ObjectManagerIcon } from \"../../../../icons\";\n\ninterface IPageHeader {\n classes: any;\n sidebarOpen?: boolean;\n operatorMode?: boolean;\n label: any;\n actions?: any;\n managerObjects?: IFileItem[];\n toggleList: typeof toggleList;\n middleComponent?: React.ReactNode;\n features: string[];\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n headerContainer: {\n width: \"100%\",\n minHeight: 79,\n display: \"flex\",\n backgroundColor: \"#fff\",\n left: 0,\n boxShadow: \"rgba(0,0,0,.08) 0 3px 10px\",\n },\n label: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n },\n labelStyle: {\n color: \"#000\",\n fontSize: 18,\n fontWeight: 700,\n marginLeft: 21,\n marginTop: 8,\n },\n rightMenu: {\n textAlign: \"right\",\n },\n logo: {\n marginLeft: 34,\n fill: theme.palette.primary.main,\n \"& .min-icon\": {\n width: 120,\n },\n },\n middleComponent: {\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n });\n\nconst PageHeader = ({\n classes,\n label,\n actions,\n sidebarOpen,\n operatorMode,\n managerObjects,\n toggleList,\n middleComponent,\n features,\n}: IPageHeader) => {\n if (features.includes(\"hide-menu\")) {\n return ;\n }\n return (\n \n \n {!sidebarOpen && (\n
    \n {operatorMode ? : }\n
    \n )}\n \n {label}\n \n \n {middleComponent && (\n \n {middleComponent}\n \n )}\n \n {actions && actions}\n {managerObjects && managerObjects.length > 0 && (\n {\n toggleList();\n }}\n id=\"object-manager-toggle\"\n size=\"large\"\n >\n \n \n )}\n \n \n );\n};\n\nconst mapState = (state: AppState) => ({\n sidebarOpen: state.system.sidebarOpen,\n operatorMode: state.system.operatorMode,\n managerObjects: state.objectBrowser.objectManager.objectsToManage,\n features: state.console.session.features,\n});\n\nconst mapDispatchToProps = {\n toggleList,\n};\n\nconst connector = connect(mapState, mapDispatchToProps);\n\nexport default connector(withStyles(styles)(PageHeader));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React from \"react\";\nimport { styled } from \"@mui/material/styles\";\nimport LinearProgress, {\n linearProgressClasses,\n LinearProgressProps,\n} from \"@mui/material/LinearProgress\";\nimport Box from \"@mui/material/Box\";\n\ninterface IProgressBarWrapper {\n value: number;\n ready: boolean;\n indeterminate?: boolean;\n withLabel?: boolean;\n size?: string;\n}\n\nconst BorderLinearProgress = styled(LinearProgress)(() => ({\n height: 10,\n borderRadius: 5,\n [`&.${linearProgressClasses.colorPrimary}`]: {\n backgroundColor: \"#f1f1f1\",\n },\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 5,\n },\n}));\nconst SmallBorderLinearProgress = styled(BorderLinearProgress)(() => ({\n height: 6,\n borderRadius: 3,\n [`& .${linearProgressClasses.bar}`]: {\n borderRadius: 3,\n },\n}));\n\nfunction LinearProgressWithLabel(props: LinearProgressProps) {\n return (\n \n \n \n \n \n {`${Math.round(props.value || 0)}%`}\n \n \n );\n}\n\nconst ProgressBarWrapper = ({\n value,\n ready,\n indeterminate,\n withLabel,\n size = \"regular\",\n}: IProgressBarWrapper) => {\n const propsComponent: LinearProgressProps = {\n variant: indeterminate && !ready ? \"indeterminate\" : \"determinate\",\n value: ready ? 100 : value,\n color: ready ? \"success\" : \"primary\",\n };\n if (withLabel) {\n return ;\n }\n if (size === \"small\") {\n return ;\n }\n\n return ;\n};\n\nexport default ProgressBarWrapper;\n","// This file is part of MinIO Console Server\n// Copyright (c) 2022 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { calculateBytes } from \"../../../common/utils\";\nimport React from \"react\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport clsx from \"clsx\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n objectGeneralTitle: {\n lineHeight: 1,\n fontSize: 50,\n color: \"#696969\",\n },\n generalUnit: {\n color: \"#000\",\n fontSize: 12,\n fontWeight: \"bold\",\n },\n testUnitRes: {\n fontSize: 60,\n color: \"#081C42\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n metricValContainer: {\n lineHeight: 1,\n verticalAlign: \"bottom\",\n },\n objectsUnitRes: {\n fontSize: 22,\n marginTop: 6,\n color: \"#696969\",\n fontWeight: \"bold\",\n textAlign: \"right\",\n },\n objectsUnit: {\n color: \"#696969\",\n fontSize: 16,\n fontWeight: \"bold\",\n },\n iconTd: {\n verticalAlign: \"bottom\",\n },\n });\n\nconst SpeedTestUnit = ({\n classes,\n title,\n icon,\n throughput,\n objects,\n}: {\n classes: any;\n title: any;\n icon: any;\n throughput: string;\n objects: number;\n}) => {\n const avg = calculateBytes(throughput);\n\n let total = \"0\";\n let unit = \"\";\n\n if (avg.total !== 0) {\n total = avg.total.toString();\n unit = `${avg.unit}/s`;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {objects}\n \n \n \n
    {title}{icon}
    \n {total}\n \n {unit}\n
    \n {objects !== 0 && \"Objs/S\"}\n
    \n );\n};\nexport default withStyles(styles)(SpeedTestUnit);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useState } from \"react\";\nimport get from \"lodash/get\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Grid } from \"@mui/material\";\nimport { IndvServerMetric, SpeedTestResponse, STServer } from \"./types\";\nimport { calculateBytes, prettyNumber } from \"../../../common/utils\";\nimport {\n ComputerLineIcon,\n DownloadIcon,\n DownloadStatIcon,\n JSONIcon,\n StorageIcon,\n UploadStatIcon,\n VersionIcon,\n} from \"../../../icons\";\nimport BoxIconButton from \"../Common/BoxIconButton/BoxIconButton\";\nimport CodeMirrorWrapper from \"../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper\";\nimport { Area, AreaChart, CartesianGrid, ResponsiveContainer } from \"recharts\";\nimport { cleanMetrics } from \"./utils\";\nimport SpeedTestUnit from \"./SpeedTestUnit\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n actionButtons: {\n textAlign: \"right\",\n },\n descriptorLabel: {\n fontWeight: \"bold\",\n fontSize: 14,\n },\n resultsContainer: {\n backgroundColor: \"#FBFAFA\",\n borderTop: \"#F1F1F1 1px solid\",\n marginTop: 30,\n padding: 25,\n },\n resultsIcon: {\n display: \"flex\",\n alignItems: \"center\",\n \"& svg\": {\n fill: \"#07193E\",\n },\n },\n detailedItem: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n },\n detailedVersion: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n },\n serversTable: {\n width: \"100%\",\n marginTop: 15,\n \"& thead > tr > th\": {\n textAlign: \"left\",\n padding: 15,\n fontSize: 14,\n fontWeight: \"bold\",\n },\n \"& tbody > tr\": {\n \"&:last-of-type\": {\n \"& > td\": {\n borderBottom: \"#E2E2E2 1px solid\",\n },\n },\n \"& > td\": {\n borderTop: \"#E2E2E2 1px solid\",\n padding: 15,\n fontSize: 14,\n \"&:first-of-type\": {\n borderLeft: \"#E2E2E2 1px solid\",\n },\n \"&:last-of-type\": {\n borderRight: \"#E2E2E2 1px solid\",\n },\n },\n },\n },\n serverIcon: {\n width: 55,\n },\n serverValue: {\n width: 140,\n },\n serverHost: {\n maxWidth: 540,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n },\n tableOverflow: {\n overflowX: \"auto\",\n paddingBottom: 15,\n },\n objectGeneral: {\n marginTop: 15,\n },\n initialResults: {\n fontSize: 20,\n fontWeight: \"bold\",\n color: \"#000\",\n textAlign: \"center\",\n },\n download: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(113,200,150)\",\n },\n },\n upload: {\n \"& .min-icon\": {\n width: 35,\n height: 35,\n color: \"rgb(66,127,172)\",\n },\n },\n });\n\ninterface ISTResults {\n classes: any;\n results: SpeedTestResponse[];\n start: boolean;\n}\n\nconst STResults = ({ classes, results, start }: ISTResults) => {\n const [jsonView, setJsonView] = useState(false);\n\n const finalRes = results[results.length - 1] || [];\n\n const getServers: STServer[] = get(finalRes, \"GETStats.servers\", []) || [];\n const putServers: STServer[] = get(finalRes, \"PUTStats.servers\", []) || [];\n\n const getThroughput = get(finalRes, \"GETStats.throughputPerSec\", 0);\n const getObjects = get(finalRes, \"GETStats.objectsPerSec\", 0);\n\n const putThroughput = get(finalRes, \"PUTStats.throughputPerSec\", 0);\n const putObjects = get(finalRes, \"PUTStats.objectsPerSec\", 0);\n\n let statJoin: IndvServerMetric[] = [];\n\n getServers.forEach((item) => {\n const hostName = item.endpoint;\n const putMetric = putServers.find((item) => item.endpoint === hostName);\n\n let itemJoin: IndvServerMetric = {\n getUnit: \"-\",\n getValue: \"N/A\",\n host: item.endpoint,\n putUnit: \"-\",\n putValue: \"N/A\",\n };\n\n if (item.err && item.err !== \"\") {\n itemJoin.getError = item.err;\n itemJoin.getUnit = \"-\";\n itemJoin.getValue = \"N/A\";\n } else {\n const niceGet = calculateBytes(item.throughputPerSec.toString());\n\n itemJoin.getUnit = niceGet.unit;\n itemJoin.getValue = niceGet.total.toString();\n }\n\n if (putMetric) {\n if (putMetric.err && putMetric.err !== \"\") {\n itemJoin.putError = putMetric.err;\n itemJoin.putUnit = \"-\";\n itemJoin.putValue = \"N/A\";\n } else {\n const nicePut = calculateBytes(putMetric.throughputPerSec.toString());\n\n itemJoin.putUnit = nicePut.unit;\n itemJoin.putValue = nicePut.total.toString();\n }\n }\n\n statJoin.push(itemJoin);\n });\n\n const downloadResults = () => {\n const date = new Date();\n let element = document.createElement(\"a\");\n element.setAttribute(\n \"href\",\n \"data:text/plain;charset=utf-8,\" + JSON.stringify(finalRes)\n );\n element.setAttribute(\n \"download\",\n `speedtest_results-${date.toISOString()}.log`\n );\n\n element.style.display = \"none\";\n document.body.appendChild(element);\n\n element.click();\n\n document.body.removeChild(element);\n };\n\n const toggleJSONView = () => {\n setJsonView(!jsonView);\n };\n\n const finalResJSON = finalRes ? JSON.stringify(finalRes, null, 4) : \"\";\n const clnMetrics = cleanMetrics(results);\n\n return (\n \n \n \n \n \n \n \n \n }\n title={\"GET\"}\n throughput={getThroughput}\n objects={getObjects}\n />\n \n \n \n \n \n }\n title={\"PUT\"}\n throughput={putThroughput}\n objects={putObjects}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n \n \n \n \n
    \n {clnMetrics.length > 1 && (\n \n \n \n {start ? (\n Preliminar Results:\n ) : (\n \n {jsonView ? \"JSON Results:\" : \"Detailed Results:\"}\n \n )}\n \n \n {!start && (\n \n \n \n \n  \n \n \n \n \n )}\n \n \n \n {jsonView ? (\n \n {}}\n />\n \n ) : (\n \n \n \n \n \n Nodes: {finalRes.servers}\n \n \n Drives: {finalRes.disks}\n \n \n Concurrent: {finalRes.concurrent}\n \n \n \n \n {\" \"}\n MinIO VERSION {finalRes.version}\n \n \n \n \n \n Servers\n GET\n PUT\n \n \n \n {statJoin.map((stats, index) => (\n \n \n \n \n {stats.host}\n {stats.getError && stats.getError !== \"\" ? (\n {stats.getError}\n ) : (\n \n \n {prettyNumber(parseFloat(stats.getValue))} \n {stats.getUnit}/s.\n \n \n )}\n {stats.putError && stats.putError !== \"\" ? (\n {stats.putError}\n ) : (\n \n \n {prettyNumber(parseFloat(stats.putValue))} \n {stats.putUnit}/s.\n \n \n )}\n \n ))}\n \n \n \n \n )}\n \n
    \n )}\n
    \n );\n};\n\nexport default withStyles(styles)(STResults);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport { SpeedTestResponse } from \"./types\";\n\nexport const cleanMetrics = (results: SpeedTestResponse[]) => {\n const cleanRes = results.filter(\n (item) => item.version !== \"0\" && item.disks !== 0\n );\n\n const states = cleanRes.map((itemRes) => {\n return {\n get: itemRes.GETStats?.throughputPerSec || 0,\n put: itemRes.PUTStats?.throughputPerSec || 0,\n };\n });\n\n return [{ get: 0, put: 0 }, ...states];\n};\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport { IMessageEvent, w3cwebsocket as W3CWebSocket } from \"websocket\";\nimport { Button, Grid } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport moment from \"moment/moment\";\nimport PageHeader from \"../Common/PageHeader/PageHeader\";\nimport {\n actionsTray,\n advancedFilterToggleStyles,\n containerForHeader,\n formFieldStyles,\n searchField,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { wsProtocol } from \"../../../utils/wsUtils\";\nimport { SpeedTestResponse } from \"./types\";\nimport { AppState } from \"../../../store\";\nimport { SpeedtestIcon } from \"../../../icons\";\nimport {\n CONSOLE_UI_RESOURCE,\n IAM_SCOPES,\n} from \"../../../common/SecureComponent/permissions\";\nimport STResults from \"./STResults\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport ProgressBarWrapper from \"../Common/ProgressBarWrapper/ProgressBarWrapper\";\nimport InputUnitMenu from \"../Common/FormComponents/InputUnitMenu/InputUnitMenu\";\nimport PageLayout from \"../Common/Layout/PageLayout\";\nimport { SecureComponent } from \"../../../common/SecureComponent\";\nimport DistributedOnly from \"../Common/DistributedOnly/DistributedOnly\";\nimport HelpBox from \"../../../common/HelpBox\";\nimport WarnIcon from \"../../../icons/WarnIcon\";\nimport Loader from \"../Common/Loader/Loader\";\n\ninterface ISpeedtest {\n classes: any;\n distributedSetup: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n advancedContent: {\n backgroundColor: \"#FBFAFA\",\n maxHeight: 0,\n transitionDuration: \"0.3s\",\n overflow: \"hidden\",\n padding: \"0 15px\",\n marginTop: 15,\n justifyContent: \"space-between\",\n \"&.open\": {\n maxHeight: 400,\n paddingBottom: 15,\n },\n },\n\n stepProgressText: {\n fontSize: 13,\n marginBottom: 8,\n },\n advancedOption: {\n marginTop: 20,\n },\n advancedAutotune: {\n marginTop: 10,\n },\n ...advancedFilterToggleStyles,\n ...actionsTray,\n ...searchField,\n ...formFieldStyles,\n ...containerForHeader(theme.spacing(4)),\n });\n\nconst Speedtest = ({ classes, distributedSetup }: ISpeedtest) => {\n const [start, setStart] = useState(false);\n\n const [currStatus, setCurrStatus] = useState(\n null\n );\n\n const [size, setSize] = useState(\"64\");\n const [sizeUnit, setSizeUnit] = useState(\"MB\");\n\n const [topDate, setTopDate] = useState(0);\n const [currentValue, setCurrentValue] = useState(0);\n const [totalSeconds, setTotalSeconds] = useState(0);\n const [speedometerValue, setSpeedometerValue] = useState(0);\n\n useEffect(() => {\n // begin watch if bucketName in bucketList and start pressed\n if (start) {\n const url = new URL(window.location.toString());\n const isDev = process.env.NODE_ENV === \"development\";\n const port = isDev ? \"9090\" : url.port;\n\n const wsProt = wsProtocol(url.protocol);\n const c = new W3CWebSocket(\n `${wsProt}://${url.hostname}:${port}/ws/speedtest?&size=${size}${sizeUnit}`\n );\n\n const baseDate = moment();\n\n const currentTime = baseDate.unix() / 1000;\n\n const incrementDate =\n baseDate\n .add(parseInt(\"10\") * 2, \"s\" as moment.unitOfTime.DurationConstructor)\n .unix() / 1000;\n\n const totalSeconds = (incrementDate - currentTime) / 1000;\n\n setTopDate(incrementDate);\n setCurrentValue(currentTime);\n setTotalSeconds(totalSeconds);\n\n let interval: any | null = null;\n if (c !== null) {\n c.onopen = () => {\n console.log(\"WebSocket Client Connected\");\n c.send(\"ok\");\n interval = setInterval(() => {\n c.send(\"ok\");\n }, 10 * 1000);\n };\n c.onmessage = (message: IMessageEvent) => {\n const data: SpeedTestResponse = JSON.parse(message.data.toString());\n\n setCurrStatus((prevStatus) => {\n let prSt: SpeedTestResponse[] = [];\n if (prevStatus) {\n prSt = [...prevStatus];\n }\n\n const insertData = data.servers !== 0 ? [data] : [];\n return [...prSt, ...insertData];\n });\n\n const currTime = moment().unix() / 1000;\n setCurrentValue(currTime);\n };\n c.onclose = () => {\n clearInterval(interval);\n console.log(\"connection closed by server\");\n // reset start status\n setStart(false);\n };\n return () => {\n // close websocket on useEffect cleanup\n c.close(1000);\n clearInterval(interval);\n console.log(\"closing websockets\");\n };\n }\n } else {\n // reset start status\n setStart(false);\n }\n }, [size, sizeUnit, start]);\n\n useEffect(() => {\n const actualSeconds = (topDate - currentValue) / 1000;\n\n let percToDisplay = 100 - (actualSeconds * 100) / totalSeconds;\n\n if (percToDisplay > 100) {\n percToDisplay = 100;\n }\n\n setSpeedometerValue(percToDisplay);\n }, [start, currentValue, topDate, totalSeconds]);\n\n return (\n \n \n \n {!distributedSetup ? (\n }\n entity={\"Speedtest\"}\n />\n ) : (\n \n \n \n \n
    \n {start ? (\n \n Speedtest in progress...\n \n \n ) : (\n \n {currStatus && !start ? (\n Speed Test results:\n ) : (\n Performance test\n )}\n \n )}\n
    \n
    \n \n
    \n
    \n \n
    \n {\n setSize(e.target.value);\n }}\n noLabelMinWidth={true}\n value={size}\n disabled={start}\n overlayObject={\n \n }\n />\n
    \n
    \n \n {\n setCurrStatus(null);\n setStart(true);\n }}\n color=\"primary\"\n type=\"button\"\n id={\"start-speed-test\"}\n variant={\n currStatus !== null && !start ? \"contained\" : \"outlined\"\n }\n className={`${classes.buttonBackground} ${classes.speedStart}`}\n disabled={\"10\".trim() === \"\" || size.trim() === \"\" || start}\n >\n {!start && (\n \n {currStatus !== null ? \"Retest\" : \"Start\"}\n \n )}\n {start ? \"Start\" : \"\"}\n \n \n
    \n \n \n \n \n {currStatus !== null && (\n \n \n \n )}\n \n \n \n \n
    \n\n {!start && !currStatus && (\n \n
    \n }\n help={}\n />\n \n )}\n \n )}\n
    \n
    \n );\n};\n\nconst mapState = (state: AppState) => ({\n distributedSetup: state.system.distributedSetup,\n});\n\nconst connector = connect(mapState, null);\n\nexport default connector(withStyles(styles)(Speedtest));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\n// Close codes for websockets defined in RFC 6455\nexport const WSCloseNormalClosure = 1000;\nexport const WSCloseCloseGoingAway = 1001;\nexport const WSCloseAbnormalClosure = 1006;\nexport const WSClosePolicyViolation = 1008;\nexport const WSCloseInternalServerErr = 1011;\n\nexport const wsProtocol = (protocol: string): string => {\n let wsProtocol = \"ws\";\n if (protocol === \"https:\") {\n wsProtocol = \"wss\";\n }\n return wsProtocol;\n};\n","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getDividerUtilityClass(slot) {\n return generateUtilityClass('MuiDivider', slot);\n}\nconst dividerClasses = generateUtilityClasses('MuiDivider', ['root', 'absolute', 'fullWidth', 'inset', 'middle', 'flexItem', 'light', 'vertical', 'withChildren', 'withChildrenVertical', 'textAlignRight', 'textAlignLeft', 'wrapper', 'wrapperVertical']);\nexport default dividerClasses;","import { generateUtilityClass, generateUtilityClasses } from '@mui/base';\nexport function getMenuItemUtilityClass(slot) {\n return generateUtilityClass('MuiMenuItem', slot);\n}\nconst menuItemClasses = generateUtilityClasses('MuiMenuItem', ['root', 'focusVisible', 'dense', 'disabled', 'divider', 'gutters', 'selected']);\nexport default menuItemClasses;","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nconst _excluded = [\"autoFocus\", \"component\", \"dense\", \"divider\", \"disableGutters\", \"focusVisibleClassName\", \"role\", \"tabIndex\"];\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { unstable_composeClasses as composeClasses } from '@mui/base';\nimport { alpha } from '@mui/system';\nimport styled, { rootShouldForwardProp } from '../styles/styled';\nimport useThemeProps from '../styles/useThemeProps';\nimport ListContext from '../List/ListContext';\nimport ButtonBase from '../ButtonBase';\nimport useEnhancedEffect from '../utils/useEnhancedEffect';\nimport useForkRef from '../utils/useForkRef';\nimport { dividerClasses } from '../Divider';\nimport { listItemIconClasses } from '../ListItemIcon';\nimport { listItemTextClasses } from '../ListItemText';\nimport menuItemClasses, { getMenuItemUtilityClass } from './menuItemClasses';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport const overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.dense && styles.dense, ownerState.divider && styles.divider, !ownerState.disableGutters && styles.gutters];\n};\n\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dense,\n divider,\n disableGutters,\n selected,\n classes\n } = ownerState;\n const slots = {\n root: ['root', dense && 'dense', disabled && 'disabled', !disableGutters && 'gutters', divider && 'divider', selected && 'selected']\n };\n const composedClasses = composeClasses(slots, getMenuItemUtilityClass, classes);\n return _extends({}, classes, composedClasses);\n};\n\nconst MenuItemRoot = styled(ButtonBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiMenuItem',\n slot: 'Root',\n overridesResolver\n})(({\n theme,\n ownerState\n}) => _extends({}, theme.typography.body1, {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n minHeight: 48,\n paddingTop: 6,\n paddingBottom: 6,\n boxSizing: 'border-box',\n whiteSpace: 'nowrap'\n}, !ownerState.disableGutters && {\n paddingLeft: 16,\n paddingRight: 16\n}, ownerState.divider && {\n borderBottom: `1px solid ${theme.palette.divider}`,\n backgroundClip: 'padding-box'\n}, {\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${menuItemClasses.selected}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n },\n [`&.${menuItemClasses.selected}:hover`]: {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity)\n }\n },\n [`&.${menuItemClasses.focusVisible}`]: {\n backgroundColor: theme.palette.action.focus\n },\n [`&.${menuItemClasses.disabled}`]: {\n opacity: theme.palette.action.disabledOpacity\n },\n [`& + .${dividerClasses.root}`]: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1)\n },\n [`& + .${dividerClasses.inset}`]: {\n marginLeft: 52\n },\n [`& .${listItemTextClasses.root}`]: {\n marginTop: 0,\n marginBottom: 0\n },\n [`& .${listItemTextClasses.inset}`]: {\n paddingLeft: 36\n },\n [`& .${listItemIconClasses.root}`]: {\n minWidth: 36\n }\n}, !ownerState.dense && {\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n }\n}, ownerState.dense && _extends({\n minHeight: 32,\n // https://material.io/components/menus#specs > Dense\n paddingTop: 4,\n paddingBottom: 4\n}, theme.typography.body2, {\n [`& .${listItemIconClasses.root} svg`]: {\n fontSize: '1.25rem'\n }\n})));\nconst MenuItem = /*#__PURE__*/React.forwardRef(function MenuItem(inProps, ref) {\n const props = useThemeProps({\n props: inProps,\n name: 'MuiMenuItem'\n });\n\n const {\n autoFocus = false,\n component = 'li',\n dense = false,\n divider = false,\n disableGutters = false,\n focusVisibleClassName,\n role = 'menuitem',\n tabIndex: tabIndexProp\n } = props,\n other = _objectWithoutPropertiesLoose(props, _excluded);\n\n const context = React.useContext(ListContext);\n const childContext = {\n dense: dense || context.dense || false,\n disableGutters\n };\n const menuItemRef = React.useRef(null);\n useEnhancedEffect(() => {\n if (autoFocus) {\n if (menuItemRef.current) {\n menuItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: Unable to set focus to a MenuItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n\n const ownerState = _extends({}, props, {\n dense: childContext.dense,\n divider,\n disableGutters\n });\n\n const classes = useUtilityClasses(props);\n const handleRef = useForkRef(menuItemRef, ref);\n let tabIndex;\n\n if (!props.disabled) {\n tabIndex = tabIndexProp !== undefined ? tabIndexProp : -1;\n }\n\n return /*#__PURE__*/_jsx(ListContext.Provider, {\n value: childContext,\n children: /*#__PURE__*/_jsx(MenuItemRoot, _extends({\n ref: handleRef,\n role: role,\n tabIndex: tabIndex,\n component: component,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n }, other, {\n ownerState: ownerState,\n classes: classes\n }))\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? MenuItem.propTypes\n/* remove-proptypes */\n= {\n // ----------------------------- Warning --------------------------------\n // | These PropTypes are generated from the TypeScript type definitions |\n // | To update them edit the d.ts file and run \"yarn proptypes\" |\n // ----------------------------------------------------------------------\n\n /**\n * If `true`, the list item is focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n * @default false\n */\n autoFocus: PropTypes.bool,\n\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input is used.\n * The prop defaults to the value inherited from the parent Menu component.\n * @default false\n */\n dense: PropTypes.bool,\n\n /**\n * @ignore\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the menu item.\n * @default false\n */\n divider: PropTypes.bool,\n\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * @ignore\n */\n role: PropTypes\n /* @typescript-to-proptypes-ignore */\n .string,\n\n /**\n * @ignore\n */\n selected: PropTypes.bool,\n\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n\n /**\n * @default 0\n */\n tabIndex: PropTypes.number\n} : void 0;\nexport default MenuItem;","var naiveFallback = function () {\n\tif (typeof self === \"object\" && self) return self;\n\tif (typeof window === \"object\" && window) return window;\n\tthrow new Error(\"Unable to resolve global `this`\");\n};\n\nmodule.exports = (function () {\n\tif (this) return this;\n\n\t// Unexpected strict mode (may happen if e.g. bundled into ESM module)\n\n\t// Fallback to standard globalThis if available\n\tif (typeof globalThis === \"object\" && globalThis) return globalThis;\n\n\t// Thanks @mathiasbynens -> https://mathiasbynens.be/notes/globalthis\n\t// In all ES5+ engines global object inherits from Object.prototype\n\t// (if you approached one that doesn't please report)\n\ttry {\n\t\tObject.defineProperty(Object.prototype, \"__global__\", {\n\t\t\tget: function () { return this; },\n\t\t\tconfigurable: true\n\t\t});\n\t} catch (error) {\n\t\t// Unfortunate case of updates to Object.prototype being restricted\n\t\t// via preventExtensions, seal or freeze\n\t\treturn naiveFallback();\n\t}\n\ttry {\n\t\t// Safari case (window.__global__ works, but __global__ does not)\n\t\tif (!__global__) return naiveFallback();\n\t\treturn __global__;\n\t} finally {\n\t\tdelete Object.prototype.__global__;\n\t}\n})();\n","var _globalThis;\nif (typeof globalThis === 'object') {\n\t_globalThis = globalThis;\n} else {\n\ttry {\n\t\t_globalThis = require('es5-ext/global');\n\t} catch (error) {\n\t} finally {\n\t\tif (!_globalThis && typeof window !== 'undefined') { _globalThis = window; }\n\t\tif (!_globalThis) { throw new Error('Could not determine global this'); }\n\t}\n}\n\nvar NativeWebSocket = _globalThis.WebSocket || _globalThis.MozWebSocket;\nvar websocket_version = require('./version');\n\n\n/**\n * Expose a W3C WebSocket class with just one or two arguments.\n */\nfunction W3CWebSocket(uri, protocols) {\n\tvar native_instance;\n\n\tif (protocols) {\n\t\tnative_instance = new NativeWebSocket(uri, protocols);\n\t}\n\telse {\n\t\tnative_instance = new NativeWebSocket(uri);\n\t}\n\n\t/**\n\t * 'native_instance' is an instance of nativeWebSocket (the browser's WebSocket\n\t * class). Since it is an Object it will be returned as it is when creating an\n\t * instance of W3CWebSocket via 'new W3CWebSocket()'.\n\t *\n\t * ECMAScript 5: http://bclary.com/2004/11/07/#a-13.2.2\n\t */\n\treturn native_instance;\n}\nif (NativeWebSocket) {\n\t['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'].forEach(function(prop) {\n\t\tObject.defineProperty(W3CWebSocket, prop, {\n\t\t\tget: function() { return NativeWebSocket[prop]; }\n\t\t});\n\t});\n}\n\n/**\n * Module exports.\n */\nmodule.exports = {\n 'w3cwebsocket' : NativeWebSocket ? W3CWebSocket : null,\n 'version' : websocket_version\n};\n","module.exports = require('../package.json').version;\n"],"names":["withStyles","theme","createStyles","root","border","borderRadius","backgroundColor","paddingLeft","paddingTop","paddingBottom","paddingRight","leftItems","fontSize","fontWeight","marginBottom","display","alignItems","marginRight","height","width","helpText","classes","iconComponent","title","help","className","container","item","xs","useStyles","makeStyles","padding","color","props","variant","tgtColor","palette","primary","main","contrastText","secondary","getButtonColor","borderColor","marginLeft","text","onClick","disabled","tooltip","icon","restProps","size","sx","borderWidth","borderStyle","opacity","contained","background","dark","light","children","rest","button","clsx","entity","flexFlow","md","colors","link","textDecoration","href","target","rel","langHighlight","json","yaml","StreamLanguage","lightTheme","EditorView","caretColor","borderLeftColor","borderRight","darkTheme","fieldBasic","inputLabel","value","label","mode","onBeforeChange","readOnly","editorHeight","useState","isDarkTheme","setIsDarkTheme","extensionList","tooltipContainer","placement","extensions","editable","basicSetup","onChange","v","vu","borderTop","justifyContent","inputStyles","inputFieldStyles","InputField","InputProps","tooltipHelper","textBoxContainer","flexGrow","position","overlayAction","right","top","maxWidth","maxHeight","id","name","type","autoComplete","multiline","index","error","required","placeholder","min","max","overlayId","overlayIcon","overlayObject","extraInputProps","noLabelMinWidth","pattern","autoFocus","onKeyPress","inputProps","errorInField","inputBoxContainer","htmlFor","noMinWidthLabel","fullWidth","helperText","inputRebase","disableFocusRipple","disableRipple","disableTouchRipple","buttonTrigger","unitSelected","unitsList","onUnitChange","React","anchorEl","setAnchorEl","open","Boolean","handleClose","newUnit","Fragment","undefined","event","currentTarget","onClose","anchorOrigin","vertical","horizontal","transformOrigin","map","unit","pageContentStyles","contentSpacer","mapDispatchToProps","toggleList","connector","connect","state","sidebarOpen","system","operatorMode","managerObjects","objectBrowser","objectManager","objectsToManage","features","console","session","headerContainer","minHeight","left","boxShadow","labelStyle","marginTop","rightMenu","textAlign","logo","fill","middleComponent","actions","includes","direction","sm","length","component","BorderLinearProgress","styled","LinearProgress","linearProgressClasses","SmallBorderLinearProgress","LinearProgressWithLabel","mr","minWidth","Math","round","ready","indeterminate","withLabel","propsComponent","objectGeneralTitle","lineHeight","generalUnit","testUnitRes","metricValContainer","verticalAlign","objectsUnitRes","objectsUnit","iconTd","throughput","objects","avg","calculateBytes","total","toString","actionButtons","descriptorLabel","resultsContainer","resultsIcon","detailedItem","detailedVersion","serversTable","borderBottom","borderLeft","serverIcon","serverValue","serverHost","overflow","textOverflow","whiteSpace","tableOverflow","overflowX","objectGeneral","initialResults","download","upload","results","start","jsonView","setJsonView","finalRes","getServers","get","putServers","getThroughput","getObjects","putThroughput","putObjects","statJoin","forEach","hostName","endpoint","putMetric","find","itemJoin","getUnit","getValue","host","putUnit","putValue","err","getError","niceGet","throughputPerSec","putError","nicePut","push","finalResJSON","JSON","stringify","clnMetrics","states","filter","version","disks","itemRes","GETStats","put","PUTStats","cleanMetrics","Grid","lg","ResponsiveContainer","AreaChart","data","x1","y1","x2","y2","offset","stopColor","stopOpacity","CartesianGrid","strokeDasharray","strokeWidth","strokeOpacity","stroke","Area","dataKey","fillOpacity","dot","BoxIconButton","date","Date","element","document","createElement","setAttribute","toISOString","style","body","appendChild","click","removeChild","CodeMirrorWrapper","servers","concurrent","versionIcon","cellSpacing","cellPadding","colSpan","stats","prettyNumber","parseFloat","distributedSetup","advancedContent","transitionDuration","stepProgressText","advancedOption","advancedAutotune","advancedFilterToggleStyles","actionsTray","searchField","formFieldStyles","containerForHeader","spacing","setStart","currStatus","setCurrStatus","setSize","sizeUnit","setSizeUnit","topDate","setTopDate","currentValue","setCurrentValue","totalSeconds","setTotalSeconds","speedometerValue","setSpeedometerValue","useEffect","url","URL","window","location","port","wsProt","wsProtocol","protocol","c","W3CWebSocket","hostname","baseDate","moment","currentTime","unix","incrementDate","add","parseInt","interval","onopen","log","send","setInterval","onmessage","message","parse","prevStatus","prSt","insertData","currTime","onclose","clearInterval","close","percToDisplay","PageHeader","PageLayout","SecureComponent","scopes","IAM_SCOPES","resource","CONSOLE_UI_RESOURCE","boxy","Loader","ProgressBarWrapper","InputBoxWrapper","e","InputUnitMenu","Button","buttonBackground","speedStart","trim","multiModule","HelpBox","WarnIcon","DistributedOnly","WSCloseAbnormalClosure","WSClosePolicyViolation","WSCloseInternalServerErr","getDividerUtilityClass","slot","generateUtilityClass","dividerClasses","generateUtilityClasses","getMenuItemUtilityClass","_excluded","MenuItemRoot","ButtonBase","shouldForwardProp","prop","rootShouldForwardProp","overridesResolver","styles","ownerState","dense","divider","disableGutters","gutters","_extends","typography","body1","boxSizing","backgroundClip","action","hover","menuItemClasses","alpha","selectedOpacity","focusOpacity","hoverOpacity","focus","disabledOpacity","listItemTextClasses","listItemIconClasses","breakpoints","up","body2","inProps","ref","useThemeProps","focusVisibleClassName","role","tabIndexProp","tabIndex","other","_objectWithoutPropertiesLoose","context","ListContext","childContext","menuItemRef","useEnhancedEffect","current","selected","slots","composedClasses","composeClasses","useUtilityClasses","handleRef","useForkRef","_jsx","focusVisible","naiveFallback","self","Error","module","exports","this","globalThis","Object","defineProperty","prototype","configurable","__global__","_globalThis","require","NativeWebSocket","WebSocket","MozWebSocket","websocket_version","uri","protocols"],"sourceRoot":""} \ No newline at end of file diff --git a/portal-ui/build/static/js/5961.7a71f2c5.chunk.js b/portal-ui/build/static/js/5961.6a63abf6.chunk.js similarity index 96% rename from portal-ui/build/static/js/5961.7a71f2c5.chunk.js rename to portal-ui/build/static/js/5961.6a63abf6.chunk.js index c48eb6bb6..8c09485ab 100644 --- a/portal-ui/build/static/js/5961.7a71f2c5.chunk.js +++ b/portal-ui/build/static/js/5961.6a63abf6.chunk.js @@ -1,2 +1,2 @@ -"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5961],{50280:function(e,n,s){var t=s(18489),a=s(50390),l=s(25594),i=s(86509),r=s(4285),c=s(72462),o=s(62559);n.Z=(0,r.Z)((function(e){return(0,i.Z)((0,t.Z)({},c.xx))}))((function(e){var n=e.classes,s=e.label,t=void 0===s?"":s,i=e.content,r=e.multiLine,c=void 0!==r&&r;return(0,o.jsx)(a.Fragment,{children:(0,o.jsxs)(l.ZP,{className:n.prefinedContainer,children:[""!==t&&(0,o.jsx)(l.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:t}),(0,o.jsx)(l.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,o.jsx)(l.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:i})})]})})}))},35961:function(e,n,s){s.r(n);var t=s(23430),a=s(18489),l=s(50390),i=s(34424),r=s(25594),c=s(98247),o=s(49044),u=s(81378),d=s(66946),x=s(86509),m=s(4285),h=s(72462),Z=s(44149),f=s(30324),p=s(92620),j=s(51002),b=s(66964),v=s(92440),g=s(50280),y=s(59176),P=s(4795),C=s(86362),S=s(62559),k={setModalErrorSnackMessage:Z.zb},N=(0,i.$j)(null,k);n.default=(0,m.Z)((function(e){return(0,x.Z)((0,a.Z)((0,a.Z)((0,a.Z)({tabsHeader:{marginBottom:"1rem"}},h.ID),h.DF),h.bK))}))(N((function(e){var n=e.classes,s=e.closeModalAndRefresh,a=e.selectedUser,i=e.open,x=e.setModalErrorSnackMessage,m=(0,l.useState)(!1),h=(0,t.Z)(m,2),Z=h[0],k=h[1],N=(0,l.useState)(""),w=(0,t.Z)(N,2),E=w[0],K=w[1],F=(0,l.useState)(""),M=(0,t.Z)(F,2),U=M[0],G=M[1],O=(0,l.useState)(!1),R=(0,t.Z)(O,2),T=R[0],D=R[1],I=(0,l.useState)([]),B=(0,t.Z)(I,2),L=B[0],_=B[1],A=(0,l.useState)([]),H=(0,t.Z)(A,2),z=H[0],V=H[1],$=(0,l.useState)([]),q=(0,t.Z)($,2),J=q[0],Q=q[1],W=(0,l.useState)(0),X=(0,t.Z)(W,2),Y=X[0],ee=X[1],ne=(0,l.useCallback)((function(){if(!a)return null;f.Z.invoke("GET","/api/v1/user?name=".concat(encodeURI(a.accessKey))).then((function(e){k(!1),K(e.accessKey),_(e.memberOf||[]),Q(e.memberOf||[]),D("enabled"===e.status)})).catch((function(e){k(!1),x(e)}))}),[a,x]);(0,l.useEffect)((function(){null===a?(K(""),G(""),_([])):ne()}),[a,ne]);var se=""!==E.trim()&&(""!==U.trim()&&null===a||null!==a);return(0,S.jsxs)(j.Z,{onClose:function(){s()},modalOpen:i,title:null!==a?"Edit User":"Create User",titleIcon:(0,S.jsx)(C.P3,{}),children:[null!==a&&(0,S.jsx)("div",{className:n.floatingEnabled,children:(0,S.jsx)(v.Z,{indicatorLabels:["Enabled","Disabled"],checked:T,value:"user_enabled",id:"user-status",name:"user-status",onChange:function(e){D(e.target.checked)},switchOnly:!0})}),(0,S.jsx)(l.Fragment,{children:(0,S.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),U.length<8)return x({errorMessage:"Passwords must be at least 8 characters long",detailedError:""}),void k(!1);Z||(k(!0),null!==a?f.Z.invoke("PUT","/api/v1/user?name=".concat(encodeURI(a.accessKey)),{status:T?"enabled":"disabled",groups:L,policies:z}).then((function(e){k(!1),s()})).catch((function(e){k(!1),x(e)})):f.Z.invoke("POST","/api/v1/users",{accessKey:E,secretKey:U,groups:L,policies:z}).then((function(e){k(!1),s()})).catch((function(e){k(!1),x(e)})))}(e)},children:(0,S.jsxs)(r.ZP,{container:!0,children:[(0,S.jsxs)(r.ZP,{item:!0,xs:12,children:[(0,S.jsx)("div",{className:n.formFieldRow,children:(0,S.jsx)(b.Z,{id:"accesskey-input",name:"accesskey-input",label:"Access Key",value:E,autoFocus:!0,onChange:function(e){K(e.target.value)},disabled:null!==a})}),null!==a?(0,S.jsx)(g.Z,{label:"Current Groups",content:J.join(", ")}):(0,S.jsx)("div",{className:n.formFieldRow,children:(0,S.jsx)(b.Z,{id:"standard-multiline-static",name:"standard-multiline-static",label:"Secret Key",type:"password",value:U,onChange:function(e){G(e.target.value)},autoComplete:"current-password"})}),(0,S.jsx)(r.ZP,{item:!0,xs:12,className:n.tabsHeader,children:(0,S.jsxs)(c.Z,{value:Y,onChange:function(e,n){ee(n)},children:[(0,S.jsx)(o.Z,{label:"Policies"}),(0,S.jsx)(o.Z,{label:"Groups"})]})}),(0,S.jsx)(P.x,{value:Y,index:0,children:(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(y.Z,{selectedPolicy:z,setSelectedPolicy:V})})}),(0,S.jsx)(P.x,{value:Y,index:1,children:(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(p.Z,{selectedGroups:L,setSelectedGroups:function(e){_(e)}})})}),Z&&(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(u.Z,{})})]}),(0,S.jsxs)(r.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,S.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){null===a?(K(""),G(""),_([])):_([])},children:"Clear"}),(0,S.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z||!se,children:"Save"})]})]})})})]})})))},4795:function(e,n,s){s.d(n,{x:function(){return c}});var t=s(18489),a=s(83738),l=s(50390),i=s(62559),r=["children","value","index"],c=function(e){var n=e.children,s=e.value,c=e.index,o=(0,a.Z)(e,r);return(0,i.jsx)("div",(0,t.Z)((0,t.Z)({role:"tabpanel",hidden:s!==c,id:"simple-tabpanel-".concat(c),"aria-labelledby":"simple-tab-".concat(c),style:{marginTop:"5px"}},o),{},{children:s===c&&(0,i.jsx)(l.Fragment,{children:n})}))}}}]); -//# sourceMappingURL=5961.7a71f2c5.chunk.js.map \ No newline at end of file +"use strict";(self.webpackChunkportal_ui=self.webpackChunkportal_ui||[]).push([[5961],{50280:function(e,n,s){var t=s(18489),a=s(50390),l=s(25594),i=s(86509),r=s(4285),c=s(72462),o=s(62559);n.Z=(0,r.Z)((function(e){return(0,i.Z)((0,t.Z)({},c.xx))}))((function(e){var n=e.classes,s=e.label,t=void 0===s?"":s,i=e.content,r=e.multiLine,c=void 0!==r&&r;return(0,o.jsx)(a.Fragment,{children:(0,o.jsxs)(l.ZP,{className:n.prefinedContainer,children:[""!==t&&(0,o.jsx)(l.ZP,{item:!0,xs:12,className:n.predefinedTitle,children:t}),(0,o.jsx)(l.ZP,{item:!0,xs:12,className:n.predefinedList,children:(0,o.jsx)(l.ZP,{item:!0,xs:12,className:c?n.innerContentMultiline:n.innerContent,children:i})})]})})}))},35961:function(e,n,s){s.r(n);var t=s(23430),a=s(18489),l=s(50390),i=s(34424),r=s(25594),c=s(98247),o=s(49044),u=s(81378),d=s(66946),x=s(86509),m=s(4285),h=s(72462),Z=s(44149),f=s(30324),p=s(92620),j=s(51002),b=s(66964),v=s(92440),g=s(50280),y=s(59176),P=s(4795),C=s(14549),S=s(62559),k={setModalErrorSnackMessage:Z.zb},N=(0,i.$j)(null,k);n.default=(0,m.Z)((function(e){return(0,x.Z)((0,a.Z)((0,a.Z)((0,a.Z)({tabsHeader:{marginBottom:"1rem"}},h.ID),h.DF),h.bK))}))(N((function(e){var n=e.classes,s=e.closeModalAndRefresh,a=e.selectedUser,i=e.open,x=e.setModalErrorSnackMessage,m=(0,l.useState)(!1),h=(0,t.Z)(m,2),Z=h[0],k=h[1],N=(0,l.useState)(""),w=(0,t.Z)(N,2),E=w[0],K=w[1],F=(0,l.useState)(""),M=(0,t.Z)(F,2),U=M[0],G=M[1],O=(0,l.useState)(!1),R=(0,t.Z)(O,2),T=R[0],D=R[1],I=(0,l.useState)([]),B=(0,t.Z)(I,2),L=B[0],_=B[1],A=(0,l.useState)([]),H=(0,t.Z)(A,2),z=H[0],V=H[1],$=(0,l.useState)([]),q=(0,t.Z)($,2),J=q[0],Q=q[1],W=(0,l.useState)(0),X=(0,t.Z)(W,2),Y=X[0],ee=X[1],ne=(0,l.useCallback)((function(){if(!a)return null;f.Z.invoke("GET","/api/v1/user?name=".concat(encodeURI(a.accessKey))).then((function(e){k(!1),K(e.accessKey),_(e.memberOf||[]),Q(e.memberOf||[]),D("enabled"===e.status)})).catch((function(e){k(!1),x(e)}))}),[a,x]);(0,l.useEffect)((function(){null===a?(K(""),G(""),_([])):ne()}),[a,ne]);var se=""!==E.trim()&&(""!==U.trim()&&null===a||null!==a);return(0,S.jsxs)(j.Z,{onClose:function(){s()},modalOpen:i,title:null!==a?"Edit User":"Create User",titleIcon:(0,S.jsx)(C.P3,{}),children:[null!==a&&(0,S.jsx)("div",{className:n.floatingEnabled,children:(0,S.jsx)(v.Z,{indicatorLabels:["Enabled","Disabled"],checked:T,value:"user_enabled",id:"user-status",name:"user-status",onChange:function(e){D(e.target.checked)},switchOnly:!0})}),(0,S.jsx)(l.Fragment,{children:(0,S.jsx)("form",{noValidate:!0,autoComplete:"off",onSubmit:function(e){!function(e){if(e.preventDefault(),U.length<8)return x({errorMessage:"Passwords must be at least 8 characters long",detailedError:""}),void k(!1);Z||(k(!0),null!==a?f.Z.invoke("PUT","/api/v1/user?name=".concat(encodeURI(a.accessKey)),{status:T?"enabled":"disabled",groups:L,policies:z}).then((function(e){k(!1),s()})).catch((function(e){k(!1),x(e)})):f.Z.invoke("POST","/api/v1/users",{accessKey:E,secretKey:U,groups:L,policies:z}).then((function(e){k(!1),s()})).catch((function(e){k(!1),x(e)})))}(e)},children:(0,S.jsxs)(r.ZP,{container:!0,children:[(0,S.jsxs)(r.ZP,{item:!0,xs:12,children:[(0,S.jsx)("div",{className:n.formFieldRow,children:(0,S.jsx)(b.Z,{id:"accesskey-input",name:"accesskey-input",label:"Access Key",value:E,autoFocus:!0,onChange:function(e){K(e.target.value)},disabled:null!==a})}),null!==a?(0,S.jsx)(g.Z,{label:"Current Groups",content:J.join(", ")}):(0,S.jsx)("div",{className:n.formFieldRow,children:(0,S.jsx)(b.Z,{id:"standard-multiline-static",name:"standard-multiline-static",label:"Secret Key",type:"password",value:U,onChange:function(e){G(e.target.value)},autoComplete:"current-password"})}),(0,S.jsx)(r.ZP,{item:!0,xs:12,className:n.tabsHeader,children:(0,S.jsxs)(c.Z,{value:Y,onChange:function(e,n){ee(n)},children:[(0,S.jsx)(o.Z,{label:"Policies"}),(0,S.jsx)(o.Z,{label:"Groups"})]})}),(0,S.jsx)(P.x,{value:Y,index:0,children:(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(y.Z,{selectedPolicy:z,setSelectedPolicy:V})})}),(0,S.jsx)(P.x,{value:Y,index:1,children:(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(p.Z,{selectedGroups:L,setSelectedGroups:function(e){_(e)}})})}),Z&&(0,S.jsx)(r.ZP,{item:!0,xs:12,children:(0,S.jsx)(u.Z,{})})]}),(0,S.jsxs)(r.ZP,{item:!0,xs:12,className:n.modalButtonBar,children:[(0,S.jsx)(d.Z,{type:"button",variant:"outlined",color:"primary",onClick:function(){null===a?(K(""),G(""),_([])):_([])},children:"Clear"}),(0,S.jsx)(d.Z,{type:"submit",variant:"contained",color:"primary",disabled:Z||!se,children:"Save"})]})]})})})]})})))},4795:function(e,n,s){s.d(n,{x:function(){return c}});var t=s(18489),a=s(83738),l=s(50390),i=s(62559),r=["children","value","index"],c=function(e){var n=e.children,s=e.value,c=e.index,o=(0,a.Z)(e,r);return(0,i.jsx)("div",(0,t.Z)((0,t.Z)({role:"tabpanel",hidden:s!==c,id:"simple-tabpanel-".concat(c),"aria-labelledby":"simple-tab-".concat(c),style:{marginTop:"5px"}},o),{},{children:s===c&&(0,i.jsx)(l.Fragment,{children:n})}))}}}]); +//# sourceMappingURL=5961.6a63abf6.chunk.js.map \ No newline at end of file diff --git a/portal-ui/build/static/js/5961.7a71f2c5.chunk.js.map b/portal-ui/build/static/js/5961.6a63abf6.chunk.js.map similarity index 99% rename from portal-ui/build/static/js/5961.7a71f2c5.chunk.js.map rename to portal-ui/build/static/js/5961.6a63abf6.chunk.js.map index 3e44fcf2d..ff5293aa1 100644 --- a/portal-ui/build/static/js/5961.7a71f2c5.chunk.js.map +++ b/portal-ui/build/static/js/5961.6a63abf6.chunk.js.map @@ -1 +1 @@ -{"version":3,"file":"static/js/5961.7a71f2c5.chunk.js","mappings":"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","sources":["screens/Console/Common/FormComponents/PredefinedList/PredefinedList.tsx","screens/Console/Users/AddUser.tsx","screens/shared/tabs.tsx"],"sourcesContent":["import React, { Fragment } from \"react\";\nimport Grid from \"@mui/material/Grid\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { predefinedList } from \"../common/styleLibrary\";\n\ninterface IPredefinedList {\n classes: any;\n label?: string;\n content: any;\n multiLine?: boolean;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n ...predefinedList,\n });\n\nconst PredefinedList = ({\n classes,\n label = \"\",\n content,\n multiLine = false,\n}: IPredefinedList) => {\n return (\n \n \n {label !== \"\" && (\n \n {label}\n \n )}\n \n \n {content}\n \n \n \n \n );\n};\n\nexport default withStyles(styles)(PredefinedList);\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { useCallback, useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@mui/material/Grid\";\nimport { Button, LinearProgress, Tab, Tabs } from \"@mui/material\";\nimport { Theme } from \"@mui/material/styles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport {\n formFieldStyles,\n modalStyleUtils,\n spacingUtils,\n} from \"../Common/FormComponents/common/styleLibrary\";\nimport { User } from \"./types\";\nimport { setModalErrorSnackMessage } from \"../../../actions\";\nimport { ErrorResponseHandler } from \"../../../common/types\";\nimport api from \"../../../common/api\";\nimport GroupsSelectors from \"./GroupsSelectors\";\nimport ModalWrapper from \"../Common/ModalWrapper/ModalWrapper\";\nimport InputBoxWrapper from \"../Common/FormComponents/InputBoxWrapper/InputBoxWrapper\";\nimport FormSwitchWrapper from \"../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper\";\nimport PredefinedList from \"../Common/FormComponents/PredefinedList/PredefinedList\";\nimport PolicySelectors from \"../Policies/PolicySelectors\";\nimport { TabPanel } from \"../../shared/tabs\";\nimport { CreateUserIcon } from \"../../../icons\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n tabsHeader: {\n marginBottom: \"1rem\",\n },\n ...modalStyleUtils,\n ...formFieldStyles,\n ...spacingUtils,\n });\n\ninterface IAddUserContentProps {\n classes: any;\n closeModalAndRefresh: () => void;\n selectedUser: User | null;\n open: boolean;\n setModalErrorSnackMessage: typeof setModalErrorSnackMessage;\n}\n\nconst AddUser = ({\n classes,\n closeModalAndRefresh,\n selectedUser,\n open,\n setModalErrorSnackMessage,\n}: IAddUserContentProps) => {\n const [addLoading, setAddLoading] = useState(false);\n const [accessKey, setAccessKey] = useState(\"\");\n const [secretKey, setSecretKey] = useState(\"\");\n const [enabled, setEnabled] = useState(false);\n const [selectedGroups, setSelectedGroups] = useState([]);\n const [selectedPolicies, setSelectedPolicies] = useState([]);\n const [currentGroups, setCurrentGroups] = useState([]);\n const [currenTab, setCurrenTab] = useState(0);\n\n const getUserInformation = useCallback(() => {\n if (!selectedUser) {\n return null;\n }\n\n api\n .invoke(\"GET\", `/api/v1/user?name=${encodeURI(selectedUser.accessKey)}`)\n .then((res) => {\n setAddLoading(false);\n setAccessKey(res.accessKey);\n setSelectedGroups(res.memberOf || []);\n setCurrentGroups(res.memberOf || []);\n setEnabled(res.status === \"enabled\");\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }, [selectedUser, setModalErrorSnackMessage]);\n\n useEffect(() => {\n if (selectedUser === null) {\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n } else {\n getUserInformation();\n }\n }, [selectedUser, getUserInformation]);\n\n const saveRecord = (event: React.FormEvent) => {\n event.preventDefault();\n\n if (secretKey.length < 8) {\n setModalErrorSnackMessage({\n errorMessage: \"Passwords must be at least 8 characters long\",\n detailedError: \"\",\n });\n setAddLoading(false);\n return;\n }\n\n if (addLoading) {\n return;\n }\n setAddLoading(true);\n if (selectedUser !== null) {\n api\n .invoke(\n \"PUT\",\n `/api/v1/user?name=${encodeURI(selectedUser.accessKey)}`,\n {\n status: enabled ? \"enabled\" : \"disabled\",\n groups: selectedGroups,\n policies: selectedPolicies,\n }\n )\n .then((res) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n } else {\n api\n .invoke(\"POST\", \"/api/v1/users\", {\n accessKey,\n secretKey,\n groups: selectedGroups,\n policies: selectedPolicies,\n })\n .then((res) => {\n setAddLoading(false);\n closeModalAndRefresh();\n })\n .catch((err: ErrorResponseHandler) => {\n setAddLoading(false);\n setModalErrorSnackMessage(err);\n });\n }\n };\n\n const resetForm = () => {\n if (selectedUser !== null) {\n setSelectedGroups([]);\n return;\n }\n setAccessKey(\"\");\n setSecretKey(\"\");\n setSelectedGroups([]);\n };\n\n const sendEnabled =\n accessKey.trim() !== \"\" &&\n ((secretKey.trim() !== \"\" && selectedUser === null) ||\n selectedUser !== null);\n return (\n {\n closeModalAndRefresh();\n }}\n modalOpen={open}\n title={selectedUser !== null ? \"Edit User\" : \"Create User\"}\n titleIcon={}\n >\n {selectedUser !== null && (\n
    \n {\n setEnabled(e.target.checked);\n }}\n switchOnly\n />\n
    \n )}\n\n \n ) => {\n saveRecord(e);\n }}\n >\n \n \n
    \n ) => {\n setAccessKey(e.target.value);\n }}\n disabled={selectedUser !== null}\n />\n
    \n\n {selectedUser !== null ? (\n \n ) : (\n
    \n ) => {\n setSecretKey(e.target.value);\n }}\n autoComplete=\"current-password\"\n />\n
    \n )}\n \n {\n setCurrenTab(nv);\n }}\n >\n \n \n \n \n \n \n \n \n \n \n \n {\n setSelectedGroups(elements);\n }}\n />\n \n \n\n {addLoading && (\n \n \n \n )}\n
    \n \n \n Clear\n \n\n \n Save\n \n \n
    \n \n
    \n \n );\n};\n\nconst mapDispatchToProps = {\n setModalErrorSnackMessage,\n};\n\nconst connector = connect(null, mapDispatchToProps);\n\nexport default withStyles(styles)(connector(AddUser));\n","// This file is part of MinIO Console Server\n// Copyright (c) 2021 MinIO, Inc.\n//\n// This program is free software: you can redistribute it and/or modify\n// it under the terms of the GNU Affero General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// This program is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU Affero General Public License for more details.\n//\n// You should have received a copy of the GNU Affero General Public License\n// along with this program. If not, see .\n\nimport React, { Fragment } from \"react\";\n\ninterface TabPanelProps {\n children?: React.ReactNode;\n index: any;\n value: any;\n}\n\nexport const TabPanel = (props: TabPanelProps) => {\n const { children, value, index, ...other } = props;\n\n return (\n