1(self.webpackChunkPlesk=self.webpackChunkPlesk||[]).push([["components/pages/TsSessionsPage"],{1063:(e,t,n)=>{"use strict";n.r(t),n.d(t,{SORT_ASC:()=>d,SORT_DESC:()=>u,default:()=>S});var i=n(242),o=n(244),s=n.n(o),a=n(243),r=n(90);const l=r.Locale.getTranslate("components.list"),c=r.Locale.getSection("components.list"),d="ASC",u="DESC",m="all",f={set(e,t){localStorage.setItem(e,JSON.stringify(t))},get(e){const t=localStorage.getItem(e);return JSON.parse(t)}},g=e=>`list-sort_${e}`,p=e=>`list-page_${e}`,h=({id:e,data:t,columns:n,itemsPerPage:o,itemsPerPageOptions:s,sortColumn:r,sortDirection:u,searchField:h,locale:S,emptyView:v,emptyFilteredView:y,toolbar:k,selection:T,onSelectionChange:x,searchBarInputProps:P,rowKey:b,...w})=>{const{sortColumn:j,sortDirection:C,setSortState:D}=((e,{sortColumn:t,sortDirection:n})=>{const[{sortColumn:o,sortDirection:s},a]=(0,i.useState)({sortColumn:f.get(g(e))?.sortColumn??t,sortDirection:f.get(g(e))?.sortDirection??n});return{sortColumn:o,sortDirection:s,setSortState:t=>{a((e=>({...e,...t}))),f.set(g(e),{...f.get(g(e)),...t})}}})(e,{sortColumn:r??n.find((({sortable:e})=>e))?.key,sortDirection:u}),{page:L,itemsPerPage:E,searchPattern:N,setPageState:V}=((e,{itemsPerPage:t})=>{const[{page:n,itemsPerPage:o,searchPattern:s},a]=(0,i.useState)({page:f.get(p(e))?.page??1,itemsPerPage:f.get(p(e))?.itemsPerPage??t,searchPattern:f.get(p(e))?.searchPattern??""});return{page:n,itemsPerPage:o,searchPattern:s,setPageState:t=>{a((e=>({...e,...t}))),f.set(p(e),{...f.get(p(e)),...t})}}})(e,{itemsPerPage:s.includes(o)?o:s[0]}),F=(0,i.useMemo)((()=>N?y??(0,i.jsx)(a.ListEmptyView,{reason:"filtered",title:(0,i.jsx)(l,{content:"emptyViewFilteredTitle"}),description:(0,i.jsx)(l,{content:"emptyViewFilteredDescription"})}):v??(0,i.jsx)(a.ListEmptyView,{title:(0,i.jsx)(l,{content:"emptyViewTitle"})})),[N,v,y]),O=(0,i.useMemo)((()=>h?t.filter((e=>(Array.isArray(h)?h:[h]).some((t=>e[t]&&String(e[t]).toLowerCase().includes(N.toLowerCase()))))):t),[t,N,h]),M=(0,i.useMemo)((()=>{if(!j)return O;const e=n.find((({key:e})=>e===j))?.sortDataField??j,t=n.find((({key:e})=>e===j))?.sort??((t,n)=>t[e]<n[e]?-1:t[e]>n[e]?1:0);return[...O].sort(((e,n)=>d===C?t(e,n):t(n,e)))}),[O,j,C,n]),B=(0,i.useMemo)((()=>{if(E===m)return M;const e=E*(L-1),t=e+E;return M.slice(e,t)}),[L,M,E]),I=(0,i.useCallback)((e=>{V({searchPattern:e}),e!==N&&V({page:1})}),[N]),R=(0,i.useCallback)((e=>{V({itemsPerPage:e});(e===m?1:Math.ceil(O.length/e))<L&&V({page:1})}),[O.length,L]);return(0,i.useEffect)((()=>{if("function"==typeof x&&T.length){const e=O.map((e=>{return t=e,"function"==typeof(n=b)?n(t):t[n];var t,n})).filter((e=>T.includes(e)));x(e)}}),[O]),(0,i.jsx)(a.List,{pagination:(0,i.jsx)(a.Pagination,{current:L,total:E===m?1:Math.ceil(O.length/E),onSelect:e=>V({page:e}),itemsPerPage:E,itemsPerPageOptions:s,onItemsPerPageChange:R}),toolbar:(k||h)&&(0,i.jsxs)(a.Toolbar,{children:[k,h&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.ToolbarExpander,{}),(0,i.jsx)(a.ToolbarGroup,{title:"",children:(0,i.jsx)(a.SearchBar,{inputProps:{placeholder:c.lmsg("searchPlaceholder"),"data-testid":"list-searchbar",value:N,...P??{}},onTyping:I})})]})]}),totalRows:O.length,sortColumn:j,sortDirection:C,onSortChange:D,columns:n,data:B,filtered:!!N,locale:{totalRows:({totalRows:e})=>c.formatMessage("recordsTotal",{total:e}),...S},emptyView:F,onSelectionChange:x,selection:T,rowKey:b,...w})};h.propTypes={id:s().string.isRequired,data:s().array.isRequired,columns:s().array.isRequired,itemsPerPage:s().number,itemsPerPageOptions:s().array,sortColumn:s().string,sortDirection:s().string,searchField:s().oneOfType([s().string,s().arrayOf(s().string.isRequired)]),locale:s().object,emptyView:s().node,emptyFilteredView:s().node,toolbar:s().node,onSelectionChange:s().func,selection:s().array,rowKey:s().oneOfType([s().string,s().func]),searchBarInputProps:s().object},h.defaultProps={itemsPerPage:25,itemsPerPageOptions:[10,25,100,m],sortColumn:void 0,sortDirection:d,searchField:void 0,locale:{},emptyView:void 0,emptyFilteredView:void 0,toolbar:void 0,onSelectionChange:void 0,selection:[],searchBarInputProps:void 0,rowKey:"key"};const S=h},1984:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>w});var i=n(243),o=n(290),s=n(90),a=n(1063),r=n(679),l=n(739),c=n(734),d=n(762),u=n(242),m=n(776),f=n(1982),g=n.n(f),p=n(1983),h=n.n(p),S=n(919),v=n.n(S);const y=s.Locale.getSection("components.lists.ts-sessions"),k=s.Locale.getTranslate("components.lists.ts-sessions"),T=s.Locale.getTranslate("components.list"),x={Active:"success",Connected:"info",Disconnected:"inactive",Down:"inactive"},P=e=>(t,n)=>t[e].localeCompare(n[e]),b=[{key:"name",title:(0,u.jsx)(k,{content:"columnNameTitle"}),sortable:!0,sort:P("name"),render:e=>(0,u.jsx)(m.Link,{to:e.id,children:(0,u.jsx)(i.Text,{bold:!0,children:e.name})})},{key:"user",title:(0,u.jsx)(k,{content:"columnUserTitle"}),sortable:!0,sort:P("user")},{key:"state",title:(0,u.jsx)(k,{content:"columnStateTitle"}),render:e=>(0,u.jsx)(i.Status,{intent:x[e.state]??"warning",children:e.state}),sortable:!0,sort:P("state"),width:20}],w=(0,l.withPageLayout)((()=>{const{loading:e,data:t,refetch:n}=(0,c.useQuery)(v()),[o,{loading:l}]=(0,d.useMutation)(g()),[m,{loading:f}]=(0,d.useMutation)(h()),[p,S]=(0,u.useState)([]),x=async()=>{await n(),S([])},P=(0,u.useMemo)((()=>(t?.tsSessions??[]).map((e=>{const n=parseInt(e.id,10),i=n>0&&n<65536,o=i&&"Disconnected"!==t.state;return{...e,disabled:!i&&!o}}))),[t]),w=1===p.length?P.find((e=>e.id===p[0]))?.name:null;return(0,u.jsx)(a.default,{id:"ts-sessions",data:P,columns:b,loading:e,selection:p,rowKey:"id",onSelectionChange:S,sortColumn:"state",searchField:"name",emptyView:(0,u.jsx)(i.ListEmptyView,{actions:(0,u.jsx)(i.Button,{onClick:()=>n(),intent:"primary",children:(0,u.jsx)(k,{content:"refresh"})}),title:(0,u.jsx)(T,{content:"emptyViewTitle"})}),toolbar:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(i.ToolbarGroup,{title:"",children:(0,u.jsx)(i.Button,{onClick:()=>n(),children:(0,u.jsx)(k,{content:"refresh"})})}),(0,u.jsxs)(i.ToolbarGroup,{title:"",children:[(0,u.jsx)(i.ListOperation,{critical:!0,noSelectionText:(0,u.jsx)(k,{content:"logoffNoSelection"}),confirmationText:(0,u.jsx)(k,{params:{count:p.length,name:(0,u.jsx)(i.Text,{bold:!0,children:(0,s.escapeHtml)(w)})},content:1===p.length?"logoffConfirmationSingle":"logoffConfirmation"}),actionButtonText:(0,u.jsx)(k,{content:"logoffConfirmationButton"}),children:(0,u.jsx)(i.Button,{type:"button",onClick:async()=>{try{await m({variables:{input:{ids:p}}}),(0,r.addToast)({intent:"success",message:y.lmsg("logoffSuccess")})}catch({graphQLErrors:e}){e.forEach((({message:e,debugMessage:t})=>{(0,r.addToast)({intent:"danger",message:t||e})}))}finally{x()}},state:f?"loading":void 0,children:(0,u.jsx)(k,{content:"logoff"})})}),(0,u.jsx)(i.ListOperation,{critical:!0,noSelectionText:(0,u.jsx)(k,{content:"disconnectNoSelection"}),confirmationText:(0,u.jsx)(k,{params:{count:p.length,name:(0,u.jsx)(i.Text,{bold:!0,children:(0,s.escapeHtml)(w)})},content:1===p.length?"disconnectConfirmationSingle":"disconnectConfirmation"}),actionButtonText:(0,u.jsx)(k,{content:"disconnect"}),children:(0,u.jsx)(i.Button,{type:"button",onClick:async()=>{try{await o({variables:{input:{ids:p}}}),(0,r.addToast)({intent:"success",message:y.lmsg("disconnectSuccess")})}catch({graphQLErrors:e}){e.forEach((({message:e,debugMessage:t})=>{(0,r.addToast)({intent:"danger",message:t||e})}))}finally{x()}},state:l?"loading":void 0,children:(0,u.jsx)(k,{content:"disconnect"})})})]})]})})}),(()=>{const{showFrames:e,pageHeader:t,pageSidebar:n}=(0,o.default)(),i=[{title:s.Locale.getSection("admin.controllers.home.admin").lmsg("title"),href:"/admin/"},{title:s.Locale.getSection("admin.controllers.server.tools").lmsg("title"),href:"/admin/server/tools/"},{title:s.Locale.getSection("components.pages.ts-sessions").lmsg("title"),href:"/cp/server/ts-sessions"}],a=i[i.length-1].title;return{showFrames:e,pageHeader:{...t,helpMenu:{...t.helpMenu,helpContext:"ts_sessions_list"}},pageSidebar:n,pageContentHeader:{pageTitle:a,breadcrumbs:i}}}))},1982:e=>{var t={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"DisconnectTsSessions"}
1,variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"DisconnectTsSessionsInput"}}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"disconnectTsSessions"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"ids"},arguments:[],directives:[]}]}}]}}],loc:{start:0,end:135}};t.loc.source={body:"mutation DisconnectTsSessions($input: DisconnectTsSessionsInput!) {\r\n disconnectTsSessions(input: $input) {\r\n ids\r\n }\r\n}\r\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){n(e,t)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){n(e,t)})),e.definitions&&e.definitions.forEach((function(e){n(e,t)}))}var i={};function o(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach((function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}})),e.exports=t,e.exports.DisconnectTsSessions=function(e,t){var n={kind:e.kind,definitions:[o(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var s=i[t]||new Set,a=new Set,r=new Set;for(s.forEach((function(e){r.add(e)}));r.size>0;){var l=r;r=new Set,l.forEach((function(e){a.has(e)||(a.add(e),(i[e]||new Set).forEach((function(e){r.add(e)})))}))}return a.forEach((function(t){var i=o(e,t);i&&n.definitions.push(i)})),n}(t,"DisconnectTsSessions")},1983:e=>{var t={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"LogoffTsSessions"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"input"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"LogoffTsSessionsInput"}}},directives:[]}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"logoffTsSessions"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"Variable",name:{kind:"Name",value:"input"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"ids"},arguments:[],directives:[]}]}}]}}],loc:{start:0,end:123}};t.loc.source={body:"mutation LogoffTsSessions($input: LogoffTsSessionsInput!) {\r\n logoffTsSessions(input: $input) {\r\n ids\r\n }\r\n}\r\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function n(e,t){if("FragmentSpread"===e.kind)t.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&t.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach((function(e){n(e,t)})),e.variableDefinitions&&e.variableDefinitions.forEach((function(e){n(e,t)})),e.definitions&&e.definitions.forEach((function(e){n(e,t)}))}var i={};function o(e,t){for(var n=0;n<e.definitions.length;n++){var i=e.definitions[n];if(i.name&&i.name.value==t)return i}}t.definitions.forEach((function(e){if(e.name){var t=new Set;n(e,t),i[e.name.value]=t}})),e.exports=t,e.exports.LogoffTsSessions=function(e,t){var n={kind:e.kind,definitions:[o(e,t)]};e.hasOwnProperty("loc")&&(n.loc=e.loc);var s=i[t]||new Set,a=new Set,r=new Set;for(s.forEach((function(e){r.add(e)}));r.size>0;){var l=r;r=new Set,l.forEach((function(e){a.has(e)||(a.add(e),(i[e]||new Set).forEach((function(e){r.add(e)})))}))}return a.forEach((function(t){var i=o(e,t);i&&n.definitions.push(i)})),n}(t,"LogoffTsSessions")}}]); 2//# sourceMappingURL=TsSessionsPage.js.map?c289dd2d98f52cef7e35
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.