Skip to content
This repository has been archived by the owner on Feb 8, 2024. It is now read-only.

Commit

Permalink
🐛 Fix not being able to filter nodes by searching exact label
Browse files Browse the repository at this point in the history
Co-authored-by: Yassine Bounekhla <yassine@goteleport.com>
  • Loading branch information
2 people authored and kimlisa committed Apr 29, 2021
1 parent e618be9 commit dde8c93
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 95 deletions.
56 changes: 37 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,24 +118,42 @@ and iterate on shared functionality.

```js

// Autoformat on save
"editor.formatOnSave": false,

// Specify prettier configuration file
"prettier.configPath": ".prettierrc",

"[javascript]": {
"editor.formatOnSave": true
},

"[javascriptreact]": {
"editor.tabSize": 2,
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},

"[html]": {
// Set the default
"editor.formatOnSave": false,
// absolute config path
"prettier.configPath": ".prettierrc",
// enable per-language
"[html]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascript]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[javascriptreact]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
},
"[typescript]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[typescriptreact]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
},
"[json]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features"
},
"[jsonc]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "vscode.json-language-features"
},
"[markdown]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
},
"editor.tabSize": 2,
"editor.defaultFormatter": "esbenp.prettier-vscode"
}
```
35 changes: 12 additions & 23 deletions packages/teleport/src/Console/DocumentNodes/DocumentNodes.story.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import React from 'react';
import DocumentNodes from './DocumentNodes';
import ConsoleCtx from './../consoleContext';
import { TestLayout } from './../Console.story';
import { Node } from 'teleport/services/nodes/types';

export default {
title: 'Teleport/Console/DocumentNodes',
Expand Down Expand Up @@ -90,50 +91,38 @@ const clusters = [
},
];

const nodes = [
const nodes: Node[] = [
{
tunnel: false,
id: '104',
clusterId: 'cluseter-1',
hostname: 'fujedu',
addr: '172.10.1.20:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: false,
id: '170',
clusterId: 'cluseter-1',
hostname: 'facuzguv',
addr: '172.10.1.42:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: true,
id: '192',
clusterId: 'cluseter-1',
hostname: 'duzsevkig',
addr: '172.10.1.156:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: true,
id: '64',
clusterId: 'cluseter-1',
hostname: 'kuhinur',
addr: '172.10.1.145:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: false,
Expand All @@ -142,12 +131,12 @@ const nodes = [
hostname: 'zebpecda',
addr: '172.10.1.24:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
{ name: 'lortavma', value: 'one' },
{ name: 'lenisret', value: '4.15.0-51-generic' },
{ name: 'lofdevod', value: 'one' },
{ name: 'llhurlaz', value: '4.15.0-51-generic' },
'cluster: one',
'kernel: 4.15.0-51-generic',
'lortavma: one',
'lenisret: 4.15.0-51-generic',
'lofdevod: one',
'llhurlaz: 4.15.0-51-generic',
],
},
];
39 changes: 10 additions & 29 deletions packages/teleport/src/Nodes/fixtures/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,83 +14,64 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

export const nodes = [
import { Node } from 'teleport/services/nodes';

export const nodes: Node[] = [
{
tunnel: false,
id: '104',
clusterId: 'one',
hostname: 'fujedu',
addr: '172.10.1.20:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: false,
id: '170',
clusterId: 'one',
hostname: 'facuzguv',
addr: '172.10.1.1:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: false,
id: '192',
clusterId: 'one',
hostname: 'duzsevkig',
addr: '172.10.1.1:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: false,
id: '64',
clusterId: 'one',
hostname: 'kuhinur',
addr: '172.10.1.1:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: false,
id: '81',
clusterId: 'one',
hostname: 'zebpecda',
addr: '172.10.1.1:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: true,
id: '81',
clusterId: 'one',
hostname: 'zebpecda',
addr: '172.10.1.1:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
{
tunnel: true,
id: '81',
clusterId: 'one',
hostname: 'zebpecda',
addr: '172.10.1.1:3022',
tags: [
{ name: 'cluster', value: 'one' },
{ name: 'kernel', value: '4.15.0-51-generic' },
],
tags: ['cluster: one', 'kernel: 4.15.0-51-generic'],
},
];

Expand Down
12 changes: 4 additions & 8 deletions packages/teleport/src/components/NodeList/NodeList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -111,11 +111,7 @@ function searchAndFilterCb(

if (propName === 'tags') {
return targetValue.some(item => {
const { name, value } = item;
return (
name.toLocaleUpperCase().indexOf(searchValue) !== -1 ||
value.toLocaleUpperCase().indexOf(searchValue) !== -1
);
return item.toLocaleUpperCase().indexOf(searchValue) !== -1;
});
}
}
Expand Down Expand Up @@ -161,9 +157,9 @@ const LoginCell: React.FC<Required<{
export function LabelCell(props) {
const { rowIndex, data } = props;
const { tags } = data[rowIndex];
const $labels = tags.map(({ name, value }) => (
<Label mb="1" mr="1" key={name} kind="secondary">
{`${name}: ${value}`}
const $labels = tags.map(label => (
<Label mb="1" mr="1" key={label} kind="secondary">
{`${label}`}
</Label>
));

Expand Down
12 changes: 2 additions & 10 deletions packages/teleport/src/services/nodes/makeNode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,24 +14,16 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

import { at } from 'lodash';
import { Node } from './types';

export default function makeNode(json): Node {
const [id, clusterId, hostname, tags = [], addr, tunnel = false] = at(json, [
'id',
'siteId',
'hostname',
'tags',
'addr',
'tunnel',
]);
const { id, clusterId, hostname, addr, tunnel, tags = [] } = json;

return {
id,
clusterId,
hostname,
tags,
tags: tags.map(tag => `${tag.name}: ${tag.value}`),
addr,
tunnel,
};
Expand Down
7 changes: 1 addition & 6 deletions packages/teleport/src/services/nodes/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,11 @@ See the License for the specific language governing permissions and
limitations under the License.
*/

export interface Tag {
name: string;
value: string;
}

export interface Node {
id: string;
clusterId: string;
hostname: string;
tags: Tag[];
tags: string[];
addr: string;
tunnel: boolean;
}
Expand Down

0 comments on commit dde8c93

Please sign in to comment.