Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revert "add milestoning setup in Query Option (#3148)" #3222

Merged
merged 1 commit into from
Jun 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
File renamed without changes.
15 changes: 0 additions & 15 deletions packages/legend-application-query-bootstrap/style/index.scss
Original file line number Diff line number Diff line change
Expand Up @@ -1335,10 +1335,6 @@
color: var(--color-legacylight-light-dark-grey-200);
}

.query-builder__projection__result-modifier-prompt__divider {
color: var(--color-legacylight-light-dark-grey-200);
}

.query-builder-property-expression-badge__content {
color: var(--color-legacylight-dark-grey-200);
}
Expand Down Expand Up @@ -1844,15 +1840,4 @@
}
}
}

.query-builder__projection__modal {
::-webkit-scrollbar-thumb {
height: 5rem;
background: var(--color-legacylight-light-grey-300);
outline-offset: -0.2rem;
border-radius: 0.4rem;
outline-color: var(--color-legacylight-light-grey-100);
border-color: var(--color-legacylight-light-grey-100);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -270,7 +270,9 @@ test(
const queryBuilder = await waitFor(() =>
renderResult.getByTestId(QUERY_BUILDER_TEST_ID.QUERY_BUILDER),
);
fireEvent.click(getByTitle(queryBuilder, 'Configure Query Options...'));
fireEvent.click(
getByTitle(queryBuilder, 'Configure result set modifiers...'),
);
const modal = await waitFor(() => renderResult.getByRole('dialog'));

await waitFor(() => fireEvent.click(getByText(modal, 'Add Value')));
Expand Down Expand Up @@ -313,7 +315,7 @@ test(
fireEvent.click(getByTitle(queryBuilder, 'Clear all projection columns'));
const closeModal = await waitFor(() => renderResult.getByRole('dialog'));
fireEvent.click(getByText(closeModal, 'Proceed'));
await waitFor(() => renderResult.getByText('Set Query Options'));
await waitFor(() => renderResult.getByText('Query Options'));
const queryBuilderResultModifierPrompt = await waitFor(() =>
renderResult.getByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -465,77 +465,6 @@ test(
},
);

test(
integrationTest(
'Query builder result modifier panel displays milestoning dates',
),
async () => {
const { renderResult, queryBuilderState } = await TEST__setUpQueryBuilder(
TEST_MilestoningModel,
stub_RawLambda(),
'my::map',
'my::runtime',
TEST_DATA__ModelCoverageAnalysisResult_Milestoning,
);
const _personClass =
queryBuilderState.graphManagerState.graph.getClass('my::Person');
await act(async () => {
queryBuilderState.changeClass(_personClass);
});
const queryBuilderSetup = await waitFor(() =>
renderResult.getByTestId(QUERY_BUILDER_TEST_ID.QUERY_BUILDER_SETUP),
);
await waitFor(() => getAllByText(queryBuilderSetup, 'Person'));

const resultModifierPromptPanel = await waitFor(() =>
renderResult.getByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT,
),
);
await waitFor(() =>
getAllByText(resultModifierPromptPanel, 'Business Date'),
);
await waitFor(() =>
getAllByText(resultModifierPromptPanel, 'businessDate'),
);

const queryOptionsButton = await waitFor(() =>
renderResult.getByRole('button', { name: 'Query Options' }),
);
fireEvent.click(queryOptionsButton);
const allVersionsToggle = await renderResult.findByText(
'Query All Milestoned Versions of the Root Class',
);
fireEvent.click(allVersionsToggle);
const applyButton = (await renderResult.findByRole('button', {
name: 'Apply',
})) as HTMLButtonElement;
await waitFor(() => fireEvent.click(applyButton));
await waitFor(() =>
getAllByText(resultModifierPromptPanel, 'All Versions'),
);
await waitFor(() => getAllByText(resultModifierPromptPanel, 'Yes'));
fireEvent.click(queryOptionsButton);
const allVersionInRangeToggle = await renderResult.findByText(
'Optionally apply a date range to get All Versions for',
);
fireEvent.click(allVersionInRangeToggle);
fireEvent.click(renderResult.getByRole('button', { name: 'Apply' }));
await waitFor(() =>
getAllByText(resultModifierPromptPanel, '(startDate - endDate)'),
);
fireEvent.click(queryOptionsButton);
fireEvent.click(allVersionInRangeToggle);
const cancelButton = (await renderResult.findByRole('button', {
name: 'Cancel',
})) as HTMLButtonElement;
fireEvent.click(cancelButton);
await waitFor(() =>
getAllByText(resultModifierPromptPanel, '(startDate - endDate)'),
);
},
);

type QueryGetAllVersionsTestCase = [
string,
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down Expand Up @@ -145,8 +144,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down Expand Up @@ -195,8 +193,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down Expand Up @@ -258,8 +255,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down Expand Up @@ -296,8 +292,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down Expand Up @@ -352,8 +347,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down Expand Up @@ -389,8 +383,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down Expand Up @@ -432,8 +425,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down Expand Up @@ -477,8 +469,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down Expand Up @@ -533,8 +524,7 @@ describe('QueryBuilderResultModifierPanel', () => {
),
async () => {
// Open Query Options panel
const queryOptionsButton =
await renderResult.findByText('Set Query Options');
const queryOptionsButton = await renderResult.findByText('Query Options');
fireEvent.click(queryOptionsButton);
const resultModifierPanel = await renderResult.findByTestId(
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_MODIFIER_PANEL,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ test(

// Open Query Options modal
const queryOptionsButton = await waitFor(() =>
renderResult.getByRole('button', { name: 'Set Query Options' }),
renderResult.getByRole('button', { name: 'Query Options' }),
);
fireEvent.click(queryOptionsButton);
fireEvent.click(
Expand Down Expand Up @@ -103,7 +103,7 @@ test(

// Open Query Options modal, enable and save watermark
const queryOptionsButton = await waitFor(() =>
renderResult.getByRole('button', { name: 'Set Query Options' }),
renderResult.getByRole('button', { name: 'Query Options' }),
);
fireEvent.click(queryOptionsButton);
fireEvent.click(
Expand Down Expand Up @@ -183,7 +183,7 @@ test(

// Open watermark modal
const queryOptionsButton = await waitFor(() =>
renderResult.getByRole('button', { name: 'Set Query Options' }),
renderResult.getByRole('button', { name: 'Query Options' }),
);
fireEvent.click(queryOptionsButton);
await waitFor(() => renderResult.getByText('Watermark'));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -278,10 +278,12 @@ const AllVersionsInRangelMilestoningParametersEditor = observer(
},
);

export const MilestoningParametersEditorContent = observer(
export const MilestoningParametersEditor = observer(
(props: { queryBuilderState: QueryBuilderState }) => {
const { queryBuilderState } = props;
const applicationStore = queryBuilderState.applicationStore;
const milestoningState = queryBuilderState.milestoningState;
const close = (): void => milestoningState.setShowMilestoningEditor(false);
const isCompatibleMilestoningParameter = (
variable: VariableExpression,
): boolean =>
Expand All @@ -290,62 +292,6 @@ export const MilestoningParametersEditorContent = observer(
variable.genericType?.value.rawType.name === PRIMITIVE_TYPE.DATE ||
variable.genericType?.value.rawType.name === PRIMITIVE_TYPE.DATETIME;

return (
<>
{milestoningState.isCurrentClassMilestoned && (
<PanelFormBooleanField
isReadOnly={false}
value={milestoningState.isAllVersionsEnabled}
name="all Versions"
prompt="Query All Milestoned Versions of the Root Class"
update={(value: boolean | undefined): void =>
milestoningState.setAllVersions(value)
}
/>
)}
{milestoningState.isAllVersionsEnabled &&
milestoningState.isCurrentClassSupportsVersionsInRange && (
<>
<PanelFormBooleanField
isReadOnly={false}
value={milestoningState.isAllVersionsInRangeEnabled}
name=" All Versions In Range"
prompt="Optionally apply a date range to get All Versions for"
update={(value: boolean | undefined): void =>
milestoningState.setAllVersionsInRange(value)
}
/>

{milestoningState.isAllVersionsInRangeEnabled && (
<AllVersionsInRangelMilestoningParametersEditor
queryBuilderState={queryBuilderState}
/>
)}
</>
)}
<TemporalMilestoningEditor queryBuilderState={queryBuilderState} />
<PanelFormSection>
<div className="panel__content__form__section__header__label">
List of compatible milestoning parameters
</div>
</PanelFormSection>
<div className="panel__content__form__section__list__items">
<VariableSelector
queryBuilderState={queryBuilderState}
filterBy={isCompatibleMilestoningParameter}
/>
</div>
</>
);
},
);

export const MilestoningParametersEditor = observer(
(props: { queryBuilderState: QueryBuilderState }) => {
const { queryBuilderState } = props;
const applicationStore = queryBuilderState.applicationStore;
const milestoningState = queryBuilderState.milestoningState;
const close = (): void => milestoningState.setShowMilestoningEditor(false);
return (
<Dialog
open={milestoningState.showMilestoningEditor}
Expand All @@ -364,9 +310,49 @@ export const MilestoningParametersEditor = observer(
>
<ModalHeader title="Milestoning Parameters" />
<ModalBody className="query-builder__variables__modal__body">
<MilestoningParametersEditorContent
queryBuilderState={queryBuilderState}
/>
{milestoningState.isCurrentClassMilestoned && (
<PanelFormBooleanField
isReadOnly={false}
value={milestoningState.isAllVersionsEnabled}
name="all Versions"
prompt="Query All Milestoned Versions of the Root Class"
update={(value: boolean | undefined): void =>
milestoningState.setAllVersions(value)
}
/>
)}
{milestoningState.isAllVersionsEnabled &&
milestoningState.isCurrentClassSupportsVersionsInRange && (
<>
<PanelFormBooleanField
isReadOnly={false}
value={milestoningState.isAllVersionsInRangeEnabled}
name=" All Versions In Range"
prompt="Optionally apply a date range to get All Versions for"
update={(value: boolean | undefined): void =>
milestoningState.setAllVersionsInRange(value)
}
/>

{milestoningState.isAllVersionsInRangeEnabled && (
<AllVersionsInRangelMilestoningParametersEditor
queryBuilderState={queryBuilderState}
/>
)}
</>
)}
<TemporalMilestoningEditor queryBuilderState={queryBuilderState} />
<PanelFormSection>
<div className="panel__content__form__section__header__label">
List of compatible milestoning parameters
</div>
</PanelFormSection>
<div className="panel__content__form__section__list__items">
<VariableSelector
queryBuilderState={queryBuilderState}
filterBy={isCompatibleMilestoningParameter}
/>
</div>
</ModalBody>
<ModalFooter>
<ModalFooterButton text="Close" onClick={close} type="secondary" />
Expand Down
Loading
Loading