Skip to content

Commit 71c5a5e

Browse files
authored
fix: fixes most of the windows commands (#5391)
* fix: fixes most of the windows commands
1 parent e0e3ccb commit 71c5a5e

File tree

7 files changed

+105
-18
lines changed

7 files changed

+105
-18
lines changed

src/homepageExperience/components/steps/cli/ExecuteAggregateQuery.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ import {DEFAULT_BUCKET} from 'src/writeData/components/WriteDataDetailsContext'
88
// Utils
99
import {SafeBlankLink} from 'src/utils/SafeBlankLink'
1010
import {event} from 'src/cloud/utils/reporting'
11-
import {keyboardCopyTriggered, userSelection} from 'src/utils/crossPlatform'
11+
import {
12+
isUsingWindows,
13+
keyboardCopyTriggered,
14+
userSelection,
15+
} from 'src/utils/crossPlatform'
1216

1317
const logCopyCodeSnippet = () => {
1418
event('firstMile.cliWizard.executeAggregateQuery.code.copied')
@@ -30,7 +34,8 @@ export const ExecuteAggregateQuery = (props: OwnProps) => {
3034
|> filter(fn: (r) => r.measurement == "temperature")
3135
|> mean()`
3236

33-
const codeSnippet = `influx query 'from(bucket:"${bucketName}") |> range(start:-30m) |> mean()' --raw`
37+
const codeSnippetMac = `influx query 'from(bucket:"${bucketName}") |> range(start:-30m) |> mean()' --raw`
38+
const codeSnippetWindows = `.\\influx query 'from(bucket:"${bucketName}") |> range(start:-30m) |> mean()' --raw`
3439

3540
useEffect(() => {
3641
const fireKeyboardCopyEvent = event => {
@@ -71,7 +76,7 @@ export const ExecuteAggregateQuery = (props: OwnProps) => {
7176
/>
7277
<p>In the InfluxDB CLI, run the following:</p>
7378
<CodeSnippet
74-
text={codeSnippet}
79+
text={isUsingWindows() ? codeSnippetWindows : codeSnippetMac}
7580
onCopy={logCopyCodeSnippet}
7681
language="properties"
7782
/>

src/homepageExperience/components/steps/cli/ExecuteQuery.tsx

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,11 @@ import {DEFAULT_BUCKET} from 'src/writeData/components/WriteDataDetailsContext'
1010
// Utils
1111
import {event} from 'src/cloud/utils/reporting'
1212
import {SafeBlankLink} from 'src/utils/SafeBlankLink'
13-
import {keyboardCopyTriggered, userSelection} from 'src/utils/crossPlatform'
13+
import {
14+
isUsingWindows,
15+
keyboardCopyTriggered,
16+
userSelection,
17+
} from 'src/utils/crossPlatform'
1418

1519
const logCopyCodeSnippet = () => {
1620
event('firstMile.cliWizard.executeQuery.code.copied')
@@ -23,7 +27,8 @@ type OwnProps = {
2327
export const ExecuteQuery = (props: OwnProps) => {
2428
const {bucket} = props
2529
const bucketName = bucket === DEFAULT_BUCKET ? 'sample-bucket' : bucket
26-
const query = `influx query 'from(bucket:"${bucketName}") |> range(start:-30m)' --raw`
30+
const queryMac = `influx query 'from(bucket:"${bucketName}") |> range(start:-30m)' --raw`
31+
const queryWindows = `.\\influx query 'from(bucket:"${bucketName}") |> range(start:-30m)' --raw`
2732

2833
const fluxExample = `from(bucket: “weather-data”)
2934
|> range(start: -10m)
@@ -72,7 +77,7 @@ export const ExecuteQuery = (props: OwnProps) => {
7277
the InfluxDB CLI.
7378
</p>
7479
<CodeSnippet
75-
text={query}
80+
text={isUsingWindows() ? queryWindows : queryMac}
7681
onCopy={logCopyCodeSnippet}
7782
language="properties"
7883
/>

src/homepageExperience/components/steps/cli/InitializeClient.tsx

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,11 @@ import {WriteDataDetailsContext} from 'src/writeData/components/WriteDataDetails
3131
// Utils
3232
import {allAccessPermissions} from 'src/authorizations/utils/permissions'
3333
import {event} from 'src/cloud/utils/reporting'
34-
import {keyboardCopyTriggered, userSelection} from 'src/utils/crossPlatform'
34+
import {
35+
isUsingWindows,
36+
keyboardCopyTriggered,
37+
userSelection,
38+
} from 'src/utils/crossPlatform'
3539

3640
// Types
3741
import {AppState, Authorization} from 'src/types'
@@ -63,13 +67,21 @@ export const InitializeClient: FC<OwnProps> = ({
6367
})
6468
const token = currentAuth.token
6569

66-
const codeSnippet = `influx config create --config-name onboarding \\
70+
const codeSnippetMac = `influx config create --config-name onboarding \\
6771
--host-url "${url}" \\
6872
--org "${org.id}" \\
6973
--token "${token}" \\
7074
--active`
7175

72-
const bucketSnippet = `influx bucket create --name sample-bucket -c onboarding`
76+
const bucketSnippetMac = `influx bucket create --name sample-bucket -c onboarding`
77+
78+
const codeSnippetWindows = `.\\influx config create --config-name onboarding \`
79+
--host-url "${url}" \`
80+
--org "${org.id}" \`
81+
--token "${token}" \`
82+
--active`
83+
84+
const bucketSnippetWindows = `.\\influx bucket create --name sample-bucket -c onboarding`
7385

7486
const sortedPermissionTypes = useMemo(
7587
() => allPermissionTypes.sort((a, b) => collator.compare(a, b)),
@@ -142,7 +154,7 @@ export const InitializeClient: FC<OwnProps> = ({
142154
profile using a different token for working with your own data.
143155
</p>
144156
<CodeSnippet
145-
text={codeSnippet}
157+
text={isUsingWindows() ? codeSnippetWindows : codeSnippetMac}
146158
onCopy={logCopyCodeSnippet}
147159
language="properties"
148160
/>
@@ -174,7 +186,7 @@ export const InitializeClient: FC<OwnProps> = ({
174186
skip this step and proceed to the next.
175187
</p>
176188
<CodeSnippet
177-
text={bucketSnippet}
189+
text={isUsingWindows() ? bucketSnippetWindows : bucketSnippetMac}
178190
onCopy={logCopyCodeSnippet}
179191
language="properties"
180192
/>

src/homepageExperience/components/steps/cli/InstallDependencies.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -218,9 +218,10 @@ sudo cp influxdb2-client-latest-linux-arm64/influx /usr/local/bin/
218218
<p>2. Click Allow access</p>
219219
<h2 style={headingWithMargin}>Useful InfluxDB CLI commands</h2>
220220
<p>
221-
To invoke a command, use the following format in the command line:
221+
To invoke a command, move into the directory where the CLI package
222+
is installed and use the following format in the command line:
222223
</p>
223-
<p style={{marginLeft: '40px'}}>influx [command]</p>
224+
<p style={{marginLeft: '40px'}}>.\influx [command]</p>
224225
<Table borders={BorderType.All}>
225226
<Table.Body>
226227
<Table.Row>

src/homepageExperience/components/steps/cli/WriteData.tsx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,11 @@ import {DEFAULT_BUCKET} from 'src/writeData/components/WriteDataDetailsContext'
1212

1313
// Utils
1414
import {event} from 'src/cloud/utils/reporting'
15-
import {keyboardCopyTriggered, userSelection} from 'src/utils/crossPlatform'
15+
import {
16+
isUsingWindows,
17+
keyboardCopyTriggered,
18+
userSelection,
19+
} from 'src/utils/crossPlatform'
1620

1721
// Assets
1822
import sampleCsv from 'assets/images/sample-csv.png'
@@ -36,8 +40,10 @@ export const WriteDataComponent = (props: OwnProps) => {
3640

3741
const sampleDataUrl =
3842
'https://influx-testdata.s3.amazonaws.com/air-sensor-data-annotated.csv'
39-
const writeDataCodeCsv = `influx write --bucket ${bucketName} --file downloads/air-sensor-data-annotated.csv`
40-
const writeDataCodeUrl = `influx write --bucket ${bucketName} --url ${sampleDataUrl}`
43+
const writeDataCodeCsvMac = `influx write --bucket ${bucketName} --file downloads/air-sensor-data-annotated.csv`
44+
const writeDataCodeCsvWindows = `.\\influx write --bucket ${bucketName} --file <YOUR_PATH>/air-sensor-data-annotated.csv`
45+
const writeDataCodeUrlMac = `influx write --bucket ${bucketName} --url ${sampleDataUrl}`
46+
const writeDataCodeUrlWindows = `.\\influx write --bucket ${bucketName} --url ${sampleDataUrl}`
4147

4248
const [currentDataSelection, setCurrentDataSelection] = useState<
4349
CurrentDataSelection
@@ -118,7 +124,9 @@ export const WriteDataComponent = (props: OwnProps) => {
118124
bucket.
119125
</p>
120126
<CodeSnippet
121-
text={writeDataCodeCsv}
127+
text={
128+
isUsingWindows() ? writeDataCodeCsvWindows : writeDataCodeCsvMac
129+
}
122130
onCopy={logCopyCodeSnippet}
123131
language="properties"
124132
/>
@@ -179,7 +187,9 @@ export const WriteDataComponent = (props: OwnProps) => {
179187
bucket.
180188
</p>
181189
<CodeSnippet
182-
text={writeDataCodeUrl}
190+
text={
191+
isUsingWindows() ? writeDataCodeUrlWindows : writeDataCodeUrlMac
192+
}
183193
onCopy={logCopyCodeSnippet}
184194
language="properties"
185195
/>

src/utils/crossPlatform.test.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ import {
22
shouldOpenLinkInNewTab,
33
keyboardCopyTriggered,
44
userSelection,
5+
isUsingWindows,
6+
isUsingMac,
7+
isUsingLinux,
58
} from 'src/utils/crossPlatform'
69

710
let userAgentGetter
@@ -196,3 +199,33 @@ describe('checking whether a link should be opened in a new tab', () => {
196199
})
197200
})
198201
})
202+
203+
describe('which operating system', () => {
204+
beforeEach(() => {
205+
userAgentGetter = jest.spyOn(global.window.navigator, 'userAgent', 'get')
206+
})
207+
it('is windows', () => {
208+
userAgentGetter.mockReturnValue('5.0 Windows')
209+
expect(isUsingWindows()).toBeTruthy()
210+
})
211+
it('is mac', () => {
212+
userAgentGetter.mockReturnValue('5.0 Macintosh')
213+
expect(isUsingMac()).toBeTruthy()
214+
})
215+
it('is linux', () => {
216+
userAgentGetter.mockReturnValue('5.0 Linux')
217+
expect(isUsingLinux()).toBeTruthy()
218+
})
219+
it('is not windows', () => {
220+
userAgentGetter.mockReturnValue('5.0 Macintosh')
221+
expect(isUsingWindows()).toBeFalsy()
222+
})
223+
it('is not mac', () => {
224+
userAgentGetter.mockReturnValue('5.0 Windows')
225+
expect(isUsingMac()).toBeFalsy()
226+
})
227+
it('is not linux', () => {
228+
userAgentGetter.mockReturnValue('5.0 Macintosh')
229+
expect(isUsingLinux()).toBeFalsy()
230+
})
231+
})

src/utils/crossPlatform.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,3 +70,24 @@ export const keyboardCopyTriggered = (
7070
export const userSelection = () => {
7171
return window.getSelection().toString()
7272
}
73+
74+
export const isUsingWindows = () => {
75+
if (window?.navigator?.userAgent.includes('Windows')) {
76+
return true
77+
}
78+
return false
79+
}
80+
81+
export const isUsingMac = () => {
82+
if (window?.navigator?.userAgent.includes('Mac')) {
83+
return true
84+
}
85+
return false
86+
}
87+
88+
export const isUsingLinux = () => {
89+
if (window?.navigator?.userAgent.includes('Linux')) {
90+
return true
91+
}
92+
return false
93+
}

0 commit comments

Comments
 (0)