mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 01:38:56 -04:00
* Upversion to EUI 39.1.0 * Update i18n_eui_mapping tokens @see https://github.com/elastic/eui/blob/master/i18ntokens_changelog.json * Merge refractor in yarn.lock * Fix functional table filter selector - Popover ID was removed in recent EUI a11y fix, so we're using child-position selection to target the Tags filter now * Update snaphots * Upgrade to 39.1.1 for extra bugfixes * Update i18n mappings * Fix i18n snapshot * Attempt to harden flaky Security Cypress test * More combobox entry hardening - Got a flake on clicking the combobox dropdown on run 17/20 locally Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Constance <constancecchen@users.noreply.github.com>
This commit is contained in:
parent
c13cbe8212
commit
c6536d483e
14 changed files with 935 additions and 896 deletions
|
@ -99,7 +99,7 @@
|
|||
"@elastic/datemath": "link:bazel-bin/packages/elastic-datemath",
|
||||
"@elastic/elasticsearch": "npm:@elastic/elasticsearch-canary@^7.16.0-canary.4",
|
||||
"@elastic/ems-client": "7.16.0",
|
||||
"@elastic/eui": "39.0.0",
|
||||
"@elastic/eui": "39.1.1",
|
||||
"@elastic/filesaver": "1.1.2",
|
||||
"@elastic/good": "^9.0.1-kibana3",
|
||||
"@elastic/maki": "6.3.0",
|
||||
|
|
|
@ -175,6 +175,7 @@ exports[`#start() returns \`Context\` component 1`] = `
|
|||
"euiRefreshInterval.legend": "Refresh every",
|
||||
"euiRefreshInterval.start": "Start",
|
||||
"euiRefreshInterval.stop": "Stop",
|
||||
"euiRelativeTab.dateInputError": "Must be a valid range",
|
||||
"euiRelativeTab.fullDescription": [Function],
|
||||
"euiRelativeTab.numberInputError": "Must be >= 0",
|
||||
"euiRelativeTab.numberInputLabel": "Time span amount",
|
||||
|
|
|
@ -64,7 +64,7 @@ export const getEuiContextMapping = (): EuiTokensObject => {
|
|||
}),
|
||||
'euiBasicTable.tablePagination': ({ tableCaption }: EuiValues) =>
|
||||
i18n.translate('core.euiBasicTable.tablePagination', {
|
||||
defaultMessage: 'Pagination for preceding table: {tableCaption}',
|
||||
defaultMessage: 'Pagination for table: {tableCaption}',
|
||||
values: { tableCaption },
|
||||
description: 'Screen reader text to describe the pagination controls',
|
||||
}),
|
||||
|
@ -861,6 +861,9 @@ export const getEuiContextMapping = (): EuiTokensObject => {
|
|||
'euiRelativeTab.numberInputLabel': i18n.translate('core.euiRelativeTab.numberInputLabel', {
|
||||
defaultMessage: 'Time span amount',
|
||||
}),
|
||||
'euiRelativeTab.dateInputError': i18n.translate('core.euiRelativeTab.dateInputError', {
|
||||
defaultMessage: 'Must be a valid range',
|
||||
}),
|
||||
'euiResizableButton.horizontalResizerAriaLabel': i18n.translate(
|
||||
'core.euiResizableButton.horizontalResizerAriaLabel',
|
||||
{
|
||||
|
|
|
@ -75,6 +75,6 @@ export const LICENSE_OVERRIDES = {
|
|||
'jsts@1.6.2': ['Eclipse Distribution License - v 1.0'], // cf. https://github.com/bjornharrtell/jsts
|
||||
'@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint
|
||||
'@elastic/ems-client@7.16.0': ['Elastic License 2.0'],
|
||||
'@elastic/eui@39.0.0': ['SSPL-1.0 OR Elastic License 2.0'],
|
||||
'@elastic/eui@39.1.1': ['SSPL-1.0 OR Elastic License 2.0'],
|
||||
'language-subtag-registry@0.3.21': ['CC-BY-4.0'], // retired ODC‑By license https://github.com/mattcg/language-subtag-registry
|
||||
};
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -151,7 +151,6 @@ exports[`ErrorGroupOverview -> List should render empty state 1`] = `
|
|||
className="euiTableHeaderCell"
|
||||
data-test-subj="tableHeaderCell_handled_3"
|
||||
role="columnheader"
|
||||
scope="col"
|
||||
style={
|
||||
Object {
|
||||
"width": undefined,
|
||||
|
@ -447,7 +446,6 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = `
|
|||
className="euiTableHeaderCell"
|
||||
data-test-subj="tableHeaderCell_handled_3"
|
||||
role="columnheader"
|
||||
scope="col"
|
||||
style={
|
||||
Object {
|
||||
"width": undefined,
|
||||
|
@ -1265,6 +1263,7 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = `
|
|||
className="euiFlexItem euiFlexItem--flexGrowZero"
|
||||
>
|
||||
<nav
|
||||
aria-label="Pagination for table: "
|
||||
className="euiPagination"
|
||||
>
|
||||
<button
|
||||
|
@ -1284,6 +1283,7 @@ exports[`ErrorGroupOverview -> List should render with data 1`] = `
|
|||
/>
|
||||
</button>
|
||||
<ul
|
||||
aria-label="Pagination for table: "
|
||||
className="euiPagination__list"
|
||||
>
|
||||
<li
|
||||
|
|
|
@ -341,7 +341,7 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-workpad-2"
|
||||
disabled={false}
|
||||
id="_selection_column_workpad-2-checkbox"
|
||||
id="__table_generated-id_selection_column_workpad-2-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -515,7 +515,7 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-workpad-1"
|
||||
disabled={false}
|
||||
id="_selection_column_workpad-1-checkbox"
|
||||
id="__table_generated-id_selection_column_workpad-1-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -689,7 +689,7 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-workpad-0"
|
||||
disabled={false}
|
||||
id="_selection_column_workpad-0-checkbox"
|
||||
id="__table_generated-id_selection_column_workpad-0-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -896,6 +896,7 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = `
|
|||
className="euiFlexItem euiFlexItem--flexGrowZero"
|
||||
>
|
||||
<nav
|
||||
aria-label="Pagination for table: "
|
||||
className="euiPagination"
|
||||
>
|
||||
<button
|
||||
|
@ -915,6 +916,7 @@ exports[`Storyshots Home/Components/Workpad Table Workpad Table 1`] = `
|
|||
/>
|
||||
</button>
|
||||
<ul
|
||||
aria-label="Pagination for table: "
|
||||
className="euiPagination__list"
|
||||
>
|
||||
<li
|
||||
|
|
|
@ -368,7 +368,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
compressed={false}
|
||||
data-test-subj="checkboxSelectRow-k90e51pk1ieucbae0c3t8wo2"
|
||||
disabled={false}
|
||||
id="_selection_column_k90e51pk1ieucbae0c3t8wo2-checkbox"
|
||||
id="__table_generated-id_selection_column_k90e51pk1ieucbae0c3t8wo2-checkbox"
|
||||
indeterminate={false}
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
|
@ -383,7 +383,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-k90e51pk1ieucbae0c3t8wo2"
|
||||
disabled={false}
|
||||
id="_selection_column_k90e51pk1ieucbae0c3t8wo2-checkbox"
|
||||
id="__table_generated-id_selection_column_k90e51pk1ieucbae0c3t8wo2-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -1448,7 +1448,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
compressed={false}
|
||||
data-test-subj="checkboxSelectRow-k90e51pk1ieucbae0c3t8wo1"
|
||||
disabled={false}
|
||||
id="_selection_column_k90e51pk1ieucbae0c3t8wo1-checkbox"
|
||||
id="__table_generated-id_selection_column_k90e51pk1ieucbae0c3t8wo1-checkbox"
|
||||
indeterminate={false}
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
|
@ -1463,7 +1463,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-k90e51pk1ieucbae0c3t8wo1"
|
||||
disabled={false}
|
||||
id="_selection_column_k90e51pk1ieucbae0c3t8wo1-checkbox"
|
||||
id="__table_generated-id_selection_column_k90e51pk1ieucbae0c3t8wo1-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -2528,7 +2528,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
compressed={false}
|
||||
data-test-subj="checkboxSelectRow-k90cmthd1gv8cbae0c2le8bo"
|
||||
disabled={false}
|
||||
id="_selection_column_k90cmthd1gv8cbae0c2le8bo-checkbox"
|
||||
id="__table_generated-id_selection_column_k90cmthd1gv8cbae0c2le8bo-checkbox"
|
||||
indeterminate={false}
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
|
@ -2543,7 +2543,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-k90cmthd1gv8cbae0c2le8bo"
|
||||
disabled={false}
|
||||
id="_selection_column_k90cmthd1gv8cbae0c2le8bo-checkbox"
|
||||
id="__table_generated-id_selection_column_k90cmthd1gv8cbae0c2le8bo-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -3637,7 +3637,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
compressed={false}
|
||||
data-test-subj="checkboxSelectRow-k906958e1d4wcbae0c9hip1a"
|
||||
disabled={false}
|
||||
id="_selection_column_k906958e1d4wcbae0c9hip1a-checkbox"
|
||||
id="__table_generated-id_selection_column_k906958e1d4wcbae0c9hip1a-checkbox"
|
||||
indeterminate={false}
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
|
@ -3652,7 +3652,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-k906958e1d4wcbae0c9hip1a"
|
||||
disabled={false}
|
||||
id="_selection_column_k906958e1d4wcbae0c9hip1a-checkbox"
|
||||
id="__table_generated-id_selection_column_k906958e1d4wcbae0c9hip1a-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -4774,7 +4774,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
compressed={false}
|
||||
data-test-subj="checkboxSelectRow-k9067y2a1d4wcbae0cad38n0"
|
||||
disabled={false}
|
||||
id="_selection_column_k9067y2a1d4wcbae0cad38n0-checkbox"
|
||||
id="__table_generated-id_selection_column_k9067y2a1d4wcbae0cad38n0-checkbox"
|
||||
indeterminate={false}
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
|
@ -4789,7 +4789,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-k9067y2a1d4wcbae0cad38n0"
|
||||
disabled={false}
|
||||
id="_selection_column_k9067y2a1d4wcbae0cad38n0-checkbox"
|
||||
id="__table_generated-id_selection_column_k9067y2a1d4wcbae0cad38n0-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -5883,7 +5883,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
compressed={false}
|
||||
data-test-subj="checkboxSelectRow-k9067s1m1d4wcbae0cdnvcms"
|
||||
disabled={false}
|
||||
id="_selection_column_k9067s1m1d4wcbae0cdnvcms-checkbox"
|
||||
id="__table_generated-id_selection_column_k9067s1m1d4wcbae0cdnvcms-checkbox"
|
||||
indeterminate={false}
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
|
@ -5898,7 +5898,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-k9067s1m1d4wcbae0cdnvcms"
|
||||
disabled={false}
|
||||
id="_selection_column_k9067s1m1d4wcbae0cdnvcms-checkbox"
|
||||
id="__table_generated-id_selection_column_k9067s1m1d4wcbae0cdnvcms-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -6992,7 +6992,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
compressed={false}
|
||||
data-test-subj="checkboxSelectRow-k9065q3s1d4wcbae0c00fxlh"
|
||||
disabled={false}
|
||||
id="_selection_column_k9065q3s1d4wcbae0c00fxlh-checkbox"
|
||||
id="__table_generated-id_selection_column_k9065q3s1d4wcbae0c00fxlh-checkbox"
|
||||
indeterminate={false}
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
|
@ -7007,7 +7007,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-k9065q3s1d4wcbae0c00fxlh"
|
||||
disabled={false}
|
||||
id="_selection_column_k9065q3s1d4wcbae0c00fxlh-checkbox"
|
||||
id="__table_generated-id_selection_column_k9065q3s1d4wcbae0c00fxlh-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -8101,7 +8101,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
compressed={false}
|
||||
data-test-subj="checkboxSelectRow-k905zdw11d34cbae0c3y6tzh"
|
||||
disabled={false}
|
||||
id="_selection_column_k905zdw11d34cbae0c3y6tzh-checkbox"
|
||||
id="__table_generated-id_selection_column_k905zdw11d34cbae0c3y6tzh-checkbox"
|
||||
indeterminate={false}
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
|
@ -8116,7 +8116,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-k905zdw11d34cbae0c3y6tzh"
|
||||
disabled={false}
|
||||
id="_selection_column_k905zdw11d34cbae0c3y6tzh-checkbox"
|
||||
id="__table_generated-id_selection_column_k905zdw11d34cbae0c3y6tzh-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -9247,7 +9247,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
compressed={false}
|
||||
data-test-subj="checkboxSelectRow-k8t4ylcb07mi9d006214ifyg"
|
||||
disabled={false}
|
||||
id="_selection_column_k8t4ylcb07mi9d006214ifyg-checkbox"
|
||||
id="__table_generated-id_selection_column_k8t4ylcb07mi9d006214ifyg-checkbox"
|
||||
indeterminate={false}
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
|
@ -9262,7 +9262,7 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
className="euiCheckbox__input"
|
||||
data-test-subj="checkboxSelectRow-k8t4ylcb07mi9d006214ifyg"
|
||||
disabled={false}
|
||||
id="_selection_column_k8t4ylcb07mi9d006214ifyg-checkbox"
|
||||
id="__table_generated-id_selection_column_k8t4ylcb07mi9d006214ifyg-checkbox"
|
||||
onChange={[Function]}
|
||||
title="Select this row"
|
||||
type="checkbox"
|
||||
|
@ -10369,366 +10369,370 @@ exports[`ReportListing Report job listing with some items 1`] = `
|
|||
</table>
|
||||
</EuiTable>
|
||||
</div>
|
||||
<PaginationBar
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label={
|
||||
<EuiI18n
|
||||
default="Pagination for preceding table: {tableCaption}"
|
||||
token="euiBasicTable.tablePagination"
|
||||
values={
|
||||
Object {
|
||||
"tableCaption": "Reports generated in Kibana applications",
|
||||
}
|
||||
}
|
||||
/>
|
||||
}
|
||||
onPageChange={[Function]}
|
||||
onPageSizeChange={[Function]}
|
||||
pagination={
|
||||
<EuiI18n
|
||||
default="Pagination for table: {tableCaption}"
|
||||
token="euiBasicTable.tablePagination"
|
||||
values={
|
||||
Object {
|
||||
"hidePerPageOptions": true,
|
||||
"pageIndex": 0,
|
||||
"pageSize": 10,
|
||||
"totalItemCount": 18,
|
||||
"tableCaption": "Reports generated in Kibana applications",
|
||||
}
|
||||
}
|
||||
>
|
||||
<div>
|
||||
<EuiSpacer
|
||||
size="m"
|
||||
>
|
||||
<div
|
||||
className="euiSpacer euiSpacer--m"
|
||||
/>
|
||||
</EuiSpacer>
|
||||
<EuiTablePagination
|
||||
activePage={0}
|
||||
aria-controls="__table_generated-id"
|
||||
hidePerPageOptions={true}
|
||||
itemsPerPage={10}
|
||||
itemsPerPageOptions={
|
||||
Array [
|
||||
10,
|
||||
25,
|
||||
50,
|
||||
]
|
||||
<PaginationBar
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label="Pagination for table: Reports generated in Kibana applications"
|
||||
onPageChange={[Function]}
|
||||
onPageSizeChange={[Function]}
|
||||
pagination={
|
||||
Object {
|
||||
"hidePerPageOptions": true,
|
||||
"pageIndex": 0,
|
||||
"pageSize": 10,
|
||||
"totalItemCount": 18,
|
||||
}
|
||||
onChangeItemsPerPage={[Function]}
|
||||
onChangePage={[Function]}
|
||||
pageCount={2}
|
||||
>
|
||||
<EuiFlexGroup
|
||||
alignItems="center"
|
||||
justifyContent="spaceBetween"
|
||||
responsive={false}
|
||||
}
|
||||
>
|
||||
<div>
|
||||
<EuiSpacer
|
||||
size="m"
|
||||
>
|
||||
<div
|
||||
className="euiFlexGroup euiFlexGroup--gutterLarge euiFlexGroup--alignItemsCenter euiFlexGroup--justifyContentSpaceBetween euiFlexGroup--directionRow"
|
||||
className="euiSpacer euiSpacer--m"
|
||||
/>
|
||||
</EuiSpacer>
|
||||
<EuiTablePagination
|
||||
activePage={0}
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label="Pagination for table: Reports generated in Kibana applications"
|
||||
hidePerPageOptions={true}
|
||||
itemsPerPage={10}
|
||||
itemsPerPageOptions={
|
||||
Array [
|
||||
10,
|
||||
25,
|
||||
50,
|
||||
]
|
||||
}
|
||||
onChangeItemsPerPage={[Function]}
|
||||
onChangePage={[Function]}
|
||||
pageCount={2}
|
||||
>
|
||||
<EuiFlexGroup
|
||||
alignItems="center"
|
||||
justifyContent="spaceBetween"
|
||||
responsive={false}
|
||||
>
|
||||
<EuiFlexItem
|
||||
grow={false}
|
||||
<div
|
||||
className="euiFlexGroup euiFlexGroup--gutterLarge euiFlexGroup--alignItemsCenter euiFlexGroup--justifyContentSpaceBetween euiFlexGroup--directionRow"
|
||||
>
|
||||
<div
|
||||
className="euiFlexItem euiFlexItem--flexGrowZero"
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem
|
||||
grow={false}
|
||||
>
|
||||
<div
|
||||
className="euiFlexItem euiFlexItem--flexGrowZero"
|
||||
<EuiFlexItem
|
||||
grow={false}
|
||||
>
|
||||
<EuiPagination
|
||||
activePage={0}
|
||||
aria-controls="__table_generated-id"
|
||||
onPageClick={[Function]}
|
||||
pageCount={2}
|
||||
<div
|
||||
className="euiFlexItem euiFlexItem--flexGrowZero"
|
||||
/>
|
||||
</EuiFlexItem>
|
||||
<EuiFlexItem
|
||||
grow={false}
|
||||
>
|
||||
<div
|
||||
className="euiFlexItem euiFlexItem--flexGrowZero"
|
||||
>
|
||||
<nav
|
||||
className="euiPagination"
|
||||
<EuiPagination
|
||||
activePage={0}
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label="Pagination for table: Reports generated in Kibana applications"
|
||||
onPageClick={[Function]}
|
||||
pageCount={2}
|
||||
>
|
||||
<EuiI18n
|
||||
default="Previous page, {page}"
|
||||
token="euiPagination.previousPage"
|
||||
values={
|
||||
Object {
|
||||
"page": 0,
|
||||
}
|
||||
}
|
||||
<nav
|
||||
aria-label="Pagination for table: Reports generated in Kibana applications"
|
||||
className="euiPagination"
|
||||
>
|
||||
<EuiI18n
|
||||
default="Previous page"
|
||||
token="euiPagination.disabledPreviousPage"
|
||||
default="Previous page, {page}"
|
||||
token="euiPagination.previousPage"
|
||||
values={
|
||||
Object {
|
||||
"page": 0,
|
||||
}
|
||||
}
|
||||
>
|
||||
<EuiButtonIcon
|
||||
aria-label="Previous page"
|
||||
color="text"
|
||||
data-test-subj="pagination-button-previous"
|
||||
disabled={true}
|
||||
iconType="arrowLeft"
|
||||
onClick={[Function]}
|
||||
<EuiI18n
|
||||
default="Previous page"
|
||||
token="euiPagination.disabledPreviousPage"
|
||||
>
|
||||
<button
|
||||
<EuiButtonIcon
|
||||
aria-label="Previous page"
|
||||
className="euiButtonIcon euiButtonIcon-isDisabled euiButtonIcon--text euiButtonIcon--empty euiButtonIcon--xSmall"
|
||||
color="text"
|
||||
data-test-subj="pagination-button-previous"
|
||||
disabled={true}
|
||||
iconType="arrowLeft"
|
||||
onClick={[Function]}
|
||||
type="button"
|
||||
>
|
||||
<EuiIcon
|
||||
aria-hidden="true"
|
||||
className="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
size="m"
|
||||
type="arrowLeft"
|
||||
<button
|
||||
aria-label="Previous page"
|
||||
className="euiButtonIcon euiButtonIcon-isDisabled euiButtonIcon--text euiButtonIcon--empty euiButtonIcon--xSmall"
|
||||
data-test-subj="pagination-button-previous"
|
||||
disabled={true}
|
||||
onClick={[Function]}
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
<EuiIcon
|
||||
aria-hidden="true"
|
||||
className="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowLeft"
|
||||
size="m"
|
||||
/>
|
||||
</EuiIcon>
|
||||
</button>
|
||||
</EuiButtonIcon>
|
||||
type="arrowLeft"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
className="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowLeft"
|
||||
size="m"
|
||||
/>
|
||||
</EuiIcon>
|
||||
</button>
|
||||
</EuiButtonIcon>
|
||||
</EuiI18n>
|
||||
</EuiI18n>
|
||||
</EuiI18n>
|
||||
<ul
|
||||
className="euiPagination__list"
|
||||
>
|
||||
<PaginationButtonWrapper
|
||||
activePage={0}
|
||||
ariaControls="__table_generated-id"
|
||||
key="0"
|
||||
pageCount={2}
|
||||
pageIndex={0}
|
||||
safeClick={[Function]}
|
||||
<ul
|
||||
aria-label="Pagination for table: Reports generated in Kibana applications"
|
||||
className="euiPagination__list"
|
||||
>
|
||||
<li
|
||||
className="euiPagination__item"
|
||||
<PaginationButtonWrapper
|
||||
activePage={0}
|
||||
ariaControls="__table_generated-id"
|
||||
key="0"
|
||||
pageCount={2}
|
||||
pageIndex={0}
|
||||
safeClick={[Function]}
|
||||
>
|
||||
<EuiPaginationButton
|
||||
aria-controls="__table_generated-id"
|
||||
hideOnMobile={true}
|
||||
isActive={true}
|
||||
onClick={[Function]}
|
||||
pageIndex={0}
|
||||
totalPages={2}
|
||||
<li
|
||||
className="euiPagination__item"
|
||||
>
|
||||
<EuiI18n
|
||||
default="Page {page} of {totalPages}"
|
||||
token="euiPaginationButton.longPageString"
|
||||
values={
|
||||
Object {
|
||||
"page": 1,
|
||||
"totalPages": 2,
|
||||
}
|
||||
}
|
||||
<EuiPaginationButton
|
||||
aria-controls="__table_generated-id"
|
||||
hideOnMobile={true}
|
||||
isActive={true}
|
||||
onClick={[Function]}
|
||||
pageIndex={0}
|
||||
totalPages={2}
|
||||
>
|
||||
<EuiI18n
|
||||
default="Page {page}"
|
||||
token="euiPaginationButton.shortPageString"
|
||||
default="Page {page} of {totalPages}"
|
||||
token="euiPaginationButton.longPageString"
|
||||
values={
|
||||
Object {
|
||||
"page": 1,
|
||||
"totalPages": 2,
|
||||
}
|
||||
}
|
||||
>
|
||||
<EuiButtonEmpty
|
||||
aria-controls="__table_generated-id"
|
||||
aria-current={true}
|
||||
aria-label="Page 1 of 2"
|
||||
className="euiPaginationButton euiPaginationButton-isActive euiPaginationButton--hideOnMobile"
|
||||
color="text"
|
||||
data-test-subj="pagination-button-0"
|
||||
href="#__table_generated-id"
|
||||
isDisabled={true}
|
||||
onClick={[Function]}
|
||||
size="s"
|
||||
<EuiI18n
|
||||
default="Page {page}"
|
||||
token="euiPaginationButton.shortPageString"
|
||||
values={
|
||||
Object {
|
||||
"page": 1,
|
||||
}
|
||||
}
|
||||
>
|
||||
<button
|
||||
<EuiButtonEmpty
|
||||
aria-controls="__table_generated-id"
|
||||
aria-current={true}
|
||||
aria-label="Page 1 of 2"
|
||||
className="euiButtonEmpty euiButtonEmpty--text euiButtonEmpty--small euiButtonEmpty-isDisabled euiPaginationButton euiPaginationButton-isActive euiPaginationButton--hideOnMobile"
|
||||
className="euiPaginationButton euiPaginationButton-isActive euiPaginationButton--hideOnMobile"
|
||||
color="text"
|
||||
data-test-subj="pagination-button-0"
|
||||
disabled={true}
|
||||
href="#__table_generated-id"
|
||||
isDisabled={true}
|
||||
onClick={[Function]}
|
||||
type="button"
|
||||
size="s"
|
||||
>
|
||||
<EuiButtonContent
|
||||
className="euiButtonEmpty__content"
|
||||
iconSide="left"
|
||||
iconSize="m"
|
||||
textProps={
|
||||
Object {
|
||||
"className": "euiButtonEmpty__text",
|
||||
}
|
||||
}
|
||||
<button
|
||||
aria-controls="__table_generated-id"
|
||||
aria-current={true}
|
||||
aria-label="Page 1 of 2"
|
||||
className="euiButtonEmpty euiButtonEmpty--text euiButtonEmpty--small euiButtonEmpty-isDisabled euiPaginationButton euiPaginationButton-isActive euiPaginationButton--hideOnMobile"
|
||||
data-test-subj="pagination-button-0"
|
||||
disabled={true}
|
||||
onClick={[Function]}
|
||||
type="button"
|
||||
>
|
||||
<span
|
||||
className="euiButtonContent euiButtonEmpty__content"
|
||||
<EuiButtonContent
|
||||
className="euiButtonEmpty__content"
|
||||
iconSide="left"
|
||||
iconSize="m"
|
||||
textProps={
|
||||
Object {
|
||||
"className": "euiButtonEmpty__text",
|
||||
}
|
||||
}
|
||||
>
|
||||
<span
|
||||
className="euiButtonEmpty__text"
|
||||
className="euiButtonContent euiButtonEmpty__content"
|
||||
>
|
||||
1
|
||||
<span
|
||||
className="euiButtonEmpty__text"
|
||||
>
|
||||
1
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
</EuiButtonContent>
|
||||
</button>
|
||||
</EuiButtonEmpty>
|
||||
</EuiButtonContent>
|
||||
</button>
|
||||
</EuiButtonEmpty>
|
||||
</EuiI18n>
|
||||
</EuiI18n>
|
||||
</EuiI18n>
|
||||
</EuiPaginationButton>
|
||||
</li>
|
||||
</PaginationButtonWrapper>
|
||||
<PaginationButtonWrapper
|
||||
activePage={0}
|
||||
ariaControls="__table_generated-id"
|
||||
key="1"
|
||||
pageCount={2}
|
||||
pageIndex={1}
|
||||
safeClick={[Function]}
|
||||
>
|
||||
<li
|
||||
className="euiPagination__item"
|
||||
</EuiPaginationButton>
|
||||
</li>
|
||||
</PaginationButtonWrapper>
|
||||
<PaginationButtonWrapper
|
||||
activePage={0}
|
||||
ariaControls="__table_generated-id"
|
||||
key="1"
|
||||
pageCount={2}
|
||||
pageIndex={1}
|
||||
safeClick={[Function]}
|
||||
>
|
||||
<EuiPaginationButton
|
||||
aria-controls="__table_generated-id"
|
||||
hideOnMobile={true}
|
||||
isActive={false}
|
||||
onClick={[Function]}
|
||||
pageIndex={1}
|
||||
totalPages={2}
|
||||
<li
|
||||
className="euiPagination__item"
|
||||
>
|
||||
<EuiI18n
|
||||
default="Page {page} of {totalPages}"
|
||||
token="euiPaginationButton.longPageString"
|
||||
values={
|
||||
Object {
|
||||
"page": 2,
|
||||
"totalPages": 2,
|
||||
}
|
||||
}
|
||||
<EuiPaginationButton
|
||||
aria-controls="__table_generated-id"
|
||||
hideOnMobile={true}
|
||||
isActive={false}
|
||||
onClick={[Function]}
|
||||
pageIndex={1}
|
||||
totalPages={2}
|
||||
>
|
||||
<EuiI18n
|
||||
default="Page {page}"
|
||||
token="euiPaginationButton.shortPageString"
|
||||
default="Page {page} of {totalPages}"
|
||||
token="euiPaginationButton.longPageString"
|
||||
values={
|
||||
Object {
|
||||
"page": 2,
|
||||
"totalPages": 2,
|
||||
}
|
||||
}
|
||||
>
|
||||
<EuiButtonEmpty
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label="Page 2 of 2"
|
||||
className="euiPaginationButton euiPaginationButton--hideOnMobile"
|
||||
color="text"
|
||||
data-test-subj="pagination-button-1"
|
||||
href="#__table_generated-id"
|
||||
isDisabled={false}
|
||||
onClick={[Function]}
|
||||
size="s"
|
||||
<EuiI18n
|
||||
default="Page {page}"
|
||||
token="euiPaginationButton.shortPageString"
|
||||
values={
|
||||
Object {
|
||||
"page": 2,
|
||||
}
|
||||
}
|
||||
>
|
||||
<a
|
||||
<EuiButtonEmpty
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label="Page 2 of 2"
|
||||
className="euiButtonEmpty euiButtonEmpty--text euiButtonEmpty--small euiPaginationButton euiPaginationButton--hideOnMobile"
|
||||
className="euiPaginationButton euiPaginationButton--hideOnMobile"
|
||||
color="text"
|
||||
data-test-subj="pagination-button-1"
|
||||
href="#__table_generated-id"
|
||||
isDisabled={false}
|
||||
onClick={[Function]}
|
||||
rel="noreferrer"
|
||||
size="s"
|
||||
>
|
||||
<EuiButtonContent
|
||||
className="euiButtonEmpty__content"
|
||||
iconSide="left"
|
||||
iconSize="m"
|
||||
textProps={
|
||||
Object {
|
||||
"className": "euiButtonEmpty__text",
|
||||
}
|
||||
}
|
||||
<a
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label="Page 2 of 2"
|
||||
className="euiButtonEmpty euiButtonEmpty--text euiButtonEmpty--small euiPaginationButton euiPaginationButton--hideOnMobile"
|
||||
data-test-subj="pagination-button-1"
|
||||
href="#__table_generated-id"
|
||||
onClick={[Function]}
|
||||
rel="noreferrer"
|
||||
>
|
||||
<span
|
||||
className="euiButtonContent euiButtonEmpty__content"
|
||||
<EuiButtonContent
|
||||
className="euiButtonEmpty__content"
|
||||
iconSide="left"
|
||||
iconSize="m"
|
||||
textProps={
|
||||
Object {
|
||||
"className": "euiButtonEmpty__text",
|
||||
}
|
||||
}
|
||||
>
|
||||
<span
|
||||
className="euiButtonEmpty__text"
|
||||
className="euiButtonContent euiButtonEmpty__content"
|
||||
>
|
||||
2
|
||||
<span
|
||||
className="euiButtonEmpty__text"
|
||||
>
|
||||
2
|
||||
</span>
|
||||
</span>
|
||||
</span>
|
||||
</EuiButtonContent>
|
||||
</a>
|
||||
</EuiButtonEmpty>
|
||||
</EuiButtonContent>
|
||||
</a>
|
||||
</EuiButtonEmpty>
|
||||
</EuiI18n>
|
||||
</EuiI18n>
|
||||
</EuiI18n>
|
||||
</EuiPaginationButton>
|
||||
</li>
|
||||
</PaginationButtonWrapper>
|
||||
</ul>
|
||||
<EuiI18n
|
||||
default="Next page, {page}"
|
||||
token="euiPagination.nextPage"
|
||||
values={
|
||||
Object {
|
||||
"page": 2,
|
||||
}
|
||||
}
|
||||
>
|
||||
</EuiPaginationButton>
|
||||
</li>
|
||||
</PaginationButtonWrapper>
|
||||
</ul>
|
||||
<EuiI18n
|
||||
default="Next page"
|
||||
token="euiPagination.disabledNextPage"
|
||||
default="Next page, {page}"
|
||||
token="euiPagination.nextPage"
|
||||
values={
|
||||
Object {
|
||||
"page": 2,
|
||||
}
|
||||
}
|
||||
>
|
||||
<EuiButtonIcon
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label="Next page, 2"
|
||||
color="text"
|
||||
data-test-subj="pagination-button-next"
|
||||
href="#__table_generated-id"
|
||||
iconType="arrowRight"
|
||||
onClick={[Function]}
|
||||
<EuiI18n
|
||||
default="Next page"
|
||||
token="euiPagination.disabledNextPage"
|
||||
>
|
||||
<a
|
||||
<EuiButtonIcon
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label="Next page, 2"
|
||||
className="euiButtonIcon euiButtonIcon--text euiButtonIcon--empty euiButtonIcon--xSmall"
|
||||
color="text"
|
||||
data-test-subj="pagination-button-next"
|
||||
href="#__table_generated-id"
|
||||
iconType="arrowRight"
|
||||
onClick={[Function]}
|
||||
rel="noreferrer"
|
||||
>
|
||||
<EuiIcon
|
||||
aria-hidden="true"
|
||||
className="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
size="m"
|
||||
type="arrowRight"
|
||||
<a
|
||||
aria-controls="__table_generated-id"
|
||||
aria-label="Next page, 2"
|
||||
className="euiButtonIcon euiButtonIcon--text euiButtonIcon--empty euiButtonIcon--xSmall"
|
||||
data-test-subj="pagination-button-next"
|
||||
href="#__table_generated-id"
|
||||
onClick={[Function]}
|
||||
rel="noreferrer"
|
||||
>
|
||||
<span
|
||||
<EuiIcon
|
||||
aria-hidden="true"
|
||||
className="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowRight"
|
||||
size="m"
|
||||
/>
|
||||
</EuiIcon>
|
||||
</a>
|
||||
</EuiButtonIcon>
|
||||
type="arrowRight"
|
||||
>
|
||||
<span
|
||||
aria-hidden="true"
|
||||
className="euiButtonIcon__icon"
|
||||
color="inherit"
|
||||
data-euiicon-type="arrowRight"
|
||||
size="m"
|
||||
/>
|
||||
</EuiIcon>
|
||||
</a>
|
||||
</EuiButtonIcon>
|
||||
</EuiI18n>
|
||||
</EuiI18n>
|
||||
</EuiI18n>
|
||||
</nav>
|
||||
</EuiPagination>
|
||||
</div>
|
||||
</EuiFlexItem>
|
||||
</div>
|
||||
</EuiFlexGroup>
|
||||
</EuiTablePagination>
|
||||
</div>
|
||||
</PaginationBar>
|
||||
</nav>
|
||||
</EuiPagination>
|
||||
</div>
|
||||
</EuiFlexItem>
|
||||
</div>
|
||||
</EuiFlexGroup>
|
||||
</EuiTablePagination>
|
||||
</div>
|
||||
</PaginationBar>
|
||||
</EuiI18n>
|
||||
</div>
|
||||
`;
|
||||
|
|
|
@ -28,6 +28,8 @@ export const CLOSE_TIMELINE_BTN = '[data-test-subj="close-timeline"]';
|
|||
|
||||
export const COMBO_BOX = '.euiComboBoxOption__content';
|
||||
|
||||
export const COMBO_BOX_INPUT = '[data-test-subj="comboBoxInput"]';
|
||||
|
||||
export const CREATE_NEW_TIMELINE = '[data-test-subj="timeline-new"]';
|
||||
|
||||
export const CREATE_NEW_TIMELINE_TEMPLATE = '[data-test-subj="template-timeline-new"]';
|
||||
|
|
|
@ -20,6 +20,7 @@ import {
|
|||
CASE,
|
||||
CLOSE_TIMELINE_BTN,
|
||||
COMBO_BOX,
|
||||
COMBO_BOX_INPUT,
|
||||
CREATE_NEW_TIMELINE,
|
||||
FIELD_BROWSER,
|
||||
ID_HEADER_FIELD,
|
||||
|
@ -164,9 +165,12 @@ export const addDataProvider = (filter: TimelineFilter): Cypress.Chainable<JQuer
|
|||
cy.get(TIMELINE_ADD_FIELD_BUTTON).click();
|
||||
cy.get(TIMELINE_DATA_PROVIDER_VALUE).should('have.focus'); // make sure the focus is ready before start typing
|
||||
|
||||
cy.get(TIMELINE_DATA_PROVIDER_FIELD).type(`${filter.field}{downarrow}{enter}`);
|
||||
cy.get(TIMELINE_DATA_PROVIDER_OPERATOR).type(filter.operator);
|
||||
cy.get(COMBO_BOX).contains(filter.operator).click();
|
||||
cy.get(TIMELINE_DATA_PROVIDER_FIELD)
|
||||
.find(COMBO_BOX_INPUT)
|
||||
.type(`${filter.field}{downarrow}{enter}`);
|
||||
cy.get(TIMELINE_DATA_PROVIDER_OPERATOR)
|
||||
.find(COMBO_BOX_INPUT)
|
||||
.type(`${filter.operator}{downarrow}{enter}`);
|
||||
if (filter.operator !== 'exists') {
|
||||
cy.get(TIMELINE_DATA_PROVIDER_VALUE).type(`${filter.value}{enter}`);
|
||||
}
|
||||
|
|
|
@ -86,7 +86,6 @@ exports[`AlertSummaryView Behavior event code renders additional summary rows 1`
|
|||
class="euiTableHeaderCell"
|
||||
data-test-subj="tableHeaderCell_title_0"
|
||||
role="columnheader"
|
||||
scope="col"
|
||||
style="width: 220px;"
|
||||
>
|
||||
<span
|
||||
|
@ -101,7 +100,6 @@ exports[`AlertSummaryView Behavior event code renders additional summary rows 1`
|
|||
class="euiTableHeaderCell"
|
||||
data-test-subj="tableHeaderCell_description_1"
|
||||
role="columnheader"
|
||||
scope="col"
|
||||
>
|
||||
<span
|
||||
class="euiTableCellContent"
|
||||
|
@ -780,7 +778,6 @@ exports[`AlertSummaryView Memory event code renders additional summary rows 1`]
|
|||
class="euiTableHeaderCell"
|
||||
data-test-subj="tableHeaderCell_title_0"
|
||||
role="columnheader"
|
||||
scope="col"
|
||||
style="width: 220px;"
|
||||
>
|
||||
<span
|
||||
|
@ -795,7 +792,6 @@ exports[`AlertSummaryView Memory event code renders additional summary rows 1`]
|
|||
class="euiTableHeaderCell"
|
||||
data-test-subj="tableHeaderCell_description_1"
|
||||
role="columnheader"
|
||||
scope="col"
|
||||
>
|
||||
<span
|
||||
class="euiTableCellContent"
|
||||
|
|
|
@ -353,8 +353,6 @@ exports[`DonutChart component passes correct props without errors for valid prop
|
|||
},
|
||||
"fill": Object {
|
||||
"textBorder": 0,
|
||||
"textContrast": true,
|
||||
"textInvertible": true,
|
||||
},
|
||||
"fontFamily": "'Inter', 'Inter UI', -apple-system, BlinkMacSystemFont,
|
||||
'Segoe UI', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'",
|
||||
|
|
|
@ -21,10 +21,9 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) {
|
|||
*/
|
||||
const selectTagsInFilter = async (...tagNames: string[]) => {
|
||||
// open the filter dropdown
|
||||
// the first class selector before the id is of course useless. Only here to help cleaning that once we got
|
||||
// testSubjects in EUI filters.
|
||||
// This CSS selector should be cleaned up once we have testSubjects in EUI filters.
|
||||
const filterButton = await find.byCssSelector(
|
||||
'.euiFilterGroup #field_value_selection_1 .euiFilterButton'
|
||||
'.euiFilterGroup > *:last-child .euiFilterButton'
|
||||
);
|
||||
await filterButton.click();
|
||||
// select the tags
|
||||
|
|
12
yarn.lock
12
yarn.lock
|
@ -2412,10 +2412,10 @@
|
|||
resolved "https://registry.yarnpkg.com/@elastic/eslint-plugin-eui/-/eslint-plugin-eui-0.0.2.tgz#56b9ef03984a05cc213772ae3713ea8ef47b0314"
|
||||
integrity sha512-IoxURM5zraoQ7C8f+mJb9HYSENiZGgRVcG4tLQxE61yHNNRDXtGDWTZh8N1KIHcsqN1CEPETjuzBXkJYF/fDiQ==
|
||||
|
||||
"@elastic/eui@39.0.0":
|
||||
version "39.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-39.0.0.tgz#abac19edd466eee13612d5668e5456961dc813b8"
|
||||
integrity sha512-8sf8sbxjpRxV23dFTwbkaWH6LhWrOlMpdUUMVUC9zd0g5iQLj1IxkxQCeyYM/p++SQFl+1hshAuaH//DCz5Xrw==
|
||||
"@elastic/eui@39.1.1":
|
||||
version "39.1.1"
|
||||
resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-39.1.1.tgz#52e59f1dd6448b2e80047259ca60c6c87e9873f0"
|
||||
integrity sha512-zYCNitpp6Ds7U6eaa9QkJqc20ZMo2wjpZokNtd1WalFV22vdfiVizFg7DMtDjJrCDLmoXcLOOCMasKlmmJ1cRg==
|
||||
dependencies:
|
||||
"@types/chroma-js" "^2.0.0"
|
||||
"@types/lodash" "^4.14.160"
|
||||
|
@ -2441,7 +2441,7 @@
|
|||
react-is "~16.3.0"
|
||||
react-virtualized-auto-sizer "^1.0.2"
|
||||
react-window "^1.8.5"
|
||||
refractor "^3.4.0"
|
||||
refractor "^3.5.0"
|
||||
rehype-raw "^5.0.0"
|
||||
rehype-react "^6.0.0"
|
||||
rehype-stringify "^8.0.0"
|
||||
|
@ -24873,7 +24873,7 @@ reflect.ownkeys@^0.2.0:
|
|||
resolved "https://registry.yarnpkg.com/reflect.ownkeys/-/reflect.ownkeys-0.2.0.tgz#749aceec7f3fdf8b63f927a04809e90c5c0b3460"
|
||||
integrity sha1-dJrO7H8/34tj+SegSAnpDFwLNGA=
|
||||
|
||||
refractor@^3.2.0, refractor@^3.4.0:
|
||||
refractor@^3.2.0, refractor@^3.5.0:
|
||||
version "3.5.0"
|
||||
resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.5.0.tgz#334586f352dda4beaf354099b48c2d18e0819aec"
|
||||
integrity sha512-QwPJd3ferTZ4cSPPjdP5bsYHMytwWYnAN5EEnLtGvkqp/FCCnGsBgxrm9EuIDnjUC3Uc/kETtvVi7fSIVC74Dg==
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue