Skip to content

Commit 55cef64

Browse files
committed
fix linting errors
1 parent 9dd62fd commit 55cef64

File tree

7 files changed

+170
-166
lines changed

7 files changed

+170
-166
lines changed

src/app/services/slices/collections.slice.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ const collections = createSlice({
5757
});
5858

5959
export const
60-
{ createCollection, addResourcePaths, updateResourcePaths, removeResourcePaths, resetSaveState } = collections.actions;
60+
{ createCollection,
61+
addResourcePaths,
62+
updateResourcePaths,
63+
removeResourcePaths,
64+
resetSaveState } = collections.actions;
6165

6266
export default collections.reducer;

src/app/views/sidebar/resource-explorer/ResourceExplorer.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ const UnstyledResourceExplorer = (props: any) => {
154154
<Stack horizontal reversed verticalAlign="center" tokens={{ childrenGap: 8 }}>
155155
<Stack.Item align='auto'>
156156
<div style={styles.apiCollectionCount}>
157-
{selectedLinks.length > 0 ? `(${selectedLinks.length})` : '0'}
157+
{selectedLinks.length > 0 ? `(${selectedLinks.length})` : '(0)'}
158158
</div>
159159
</Stack.Item>
160160
</Stack>

src/app/views/sidebar/resource-explorer/collection/EditCollectionPanel.tsx

Lines changed: 55 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -10,68 +10,68 @@ interface EditCollectionPanelProps {
1010
closePopup: () => void;
1111
}
1212

13-
const EditCollectionPanel: React.FC<EditCollectionPanelProps> = ({closePopup}) => {
14-
const dispatch = useAppDispatch();
15-
const [selectedItems, setSelectedItems] = useState<IResourceLink[]>([]);
16-
const { collections } = useAppSelector(
17-
(state) => state.collections
18-
);
19-
const items = collections && collections.length >
13+
const EditCollectionPanel: React.FC<EditCollectionPanelProps> = ({closePopup}) => {
14+
const dispatch = useAppDispatch();
15+
const [selectedItems, setSelectedItems] = useState<IResourceLink[]>([]);
16+
const { collections } = useAppSelector(
17+
(state) => state.collections
18+
);
19+
const items = collections && collections.length >
2020
0 ? collections.find(k => k.isDefault)!.paths : [];
2121

22-
const columns = [
23-
{ key: 'url', name: 'URL', fieldName: 'url', minWidth: 300, maxWidth: 1100, isResizable: true },
24-
{ key: 'scope', name: 'Scope', fieldName: 'scope', minWidth: 150, maxWidth: 200, isResizable: true }
25-
];
22+
const columns = [
23+
{ key: 'url', name: 'URL', fieldName: 'url', minWidth: 300, maxWidth: 1100, isResizable: true },
24+
{ key: 'scope', name: 'Scope', fieldName: 'scope', minWidth: 150, maxWidth: 200, isResizable: true }
25+
];
2626

27-
const removeSelectedItems = () => {
28-
dispatch(removeResourcePaths(selectedItems));
29-
setSelectedItems([]);
30-
};
27+
const removeSelectedItems = () => {
28+
dispatch(removeResourcePaths(selectedItems));
29+
setSelectedItems([]);
30+
};
3131

32-
return (
33-
<>
34-
<MessageBar isMultiline={true}>
32+
return (
33+
<>
34+
<MessageBar isMultiline={true}>
3535
{translateMessage('edit collections')}
3636
<span style={{ fontWeight: 'bold' }}>{translateMessage('Delete all selected')}</span>
37-
</MessageBar>
38-
{items && items.length > 0 ? (
39-
<div style={{ height: '80vh' }}>
40-
<Paths
41-
resources={items}
42-
columns={columns}
43-
isSelectable={true}
44-
onSelectionChange={(selected) => setSelectedItems(selected as IResourceLink[])}
45-
/>
46-
</div>
47-
) : (
48-
<div style={{height: '80vh'}}>
49-
<Label
50-
style={{
51-
display: 'flex',
52-
width: '100%',
53-
justifyContent: 'center',
54-
alignItems: 'center'
55-
}}
56-
>
57-
{translateMessage('No items available')}
58-
</Label>
59-
</div>
60-
)}
61-
<DialogFooter
62-
styles={{
63-
actionsRight: { bottom: 0, justifyContent: 'start' }
64-
}}>
65-
<PrimaryButton onClick={removeSelectedItems} disabled={selectedItems.length === 0}>
66-
{translateMessage('Delete all selected')}
67-
</PrimaryButton>
37+
</MessageBar>
38+
{items && items.length > 0 ? (
39+
<div style={{ height: '80vh' }}>
40+
<Paths
41+
resources={items}
42+
columns={columns}
43+
isSelectable={true}
44+
onSelectionChange={(selected) => setSelectedItems(selected as IResourceLink[])}
45+
/>
46+
</div>
47+
) : (
48+
<div style={{height: '80vh'}}>
49+
<Label
50+
style={{
51+
display: 'flex',
52+
width: '100%',
53+
justifyContent: 'center',
54+
alignItems: 'center'
55+
}}
56+
>
57+
{translateMessage('No items available')}
58+
</Label>
59+
</div>
60+
)}
61+
<DialogFooter
62+
styles={{
63+
actionsRight: { bottom: 0, justifyContent: 'start' }
64+
}}>
65+
<PrimaryButton onClick={removeSelectedItems} disabled={selectedItems.length === 0}>
66+
{translateMessage('Delete all selected')}
67+
</PrimaryButton>
6868

69-
<DefaultButton onClick={closePopup}>
70-
{translateMessage('Close')}
71-
</DefaultButton>
72-
</DialogFooter>
73-
</>
74-
);
69+
<DefaultButton onClick={closePopup}>
70+
{translateMessage('Close')}
71+
</DefaultButton>
72+
</DialogFooter>
73+
</>
74+
);
7575
};
7676

7777
export default EditCollectionPanel;
Lines changed: 88 additions & 88 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { DefaultButton,
2-
DialogFooter,
3-
Dropdown,
4-
IDropdownOption,
5-
Label,
6-
MessageBar,
7-
PrimaryButton } from '@fluentui/react';
2+
DialogFooter,
3+
Dropdown,
4+
IDropdownOption,
5+
Label,
6+
MessageBar,
7+
PrimaryButton } from '@fluentui/react';
88
import { translateMessage } from '../../../../utils/translate-messages';
99
import { useEffect, useState } from 'react';
1010
import { IResourceLink } from '../../../../../types/resources';
@@ -19,97 +19,97 @@ interface EditScopePanelProps {
1919
}
2020

2121
const EditScopePanel: React.FC<EditScopePanelProps> = ({ closePopup }) => {
22-
const dispatch = useAppDispatch();
23-
const [selectedItems, setSelectedItems] = useState<IResourceLink[]>([]);
24-
const [selectedScope, setSelectedScope] = useState<PERMS_SCOPE | null>(null);
25-
const [dropdownKey, setDropdownKey] = useState(0);
26-
const [pendingChanges, setPendingChanges] = useState<IResourceLink[]>([]);
27-
const { collections, saved } = useAppSelector((state) => state.collections);
28-
const items = collections && collections.length > 0 ? collections.find(k => k.isDefault)!.paths : [];
22+
const dispatch = useAppDispatch();
23+
const [selectedItems, setSelectedItems] = useState<IResourceLink[]>([]);
24+
const [selectedScope, setSelectedScope] = useState<PERMS_SCOPE | null>(null);
25+
const [dropdownKey, setDropdownKey] = useState(0);
26+
const [pendingChanges, setPendingChanges] = useState<IResourceLink[]>([]);
27+
const { collections, saved } = useAppSelector((state) => state.collections);
28+
const items = collections && collections.length > 0 ? collections.find(k => k.isDefault)!.paths : [];
2929

30-
useEffect(() => {
31-
if (saved) {
32-
setSelectedItems([]);
33-
setSelectedScope(null);
34-
setPendingChanges([]);
35-
}
36-
}, [saved]);
30+
useEffect(() => {
31+
if (saved) {
32+
setSelectedItems([]);
33+
setSelectedScope(null);
34+
setPendingChanges([]);
35+
}
36+
}, [saved]);
3737

38-
const columns = [
39-
{ key: 'url', name: 'URL', fieldName: 'url', minWidth: 300, maxWidth: 1100, isResizable: true },
40-
{ key: 'scope', name: 'Scope', fieldName: 'scope', minWidth: 150, maxWidth: 200, isResizable: true }
41-
];
38+
const columns = [
39+
{ key: 'url', name: 'URL', fieldName: 'url', minWidth: 300, maxWidth: 1100, isResizable: true },
40+
{ key: 'scope', name: 'Scope', fieldName: 'scope', minWidth: 150, maxWidth: 200, isResizable: true }
41+
];
4242

43-
const handleScopeChange = (_event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption) => {
44-
if (!option) {return;}
45-
const newScope = option.key as PERMS_SCOPE;
46-
const updatedSelectedItems = selectedItems.map(item => ({ ...item, scope: newScope }));
47-
setSelectedItems(updatedSelectedItems);
48-
const newPendingChanges = [...pendingChanges];
49-
updatedSelectedItems.forEach(updatedItem => {
50-
const index = newPendingChanges.findIndex(item => item.key === updatedItem.key);
51-
if (index > -1) {
52-
newPendingChanges[index] = updatedItem;
53-
} else {
54-
newPendingChanges.push(updatedItem);
55-
}
56-
});
57-
setPendingChanges(newPendingChanges);
58-
setSelectedScope(null);
59-
setDropdownKey(prevKey => prevKey + 1);
60-
};
43+
const handleScopeChange = (_event: React.FormEvent<HTMLDivElement>, option?: IDropdownOption) => {
44+
if (!option) {return;}
45+
const newScope = option.key as PERMS_SCOPE;
46+
const updatedSelectedItems = selectedItems.map(item => ({ ...item, scope: newScope }));
47+
setSelectedItems(updatedSelectedItems);
48+
const newPendingChanges = [...pendingChanges];
49+
updatedSelectedItems.forEach(updatedItem => {
50+
const index = newPendingChanges.findIndex(item => item.key === updatedItem.key);
51+
if (index > -1) {
52+
newPendingChanges[index] = updatedItem;
53+
} else {
54+
newPendingChanges.push(updatedItem);
55+
}
56+
});
57+
setPendingChanges(newPendingChanges);
58+
setSelectedScope(null);
59+
setDropdownKey(prevKey => prevKey + 1);
60+
};
6161

62-
const saveAllScopes = () => {
63-
if (pendingChanges.length > 0) {
64-
dispatch(resetSaveState());
62+
const saveAllScopes = () => {
63+
if (pendingChanges.length > 0) {
64+
dispatch(resetSaveState());
6565

66-
const updatedItems = items.map(item =>
67-
pendingChanges.find(changedItem => changedItem.key === item.key) || item
68-
);
66+
const updatedItems = items.map(item =>
67+
pendingChanges.find(changedItem => changedItem.key === item.key) || item
68+
);
6969

70-
dispatch(updateResourcePaths(updatedItems));
71-
}
72-
};
70+
dispatch(updateResourcePaths(updatedItems));
71+
}
72+
};
7373

74-
return (
75-
<>
76-
<MessageBar isMultiline={true}>
77-
{translateMessage('edit query scopes')}
78-
<span style={{ fontWeight: 'bold' }}>{translateMessage('Save all')}</span>
79-
</MessageBar>
74+
return (
75+
<>
76+
<MessageBar isMultiline={true}>
77+
{translateMessage('edit query scopes')}
78+
<span style={{ fontWeight: 'bold' }}>{translateMessage('Save all')}</span>
79+
</MessageBar>
8080

81-
<div style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', padding: '10px 0px' }}>
82-
<Label style={{ marginRight: '16px' }}>{translateMessage('Change scope to: ')}</Label>
83-
<Dropdown
84-
key={dropdownKey}
85-
placeholder={translateMessage('[Select one scope]')}
86-
options={scopeOptions.map(option =>
87-
({ key: option.key, text: formatScopeLabel(option.key as PERMS_SCOPE) }))}
88-
onChange={handleScopeChange}
89-
selectedKey={selectedScope}
90-
disabled={selectedItems.length === 0}
91-
styles={{ dropdown: { width: 200 } }}
92-
/>
93-
</div>
94-
<div style={{ height: '80vh' }}>
95-
<Paths
96-
resources={items.map(item => pendingChanges.find(change => change.key === item.key) || item)}
97-
columns={columns}
98-
isSelectable={true}
99-
onSelectionChange={(selected) => setSelectedItems(selected as IResourceLink[])}
100-
/>
101-
</div>
81+
<div style={{ display: 'flex', justifyContent: 'flex-end', alignItems: 'center', padding: '10px 0px' }}>
82+
<Label style={{ marginRight: '16px' }}>{translateMessage('Change scope to: ')}</Label>
83+
<Dropdown
84+
key={dropdownKey}
85+
placeholder={translateMessage('[Select one scope]')}
86+
options={scopeOptions.map(option =>
87+
({ key: option.key, text: formatScopeLabel(option.key as PERMS_SCOPE) }))}
88+
onChange={handleScopeChange}
89+
selectedKey={selectedScope}
90+
disabled={selectedItems.length === 0}
91+
styles={{ dropdown: { width: 200 } }}
92+
/>
93+
</div>
94+
<div style={{ height: '80vh' }}>
95+
<Paths
96+
resources={items.map(item => pendingChanges.find(change => change.key === item.key) || item)}
97+
columns={columns}
98+
isSelectable={true}
99+
onSelectionChange={(selected) => setSelectedItems(selected as IResourceLink[])}
100+
/>
101+
</div>
102102

103-
<DialogFooter styles={{ actionsRight: { bottom: 0, justifyContent: 'start' } }}>
104-
<PrimaryButton onClick={saveAllScopes} disabled={pendingChanges.length === 0}>
105-
{translateMessage('Save all')}
106-
</PrimaryButton>
107-
<DefaultButton onClick={closePopup}>
108-
{translateMessage('Close')}
109-
</DefaultButton>
110-
</DialogFooter>
111-
</>
112-
);
103+
<DialogFooter styles={{ actionsRight: { bottom: 0, justifyContent: 'start' } }}>
104+
<PrimaryButton onClick={saveAllScopes} disabled={pendingChanges.length === 0}>
105+
{translateMessage('Save all')}
106+
</PrimaryButton>
107+
<DefaultButton onClick={closePopup}>
108+
{translateMessage('Close')}
109+
</DefaultButton>
110+
</DialogFooter>
111+
</>
112+
);
113113
};
114114

115115
export default EditScopePanel;

src/app/views/sidebar/resource-explorer/collection/Paths.tsx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -87,18 +87,18 @@ export default class Paths extends Component<IPathProps> {
8787
const { resources, columns, isSelectable } = this.props;
8888
return (
8989
<div style={{ height: '80vh', overflowY: 'auto', overflowX: 'hidden' }}>
90-
<DetailsList
91-
items={resources}
92-
columns={columns}
93-
setKey='set'
94-
onRenderItemColumn={this.renderItemColumn}
95-
layoutMode={DetailsListLayoutMode.justified}
96-
selection={isSelectable ? this._selection! : undefined}
97-
selectionMode={isSelectable ? 2 : 0}
98-
onShouldVirtualize={() => false}
99-
checkboxVisibility={isSelectable ? 1 : 0}
100-
onRenderCheckbox={this.renderCustomCheckbox}
101-
/>
90+
<DetailsList
91+
items={resources}
92+
columns={columns}
93+
setKey='set'
94+
onRenderItemColumn={this.renderItemColumn}
95+
layoutMode={DetailsListLayoutMode.justified}
96+
selection={isSelectable ? this._selection! : undefined}
97+
selectionMode={isSelectable ? 2 : 0}
98+
onShouldVirtualize={() => false}
99+
checkboxVisibility={isSelectable ? 1 : 0}
100+
onRenderCheckbox={this.renderCustomCheckbox}
101+
/>
102102
</div>
103103
);
104104
}

src/app/views/sidebar/resource-explorer/collection/collection.util.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ function getVersionsFromPaths(paths: ResourcePath[]): string[] {
2323

2424
const formatScopeLabel = (scope: PERMS_SCOPE) => {
2525
switch (scope) {
26-
case PERMS_SCOPE.WORK:
27-
return 'Delegated Work';
28-
case PERMS_SCOPE.APPLICATION:
29-
return 'Application';
30-
case PERMS_SCOPE.PERSONAL:
31-
return 'Delegated Personal';
32-
default:
33-
return scope; // fallback in case of an unknown value
26+
case PERMS_SCOPE.WORK:
27+
return 'Delegated Work';
28+
case PERMS_SCOPE.APPLICATION:
29+
return 'Application';
30+
case PERMS_SCOPE.PERSONAL:
31+
return 'Delegated Personal';
32+
default:
33+
return scope; // fallback in case of an unknown value
3434
}
3535
};
3636

0 commit comments

Comments
 (0)