1"use strict";(self.webpackChunk_kaggle_workspace=self.webpackChunk_kaggle_workspace||[]).push([["995"],{84687(e,r,t){t.r(r),t.d(r,{default:()=>Y});var n=t(94582),u=t(69581),o=t(53630),a=t(13749),i=t(28475),l=t(77631),c=t(71488),s=t(84680),f=t(64866),d=t(42556),m=t(42339),p=t(96540),h=t(52575);function y(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function g(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t,n,u=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=u){var o=[],a=!0,i=!1;try{for(u=u.call(e);!(a=(t=u.next()).done)&&(o.push(t.value),!r||o.length!==r);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw n}}return o}}(e,r)||function(e,r){if(e){if("string"==typeof e)return y(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return y(e,r)}}(e,r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function v(e,r){return r||(r=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(r)}}))}function b(){var e=v(["\n display: flex;\n flex-direction: column;\n gap: 8px;\n max-height: 480px;\n min-width: 360px;\n overflow-y: auto;\n"]);return b=function(){return e},e}function S(){var e=v(["\n display: flex;\n flex-direction: column;\n gap: 4px;\n list-style: none;\n margin: 0;\n padding: 0;\n"]);return S=function(){return e},e}var w=function(e){var r=e.open,t=e.onClose,n=e.groupId,u=e.groupName,o=g(p.useState([]),2),a=o[0],i=o[1],h=g(p.useState(!1),2),y=h[0],v=h[1],b=g(p.useState(null),2),S=b[0],w=b[1];p.useEffect(function(){if(r){var e=!1;return v(!0),w(null),m.E9.groupService.listSynchronizedGroupMembers({groupId:n,pageSize:101}).then(function(r){e||i(r.members)}).catch(function(r){var t;e||w((null!=(t=Error)&&"u">typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](r):r instanceof t)?r.message:String(r))}).finally(function(){e||v(!1)}),function(){e=!0}}},[r,n]);var G=a.length>100,C=a.slice(0,100);return p.createElement(l.uC,{open:r,onClose:t,ariaLabel:"Group members"},p.createElement(l.L3,null,"Members of ",u),p.createElement(E,null,y&&p.createElement(c.P,null),!y&&S&&p.createElement(s.J,{variant:"error"},p.createElement("strong",null,"Failed to load members:")," ",S),!y&&!S&&0===C.length&&p.createElement(f.cR,null,"This group has no members."),!y&&!S&&C.length>0&&p.createElement(p.Fragment,null,G&&p.createElement(f.HL,{emphasis:"medium"},"Showing first ",100," members; more than"," ",100," exist."),p.createElement(k,null,C.map(function(e){return p.createElement("li",{key:e.userId},p.createElement(f.Yq,{href:"/".concat(e.username),target:"_blank"},e.username))})))),p.createElement(l.ii,null,p.createElement(d.$,{emphasis:"low",onClick:t},"Close")))},E=(0,h.default)(l.Cf)(b()),k=h.default.ul(S()),G=t(15760),C=t(54198),I=t(70522),z=t(87158),A=t(9075),x=t(65644),O=t(70915);function j(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}function U(e,r,t,n,u,o,a){try{var i=e[o](a),l=i.value}catch(e){t(e);return}i.done?r(l):Promise.resolve(l).then(n,u)}function N(e){return function(){var r=this,t=arguments;return new Promise(function(n,u){var o=e.apply(r,t);function a(e){U(o,n,u,a,i,"next",e)}function i(e){U(o,n,u,a,i,"throw",e)}a(void 0)})}}function P(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t,n,u=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=u){var o=[],a=!0,i=!1;try{for(u=u.call(e);!(a=(t=u.next()).done)&&(o.push(t.value),!r||o.length!==r);a=!0);}catch(e){i=!0,n=e}finally{try{a||null==u.return||u.return()}finally{if(i)throw n}}return o}}(e,r)||L(e,r)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function D(e,r){return r||(r=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(r)}}))}function M(e,r){var t,n,u,o={label:0,sent:function(){if(1&u[0])throw u[1];return u[1]},trys:[],ops:[]},a=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(a,"next",{value:l(0)}),i(a,"throw",{value:l(1)}),i(a,"return",{value:l(2)}),"function"==typeof Symbol&&i(a,Symbol.iterator,{value:function(){return this}}),a;function l(i){return function(l){var c=[i,l];if(t)throw TypeError("Generator is already executing.");for(;a&&(a=0,c[0]&&(o=0)),o;)try{if(t=1,n&&(u=2&c[0]?n.return:c[0]?n.throw||((u=n.return)&&u.call(n),0):n.next)&&!(u=u.call(n,c[1])).done)return u;switch(n=0,u&&(c=[2&c[0],u.value]),c[0]){case 0:case 1:u=c;break;case 4:return o.label++,{value:c[1],done:!1};case 5:o.label++,n=c[1],c=[0];continue;case 7:c=o.ops.pop(),o.trys.pop();continue;default:if(!(u=(u=o.trys).length>0&&u[u.length-1])&&(6===c[0]||2===c[0])){o=0;continue}if(3===c[0]&&(!u||c[1]>u[0]&&c[1]<u[3])){o.label=c[1];break}if(6===c[0]&&o.label<u[1]){o.label=u[1],u=c;break}if(u&&o.label<u[2]){o.label=u[2],o.ops.push(c);break}u[2]&&o.ops.pop(),o.trys.pop();continue}c=r.call(e,o)}catch(e){c=[6,e],n=0}finally{t=u=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function L(e,r){if(e){if("string"==typeof e)return j(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return j(e,r)}}function W(){var e=D(["\n display: flex;\n flex-direction: column;\n gap: 24px;\n"]);return W=function(){return e},e}function _(){var e=D(["\n margin-bottom: 16px;\n"]);return _=function(){return e},e}var T=h.default.div(W()),F=function(e){var r=e.listedSynchronizedGroups,t=e.isFetching,n=e.onUpdateSynchronizedGroup,o=e.onDeleteSynchronizedGroup,a=e.onViewMembers,i=p.useContext(A.I).currentUser.id;return p.createElement(G.z,{hideFooter:!0,columns:[{field:"id",headerName:"Id"},{field:"name",headerName:"Name",minWidth:300},{field:"groupId",headerName:"Members",minWidth:100,renderCell:function(e){var r=e.value,t=e.row;return t.provider===O.SynchronizedGroupProvider.DYNAMIC?p.createElement(f.Yq,{href:"https://plx.corp.google.com/scripts2/kaggle-group-members?p=GROUP_ID%3A".concat(r),target:"_blank"},"PLX"):p.createElement(d.$,{emphasis:"low",onClick:function(){return a({groupId:r,name:t.name})}},"View")}},{field:"ownerUserId",headerName:"Owned By",minWidth:150,renderCell:function(e){var r=e.value;return p.createElement(f.Yq,{href:"/u/".concat(r),target:"_blank"},r)}},{field:"provider",headerName:"Provider",minWidth:100},{field:"lastUpdateTime",headerName:"Date",minWidth:150,renderCell:function(e){var r=e.value;return p.createElement(u.f,{time:r})}},{type:"actions",field:"actions",headerName:"Actions",minWidth:200,getActions:function(e){var r=e.row;return[p.createElement(C.K,{key:0,icon:r.ownerUserId===i?"refresh":"update",size:"medium",status:"error",title:r.ownerUserId===i?"Renew token":"Takeover",onClick:function(){return n(r)}}),p.createElement(C.K,{key:1,icon:"delete",size:"medium",status:"error",title:"Delete",onClick:function(){return o(r)}})]}}],rows:r,loading:t})}
1,R=function(){var e=P(p.useState(!0),2),r=e[0],t=e[1],n=P(p.useState(""),2),u=n[0],i=n[1],l=P(p.useState([]),2),c=l[0],s=l[1],m=P(p.useState(null),2),h=m[0],y=m[1],g=Z(),v=g.authState,b=g.currentGroup,S=g.authorize,E=p.useContext(A.I).currentUser.id;p.useEffect(function(){b&&(2===v?((0,I.Dn)({title:"OAuth successful. Will update group ".concat(b.name," now")}),G(b)):3===v&&(0,I.Dn)({title:"OAuth unsuccessful. Please try again later!"}))},[v]),p.useEffect(function(){try{O.usersClient.groupService.listSynchronizedGroups({}).then(function(e){return s(e.groups)})}catch(e){(0,o.Z)(e)}finally{t(!1)}},[]);var k=p.useCallback(function(e){return N(function(){var r,t,n;return M(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,,3]),[4,x.U9.userSecretsService.checkGoogleGroupsAccess({})];case 1:if(!a.sent().isSuccessful)return S(e),[2];return[3,3];case 2:return r=a.sent(),(0,o.Z)(r),[2];case 3:return a.trys.push([3,5,,6]),[4,O.usersClient.groupService.createSynchronizedGroup({group:e})];case 4:return t=a.sent(),i(""),s(function(e){return[t].concat(function(e){if(Array.isArray(e))return j(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||L(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}),(0,I.Dn)({title:"Added ".concat(u)}),[3,6];case 5:return n=a.sent(),(0,o.Z)(n),[3,6];case 6:return[2]}})})()},[S,u]),G=p.useCallback(function(e){return N(function(){var r,t,n;return M(this,function(u){switch(u.label){case 0:return u.trys.push([0,2,,3]),[4,x.U9.userSecretsService.checkGoogleGroupsAccess({})];case 1:if(!u.sent().isSuccessful)return S(e),[2];return[3,3];case 2:return r=u.sent(),(0,o.Z)(r),[2];case 3:return u.trys.push([3,5,,6]),e.ownerUserId=E,[4,O.usersClient.groupService.updateSynchronizedGroup({group:e})];case 4:return t=u.sent(),s(function(r){return r.map(function(r){return r.id===e.id?t:e})}),(0,I.Dn)({title:"Updated Synchronized Group #".concat(e.id)}),[3,6];case 5:return n=u.sent(),(0,o.Z)(n),[3,6];case 6:return[2]}})})()},[S,E]),C=p.useCallback(function(e){return N(function(){var r;return M(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,O.usersClient.groupService.deleteSynchronizedGroup({id:e.id})];case 1:return t.sent(),s(function(r){return r.filter(function(r){return r.id!==e.id})}),(0,I.Dn)({title:"Successfully deleted ".concat(e.name)}),[3,3];case 2:return r=t.sent(),(0,o.Z)(r),[3,3];case 3:return[2]}})})()},[]),U=p.useMemo(function(){return p.createElement(F,{onUpdateSynchronizedGroup:G,onDeleteSynchronizedGroup:C,onViewMembers:y,isFetching:r,listedSynchronizedGroups:c})},[c,r,G,C]);return p.createElement(a.L,{includeTopContentPadding:!0},p.createElement(T,null,p.createElement($,null,"Synchronized Groups Management"),p.createElement(z.A,{label:"Google Group Name",placeholder:"e.g. [email protected]",onChange:function(e){return i(e.target.value)},rows:1,value:u,fullWidth:!0}),p.createElement("div",null,p.createElement(d.$,{emphasis:"medium",onClick:function(e){return k({name:u,provider:O.SynchronizedGroupProvider.GOOGLE})},style:{marginRight:"8px"}},"Create Synchronized Group")),U,!r&&0===c.length&&p.createElement(f.cR,null,"Looks like there aren't any synchronized groups!"),h&&p.createElement(w,{open:!0,onClose:function(){return y(null)},groupId:h.groupId,groupName:h.name})))},Z=function(){var e=P(p.useState(0),2),r=e[0],t=e[1],n=P(p.useState(null),2),u=n[0],o=n[1],a=P(p.useState(null),2),l=a[0],c=a[1];p.useEffect(function(){if(l){window.addEventListener("message",f);var e=window.setInterval(function(){l&&l.closed&&(c(null),s())},1e3);return function(){window.removeEventListener("message",f),clearInterval(e)}}},[l]);var s=function(){return N(function(){return M(this,function(e){switch(e.label){case 0:return e.trys.push([0,2,,3]),[4,x.U9.userSecretsService.checkGoogleGroupsAccess({})];case 1:return t(e.sent().isSuccessful?2:3),[3,3];case 2:return e.sent(),t(3),[3,3];case 3:return[2]}})})()},f=function(e){return N(function(){var r;return M(this,function(n){switch(n.label){case 0:if(!(r=e.data)||!r.type||"OAuthFlowResult"!==r.type||e.origin!==window.location.origin||e.source!==l)return[2];if(l&&(l.closed||l.close(),c(null)),"success"!==r.status)return[3,2];return[4,s()];case 1:return n.sent(),[3,3];case 2:t(3),n.label=3;case 3:return[2]}})})()};return{authState:r,currentGroup:u,authorize:function(e){o(e),2!==r&&(t(1),c((0,i.D1)("/google-groups/auth","GoogleGroupsAuthWindow")))}}},$=(0,h.default)(f._)(_());let Y=function(){return p.createElement(n.b,{pageName:"admin-synchronized-groups",title:"Synchronized Groups | Kaggle Admin",element:p.createElement(R,null)})}}}]); 2//# sourceMappingURL=AdminSynchronizedGroups.858544d92b8ddd72.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.