@solidxai/core-ui 0.1.12-beta.2 → 0.1.12-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +7 -3
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +9 -2
- package/dist/components/auth/AuthSettingsContext.js +1 -1
- package/dist/components/auth/AuthSettingsContext.js.map +1 -1
- package/dist/components/auth/AuthSettingsContext.tsx +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.d.ts.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.js +18 -4
- package/dist/components/core/chatter/SolidChatterHeader.js.map +1 -1
- package/dist/components/core/chatter/SolidChatterHeader.tsx +17 -3
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +12 -2
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +12 -1
- package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts +2 -0
- package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.d.ts.map +1 -1
- package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js +4 -2
- package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.js.map +1 -1
- package/dist/components/core/extension/solid-core/metadata/MetadataExplorerFormWidget.tsx +11 -3
- package/dist/components/core/json/SolidJsonEditor.css +7 -0
- package/dist/components/core/list/SolidDataTable.js +1 -1
- package/dist/components/core/list/SolidDataTable.js.map +1 -1
- package/dist/components/core/list/SolidDataTable.tsx +1 -1
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +58 -58
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +5 -4
- package/dist/components/core/module/CreateModule.css +60 -6
- package/dist/components/core/module/CreateModule.d.ts.map +1 -1
- package/dist/components/core/module/CreateModule.js +2 -2
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/module/CreateModule.tsx +56 -37
- package/dist/components/layout/AdminTopHeader.js +1 -1
- package/dist/components/layout/AdminTopHeader.js.map +1 -1
- package/dist/components/layout/AdminTopHeader.tsx +2 -2
- package/dist/helpers/modelViewPersistence.d.ts.map +1 -1
- package/dist/helpers/modelViewPersistence.js +3 -2
- package/dist/helpers/modelViewPersistence.js.map +1 -1
- package/dist/helpers/modelViewPersistence.ts +3 -2
- package/dist/helpers/modulePackageResumeState.d.ts +6 -0
- package/dist/helpers/modulePackageResumeState.d.ts.map +1 -0
- package/dist/helpers/modulePackageResumeState.js +46 -0
- package/dist/helpers/modulePackageResumeState.js.map +1 -0
- package/dist/helpers/modulePackageResumeState.ts +57 -0
- package/dist/redux/api/datasourceIntrospectionApi.d.ts +42 -1
- package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -1
- package/dist/redux/api/datasourceIntrospectionApi.js +34 -1
- package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -1
- package/dist/redux/api/datasourceIntrospectionApi.ts +60 -0
- package/dist/redux/store/defaultStoreConfig.d.ts +11 -0
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/resources/shadcn-base.css +70 -16
- package/dist/resources/solid-custom.css +3 -86
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/dist/resources/themes/solid-dark-purple/theme-variables.css +226 -0
- package/dist/resources/themes/solid-dark-purple/theme.css +1 -185
- package/dist/resources/themes/solid-light-purple/theme-variables.css +237 -0
- package/dist/resources/themes/solid-light-purple/theme.css +1 -206
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +384 -31
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +577 -150
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1088 -423
- package/package.json +2 -1
- package/dist/components/auth/SolidOTPVerify.d.ts +0 -3
- package/dist/components/auth/SolidOTPVerify.d.ts.map +0 -1
- package/dist/components/auth/SolidOTPVerify.js +0 -67
- package/dist/components/auth/SolidOTPVerify.js.map +0 -1
- package/dist/components/auth/SolidOTPVerify.tsx +0 -133
- package/dist/components/common/AuthBanner.d.ts +0 -3
- package/dist/components/common/AuthBanner.d.ts.map +0 -1
- package/dist/components/common/AuthBanner.js +0 -15
- package/dist/components/common/AuthBanner.js.map +0 -1
- package/dist/components/common/AuthBanner.tsx +0 -41
- package/dist/components/common/SingleSelectAutoCompleteField.d.ts +0 -2
- package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +0 -1
- package/dist/components/common/SingleSelectAutoCompleteField.js +0 -92
- package/dist/components/common/SingleSelectAutoCompleteField.js.map +0 -1
- package/dist/components/common/SingleSelectAutoCompleteField.tsx +0 -73
- package/dist/components/common/SolidExportStepper.d.ts +0 -12
- package/dist/components/common/SolidExportStepper.d.ts.map +0 -1
- package/dist/components/common/SolidExportStepper.js +0 -30
- package/dist/components/common/SolidExportStepper.js.map +0 -1
- package/dist/components/common/SolidExportStepper.tsx +0 -135
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +0 -2
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +0 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.js +0 -50
- package/dist/components/core/common/LoadDynamicJsxComponent.js.map +0 -1
- package/dist/components/core/common/LoadDynamicJsxComponent.tsx +0 -70
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts +0 -2
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts.map +0 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js +0 -16
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +0 -1
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +0 -29
- package/dist/components/core/dashboard/DashboardFilter.d.ts +0 -13
- package/dist/components/core/dashboard/DashboardFilter.d.ts.map +0 -1
- package/dist/components/core/dashboard/DashboardFilter.js +0 -299
- package/dist/components/core/dashboard/DashboardFilter.js.map +0 -1
- package/dist/components/core/dashboard/DashboardFilter.tsx +0 -348
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +0 -3
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +0 -1
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js +0 -21
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +0 -1
- package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +0 -40
- package/dist/components/core/dashboard/SolidDashboard.d.ts +0 -28
- package/dist/components/core/dashboard/SolidDashboard.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboard.js +0 -183
- package/dist/components/core/dashboard/SolidDashboard.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboard.module.css +0 -83
- package/dist/components/core/dashboard/SolidDashboard.tsx +0 -263
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts +0 -24
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardBody.js +0 -162
- package/dist/components/core/dashboard/SolidDashboardBody.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardBody.tsx +0 -168
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +0 -2
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +0 -11
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +0 -28
- package/dist/components/core/dashboard/SolidDashboardHeader.d.ts +0 -3
- package/dist/components/core/dashboard/SolidDashboardHeader.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardHeader.js +0 -6
- package/dist/components/core/dashboard/SolidDashboardHeader.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardHeader.tsx +0 -10
- package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +0 -2
- package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardLoading.js +0 -10
- package/dist/components/core/dashboard/SolidDashboardLoading.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardLoading.tsx +0 -61
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +0 -3
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +0 -12
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +0 -32
- package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +0 -2
- package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardRenderError.js +0 -11
- package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +0 -28
- package/dist/components/core/dashboard/SolidDashboardVariable.d.ts +0 -19
- package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardVariable.js +0 -171
- package/dist/components/core/dashboard/SolidDashboardVariable.js.map +0 -1
- package/dist/components/core/dashboard/SolidDashboardVariable.tsx +0 -259
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts +0 -9
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +0 -1
- package/dist/components/core/dashboard/SolidQuestionRenderer.js +0 -42
- package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +0 -1
- package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +0 -99
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts +0 -9
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +0 -35
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +0 -48
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts +0 -7
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +0 -22
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +0 -51
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts +0 -2
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.js +0 -4
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +0 -1
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +0 -25
- package/dist/components/core/dashboard/dashboard-utils.d.ts +0 -2
- package/dist/components/core/dashboard/dashboard-utils.d.ts.map +0 -1
- package/dist/components/core/dashboard/dashboard-utils.js +0 -38
- package/dist/components/core/dashboard/dashboard-utils.js.map +0 -1
- package/dist/components/core/dashboard/dashboard-utils.ts +0 -39
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +0 -10
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +0 -16
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +0 -19
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +0 -8
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +0 -64
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +0 -30
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +0 -8
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js +0 -62
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +0 -1
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +0 -29
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts +0 -4
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +0 -23
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +0 -1
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +0 -36
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +0 -3
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +0 -1
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +0 -92
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +0 -1
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +0 -68
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +0 -3
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +0 -1
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +0 -111
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +0 -1
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +0 -122
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +0 -12
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidKanbanViewFields.js +0 -145
- package/dist/components/core/kanban/SolidKanbanViewFields.js.map +0 -1
- package/dist/components/core/kanban/SolidKanbanViewFields.tsx +0 -164
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +0 -2
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js +0 -87
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +0 -1
- package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +0 -59
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +0 -2
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +0 -73
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +0 -1
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +0 -50
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +0 -2
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js +0 -20
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +0 -1
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +0 -32
- package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +0 -12
- package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +0 -1
- package/dist/components/core/kanban/SolidVarInputsFilterElement.js +0 -81
- package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +0 -1
- package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +0 -184
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +0 -16
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js +0 -21
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +0 -23
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +0 -14
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +0 -13
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +0 -12
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +0 -14
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +0 -16
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +0 -20
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +0 -56
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +0 -140
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +0 -42
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +0 -164
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js +0 -11
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +0 -13
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +0 -9
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +0 -14
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +0 -14
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +0 -37
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +0 -121
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +0 -12
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js +0 -8
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +0 -13
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts +0 -4
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts.map +0 -1
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js +0 -7
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +0 -1
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +0 -16
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +0 -2
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +0 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +0 -39
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +0 -1
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +0 -40
- package/dist/components/core/list/SolidVarInputsFilterElement.d.ts +0 -12
- package/dist/components/core/list/SolidVarInputsFilterElement.d.ts.map +0 -1
- package/dist/components/core/list/SolidVarInputsFilterElement.js +0 -81
- package/dist/components/core/list/SolidVarInputsFilterElement.js.map +0 -1
- package/dist/components/core/list/SolidVarInputsFilterElement.tsx +0 -184
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +0 -3
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +0 -1
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +0 -87
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +0 -1
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +0 -70
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +0 -3
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +0 -1
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +0 -33
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +0 -1
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +0 -50
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +0 -3
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +0 -1
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +0 -158
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +0 -1
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +0 -185
- package/dist/components/layout/DashboardHeader.d.ts +0 -3
- package/dist/components/layout/DashboardHeader.d.ts.map +0 -1
- package/dist/components/layout/DashboardHeader.js +0 -20
- package/dist/components/layout/DashboardHeader.js.map +0 -1
- package/dist/components/layout/DashboardHeader.tsx +0 -94
- package/dist/helpers/# no such endpoints exist, need to calle +0 -3
- package/dist/helpers/ToastContainer.d.ts +0 -4
- package/dist/helpers/ToastContainer.d.ts.map +0 -1
- package/dist/helpers/ToastContainer.js +0 -49
- package/dist/helpers/ToastContainer.js.map +0 -1
- package/dist/helpers/ToastContainer.tsx +0 -94
- package/dist/helpers/showToast.d.ts +0 -5
- package/dist/helpers/showToast.d.ts.map +0 -1
- package/dist/helpers/showToast.js +0 -17
- package/dist/helpers/showToast.js.map +0 -1
- package/dist/helpers/showToast.ts +0 -13
- package/dist/helpers/studioSandbox.d.ts +0 -31
- package/dist/helpers/studioSandbox.d.ts.map +0 -1
- package/dist/helpers/studioSandbox.js +0 -104
- package/dist/helpers/studioSandbox.js.map +0 -1
- package/dist/helpers/studioSandbox.ts +0 -117
- package/dist/nextAuth/authProviders.d.ts +0 -4
- package/dist/nextAuth/authProviders.d.ts.map +0 -1
- package/dist/nextAuth/authProviders.js +0 -198
- package/dist/nextAuth/authProviders.js.map +0 -1
- package/dist/nextAuth/authProviders.tsx +0 -232
- package/dist/nextAuth/handleLogout.d.ts +0 -2
- package/dist/nextAuth/handleLogout.d.ts.map +0 -1
- package/dist/nextAuth/handleLogout.js +0 -36
- package/dist/nextAuth/handleLogout.js.map +0 -1
- package/dist/nextAuth/handleLogout.tsx +0 -39
- package/dist/nextAuth/refreshAccessToken.d.ts +0 -2
- package/dist/nextAuth/refreshAccessToken.d.ts.map +0 -1
- package/dist/nextAuth/refreshAccessToken.js +0 -24
- package/dist/nextAuth/refreshAccessToken.js.map +0 -1
- package/dist/nextAuth/refreshAccessToken.tsx +0 -28
- package/dist/redux/api/dashboardApi.d.ts +0 -23
- package/dist/redux/api/dashboardApi.d.ts.map +0 -1
- package/dist/redux/api/dashboardApi.js +0 -35
- package/dist/redux/api/dashboardApi.js.map +0 -1
- package/dist/redux/api/dashboardApi.ts +0 -56
- package/dist/redux/api/dashboardLayoutApi.d.ts +0 -24
- package/dist/redux/api/dashboardLayoutApi.d.ts.map +0 -1
- package/dist/redux/api/dashboardLayoutApi.js +0 -34
- package/dist/redux/api/dashboardLayoutApi.js.map +0 -1
- package/dist/redux/api/dashboardLayoutApi.ts +0 -55
- package/dist/redux/api/dashboardQuestionApi.d.ts +0 -5
- package/dist/redux/api/dashboardQuestionApi.d.ts.map +0 -1
- package/dist/redux/api/dashboardQuestionApi.js +0 -18
- package/dist/redux/api/dashboardQuestionApi.js.map +0 -1
- package/dist/redux/api/dashboardQuestionApi.ts +0 -17
- package/dist/redux/features/settingsSlice.d.ts +0 -20
- package/dist/redux/features/settingsSlice.d.ts.map +0 -1
- package/dist/redux/features/settingsSlice.js +0 -39
- package/dist/redux/features/settingsSlice.js.map +0 -1
- package/dist/redux/features/settingsSlice.ts +0 -60
- package/dist/resources/images/Footerbg.png +0 -0
- package/dist/resources/images/LoginBanner.png +0 -0
- package/dist/resources/images/dashboard/Ellipse 1.svg +0 -10
- package/dist/resources/images/dashboard/Rectangle 17.svg +0 -10
- package/dist/resources/images/dashboard/Rectangle 25.svg +0 -11
- package/dist/resources/images/dashboard/image 5.svg +0 -9
- package/dist/resources/images/loginhero.png +0 -0
- package/dist/resources/images/logo.png +0 -0
- package/dist/resources/images/radix-logo-white.png +0 -0
- package/dist/resources/images/radix-logo.png +0 -0
- package/dist/resources/images/signupBanner.png +0 -0
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
2
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
3
|
-
if (ar || !(i in from)) {
|
|
4
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
5
|
-
ar[i] = from[i];
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
9
|
-
};
|
|
10
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
11
|
-
import { useEffect, useState } from "react";
|
|
12
|
-
import styles from './SolidDashboard.module.css';
|
|
13
|
-
import { useGetDashboardVariableSelectionDynamicValuesQuery } from "../../../redux/api/dashboardApi";
|
|
14
|
-
import { SolidAutocomplete, SolidButton, SolidDatePicker, SolidIcon, SolidSpinner } from "../../shad-cn-ui";
|
|
15
|
-
export var DateVariableFilterComponent = function (_a) {
|
|
16
|
-
var setFilters = _a.setFilters, clearSignal = _a.clearSignal, dashboardVariable = _a.dashboardVariable;
|
|
17
|
-
// Initialize the default dates state
|
|
18
|
-
// If the dashboardVariable has a defaultOperator as Between and a defaultValue as two dates, we can set those as the initial values, otherwise null
|
|
19
|
-
var defaultDatesString = dashboardVariable.defaultOperator === '$between' && dashboardVariable.defaultValue;
|
|
20
|
-
var defaultDatesArray = JSON.parse(defaultDatesString || '[]');
|
|
21
|
-
// Map the defaultDatesArray to Date objects
|
|
22
|
-
var defaultDates = defaultDatesArray.length === 2 ? [
|
|
23
|
-
new Date(defaultDatesArray[0]),
|
|
24
|
-
new Date(defaultDatesArray[1])
|
|
25
|
-
] : null;
|
|
26
|
-
var _b = useState(defaultDates), dates = _b[0], setDates = _b[1];
|
|
27
|
-
useEffect(function () {
|
|
28
|
-
setDates(null); // reset UI
|
|
29
|
-
}, [clearSignal]);
|
|
30
|
-
return (_jsxs("div", { className: "flex align-items-center ".concat(styles.SolidDashboardDateRangeFilterWrapper), children: [_jsx(SolidDatePicker, { selectsRange: true, startDate: dates ? dates[0] : null, endDate: dates ? dates[1] : null, onChange: function (next) {
|
|
31
|
-
var newDates = next;
|
|
32
|
-
setDates(newDates);
|
|
33
|
-
if (newDates && newDates[0] && newDates[1]) {
|
|
34
|
-
var filter_1 = {
|
|
35
|
-
variableName: dashboardVariable.variableName,
|
|
36
|
-
// @ts-ignore
|
|
37
|
-
operator: '$between',
|
|
38
|
-
value: [
|
|
39
|
-
newDates[0].toISOString().split('T')[0],
|
|
40
|
-
newDates[1].toISOString().split('T')[0]
|
|
41
|
-
]
|
|
42
|
-
};
|
|
43
|
-
setFilters(function (prev) {
|
|
44
|
-
// Remove any existing dashboardDate filter and replace with the new one
|
|
45
|
-
// const filtered = prev.filter(f => f.variableName !== 'dashboardDate');
|
|
46
|
-
return [filter_1];
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}, className: styles.SolidDashboardDateRangeFilter, inputClassName: "h-3rem w-full" }), _jsx("div", { className: "px-2", children: _jsx(SolidIcon, { name: "si-calendar", className: "opacity-50", "aria-hidden": true }) })] }));
|
|
50
|
-
};
|
|
51
|
-
export var SelectionDynamicVariableFilterComponent = function (_a) {
|
|
52
|
-
var setFilters = _a.setFilters, clearSignal = _a.clearSignal, dashboardVariable = _a.dashboardVariable;
|
|
53
|
-
// Initialize the selection dynamic values state
|
|
54
|
-
// Pick the values from defaultValue if present, for default operator $in
|
|
55
|
-
var defaultDynamicValuesString = dashboardVariable.defaultOperator === '$in' && dashboardVariable.defaultValue;
|
|
56
|
-
var defaultDynamicValues = JSON.parse(defaultDynamicValuesString || '[]');
|
|
57
|
-
// Selection Dynamic Values
|
|
58
|
-
var _b = useState(defaultDynamicValues), selectionDynamicValues = _b[0], setSelectionDynamicValues = _b[1];
|
|
59
|
-
var _c = useState([]), filteredItems = _c[0], setFilteredItems = _c[1];
|
|
60
|
-
// Using rtk query to fetch dynamic values based on variableId
|
|
61
|
-
var variableId = dashboardVariable.id;
|
|
62
|
-
var queryString = "variableId=".concat(variableId);
|
|
63
|
-
var _d = useGetDashboardVariableSelectionDynamicValuesQuery(queryString), dynamicValues = _d.data, isLoading = _d.isLoading, isError = _d.isError;
|
|
64
|
-
var allItems = dynamicValues ? dynamicValues : [];
|
|
65
|
-
// Dynamic search
|
|
66
|
-
var searchDynamic = function (event) {
|
|
67
|
-
var query = event.query.toLowerCase();
|
|
68
|
-
var filtered = allItems.map(function (item) { return item.label; }).filter(function (item) {
|
|
69
|
-
return item.toLowerCase().includes(query);
|
|
70
|
-
});
|
|
71
|
-
setFilteredItems(filtered);
|
|
72
|
-
};
|
|
73
|
-
// Set the filters whenever selectionDynamicValues change
|
|
74
|
-
useEffect(function () {
|
|
75
|
-
console.log("Selection Dynamic Values changed:", selectionDynamicValues);
|
|
76
|
-
if (selectionDynamicValues.length > 0) {
|
|
77
|
-
var filter_2 = {
|
|
78
|
-
variableName: dashboardVariable.variableName,
|
|
79
|
-
// @ts-ignore
|
|
80
|
-
operator: '$in',
|
|
81
|
-
value: selectionDynamicValues
|
|
82
|
-
};
|
|
83
|
-
setFilters(function (prev) {
|
|
84
|
-
// Remove any existing filter for this variable and replace with the new one
|
|
85
|
-
var filtered = prev.filter(function (f) { return f.variableName !== dashboardVariable.variableName; });
|
|
86
|
-
return __spreadArray(__spreadArray([], filtered, true), [filter_2], false);
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
// else {
|
|
90
|
-
// // If no values selected, remove the filter for this variable
|
|
91
|
-
// setFilters(prev => prev.filter(f => f.variableName !== dashboardVariable.variableName));
|
|
92
|
-
// }
|
|
93
|
-
}, [selectionDynamicValues]);
|
|
94
|
-
useEffect(function () {
|
|
95
|
-
setSelectionDynamicValues([]);
|
|
96
|
-
}, [clearSignal]);
|
|
97
|
-
return (_jsxs(_Fragment, { children: [isLoading && _jsx(SolidSpinner, {}), isError && _jsx("div", { children: "Error loading values" }), !isLoading && !isError &&
|
|
98
|
-
_jsx(SolidAutocomplete, { value: selectionDynamicValues, suggestions: filteredItems, completeMethod: searchDynamic, onChange: function (e) {
|
|
99
|
-
setSelectionDynamicValues(e.value);
|
|
100
|
-
}, multiple: true, dropdown: true, placeholder: dashboardVariable.variableName, className: "solid-standard-autocomplete", style: { minHeight: 38 } })] }));
|
|
101
|
-
};
|
|
102
|
-
export var SelectionStaticVariableFilterComponent = function (_a) {
|
|
103
|
-
var setFilters = _a.setFilters, clearSignal = _a.clearSignal, dashboardVariable = _a.dashboardVariable;
|
|
104
|
-
// Initialize the selection static values state
|
|
105
|
-
// Pick the values from defaultValue if present, for default operator $in
|
|
106
|
-
var defaultStaticValuesString = dashboardVariable.defaultOperator === '$in' && dashboardVariable.defaultValue;
|
|
107
|
-
var defaultStaticValues = JSON.parse(defaultStaticValuesString || '[]');
|
|
108
|
-
// Selection Static Values
|
|
109
|
-
var _b = useState(defaultStaticValues), selectionStaticValues = _b[0], setSelectionStaticValues = _b[1];
|
|
110
|
-
var _c = useState([]), filteredStaticItems = _c[0], setFilteredStaticItems = _c[1];
|
|
111
|
-
var staticValues = JSON.parse(dashboardVariable.selectionStaticValues || '[]') || [];
|
|
112
|
-
// The values are in the format val:label, we need to extract the labels
|
|
113
|
-
var staticValueItems = staticValues.map(function (val) { return ({ value: val.split(':')[0], label: val.split(':')[1] }); });
|
|
114
|
-
// Static search
|
|
115
|
-
var searchStatic = function (event) {
|
|
116
|
-
var query = event.query.toLowerCase();
|
|
117
|
-
var filtered = staticValueItems.map(function (item) { return item.label; }).filter(function (item) {
|
|
118
|
-
return item.toLowerCase().includes(query);
|
|
119
|
-
});
|
|
120
|
-
setFilteredStaticItems(filtered);
|
|
121
|
-
};
|
|
122
|
-
// Set the filters whenever selectionStaticValues change
|
|
123
|
-
useEffect(function () {
|
|
124
|
-
// console.log(`Selection Static Values changed:`, selectionStaticValues);
|
|
125
|
-
if (selectionStaticValues.length > 0) {
|
|
126
|
-
var filter_3 = {
|
|
127
|
-
variableName: dashboardVariable.variableName,
|
|
128
|
-
// @ts-ignore
|
|
129
|
-
operator: '$in',
|
|
130
|
-
value: selectionStaticValues
|
|
131
|
-
};
|
|
132
|
-
setFilters(function (prev) {
|
|
133
|
-
// Remove any existing filter for this variable and replace with the new one
|
|
134
|
-
var filtered = prev.filter(function (f) { return f.variableName !== dashboardVariable.variableName; });
|
|
135
|
-
return __spreadArray(__spreadArray([], filtered, true), [filter_3], false);
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
// else {
|
|
139
|
-
// // If no values selected, remove the filter for this variable
|
|
140
|
-
// setFilters(prev => prev.filter(f => f.variableName !== dashboardVariable.variableName));
|
|
141
|
-
// }
|
|
142
|
-
}, [selectionStaticValues]);
|
|
143
|
-
useEffect(function () {
|
|
144
|
-
setSelectionStaticValues([]);
|
|
145
|
-
}, [clearSignal]);
|
|
146
|
-
return (_jsx(SolidAutocomplete, { value: selectionStaticValues, suggestions: filteredStaticItems, completeMethod: searchStatic, onChange: function (e) { return setSelectionStaticValues(e.value); }, multiple: true, dropdown: true, placeholder: dashboardVariable.variableName, className: "solid-standard-autocomplete", style: { minHeight: 38 } }));
|
|
147
|
-
};
|
|
148
|
-
var SolidDashboardVariable = function (_a) {
|
|
149
|
-
var dashboardVariables = _a.dashboardVariables, filters = _a.filters, setFilters = _a.setFilters;
|
|
150
|
-
var _b = useState(0), clearSignal = _b[0], setClearSignal = _b[1];
|
|
151
|
-
var dashboardVariableComponents = dashboardVariables.map(function (dashboardVariable, index) {
|
|
152
|
-
switch (dashboardVariable.variableType) {
|
|
153
|
-
case 'date':
|
|
154
|
-
return _jsx(DateVariableFilterComponent, { setFilters: setFilters, clearSignal: clearSignal, dashboardVariable: dashboardVariable }, index);
|
|
155
|
-
case 'selectionStatic':
|
|
156
|
-
return _jsx(SelectionStaticVariableFilterComponent, { setFilters: setFilters, clearSignal: clearSignal, dashboardVariable: dashboardVariable }, index);
|
|
157
|
-
case 'selectionDynamic':
|
|
158
|
-
return _jsx(SelectionDynamicVariableFilterComponent, { setFilters: setFilters, clearSignal: clearSignal, dashboardVariable: dashboardVariable }, index);
|
|
159
|
-
default:
|
|
160
|
-
return null;
|
|
161
|
-
}
|
|
162
|
-
});
|
|
163
|
-
var clearAllFilters = function () {
|
|
164
|
-
setFilters([]);
|
|
165
|
-
setClearSignal(function (prev) { return prev + 1; }); // triggers children to reset
|
|
166
|
-
};
|
|
167
|
-
// TODO [HP]: Currently this is static, we need this to be dynamic how we are invoking setFilters below has to be fully dynamic...
|
|
168
|
-
return (_jsxs("div", { className: "flex align-items-center gap-3", children: [dashboardVariableComponents, filters.length > 0 && (_jsx(SolidButton, { onClick: clearAllFilters, size: "sm", outlined: true, icon: "si si-filter-slash" }))] }));
|
|
169
|
-
};
|
|
170
|
-
export default SolidDashboardVariable;
|
|
171
|
-
//# sourceMappingURL=SolidDashboardVariable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SolidDashboardVariable.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidDashboardVariable.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { SqlExpression } from \"../../../types/solid-core\";\nimport React, { Dispatch, SetStateAction, useEffect, useState } from \"react\";\nimport styles from './SolidDashboard.module.css';\nimport { useGetDashboardVariableSelectionDynamicValuesQuery } from \"../../../redux/api/dashboardApi\";\nimport { DashboardVariableRecord } from \"./SolidDashboard\";\nimport { SolidAutocomplete, SolidButton, SolidDatePicker, SolidIcon, SolidSpinner } from \"../../shad-cn-ui\";\n\ntype Nullable<T> = T | null;\ntype AutoCompleteChangeEvent = { value: any };\ntype AutoCompleteCompleteEvent = { query: string };\n\n\nexport interface DashboardVariableFilterProps {\n setFilters: Dispatch<SetStateAction<SqlExpression[]>>;\n clearSignal: number;\n dashboardVariable: DashboardVariableRecord;\n}\n\ntype DateRange = [Date | null, Date | null] | null;\n\nexport const DateVariableFilterComponent: React.FC<DashboardVariableFilterProps> = ({ setFilters, clearSignal, dashboardVariable }) => {\n // Initialize the default dates state\n // If the dashboardVariable has a defaultOperator as Between and a defaultValue as two dates, we can set those as the initial values, otherwise null\n const defaultDatesString = dashboardVariable.defaultOperator === '$between' && dashboardVariable.defaultValue\n const defaultDatesArray = JSON.parse(defaultDatesString || '[]');\n // Map the defaultDatesArray to Date objects\n const defaultDates: DateRange = defaultDatesArray.length === 2 ? [\n new Date(defaultDatesArray[0]),\n new Date(defaultDatesArray[1])\n ] : null;\n const [dates, setDates] = useState<DateRange>(defaultDates);\n\n useEffect(() => {\n setDates(null); // reset UI\n }, [clearSignal]);\n \n return (\n <div className={`flex align-items-center ${styles.SolidDashboardDateRangeFilterWrapper}`}>\n <SolidDatePicker\n selectsRange\n startDate={dates ? dates[0] : null}\n endDate={dates ? dates[1] : null}\n onChange={(next: [Date | null, Date | null] | null) => {\n const newDates = next;\n setDates(newDates);\n\n if (newDates && newDates[0] && newDates[1]) {\n const filter: SqlExpression = {\n variableName: dashboardVariable.variableName,\n // @ts-ignore\n operator: '$between',\n value: [\n newDates[0].toISOString().split('T')[0],\n newDates[1].toISOString().split('T')[0]\n ]\n };\n setFilters(prev => {\n // Remove any existing dashboardDate filter and replace with the new one\n // const filtered = prev.filter(f => f.variableName !== 'dashboardDate');\n return [filter];\n });\n }\n\n }}\n className={styles.SolidDashboardDateRangeFilter}\n inputClassName=\"h-3rem w-full\"\n />\n <div className=\"px-2\">\n <SolidIcon name=\"si-calendar\" className=\"opacity-50\" aria-hidden />\n </div>\n </div>\n )\n}\n\nexport const SelectionDynamicVariableFilterComponent: React.FC<DashboardVariableFilterProps> = ({ setFilters, clearSignal, dashboardVariable }) => {\n // Initialize the selection dynamic values state\n // Pick the values from defaultValue if present, for default operator $in\n const defaultDynamicValuesString = dashboardVariable.defaultOperator === '$in' && dashboardVariable.defaultValue;\n const defaultDynamicValues = JSON.parse(defaultDynamicValuesString || '[]');\n\n // Selection Dynamic Values\n const [selectionDynamicValues, setSelectionDynamicValues] = useState<string[]>(defaultDynamicValues);\n const [filteredItems, setFilteredItems] = useState<string[]>([]);\n\n // Using rtk query to fetch dynamic values based on variableId\n const variableId = dashboardVariable.id;\n const queryString = `variableId=${variableId}`;\n const { data: dynamicValues, isLoading, isError } = useGetDashboardVariableSelectionDynamicValuesQuery(queryString);\n\n const allItems = dynamicValues ? dynamicValues : [];\n\n // Dynamic search\n const searchDynamic = (event: AutoCompleteCompleteEvent) => {\n const query = event.query.toLowerCase();\n const filtered = allItems.map(item => item.label).filter(item =>\n item.toLowerCase().includes(query)\n );\n setFilteredItems(filtered);\n };\n\n // Set the filters whenever selectionDynamicValues change\n useEffect(() => {\n console.log(`Selection Dynamic Values changed:`, selectionDynamicValues);\n if (selectionDynamicValues.length > 0) {\n const filter: SqlExpression = {\n variableName: dashboardVariable.variableName,\n // @ts-ignore\n operator: '$in',\n value: selectionDynamicValues\n };\n setFilters(prev => {\n // Remove any existing filter for this variable and replace with the new one\n const filtered = prev.filter(f => f.variableName !== dashboardVariable.variableName);\n return [...filtered, filter];\n });\n }\n // else {\n // // If no values selected, remove the filter for this variable\n // setFilters(prev => prev.filter(f => f.variableName !== dashboardVariable.variableName));\n // }\n }, [selectionDynamicValues]);\n\n useEffect(() => {\n setSelectionDynamicValues([]);\n }, [clearSignal]);\n\n return (\n <>\n {isLoading && <SolidSpinner />}\n {isError && <div>Error loading values</div>}\n {!isLoading && !isError &&\n <SolidAutocomplete\n value={selectionDynamicValues}\n suggestions={filteredItems}\n completeMethod={searchDynamic}\n onChange={(e: AutoCompleteChangeEvent) => {\n setSelectionDynamicValues(e.value)\n }}\n multiple\n dropdown\n placeholder={dashboardVariable.variableName}\n className=\"solid-standard-autocomplete\"\n style={{ minHeight: 38 }}\n />\n }\n </>\n );\n}\n\nexport const SelectionStaticVariableFilterComponent: React.FC<DashboardVariableFilterProps> = ({ setFilters, clearSignal, dashboardVariable }) => {\n // Initialize the selection static values state\n // Pick the values from defaultValue if present, for default operator $in\n const defaultStaticValuesString = dashboardVariable.defaultOperator === '$in' && dashboardVariable.defaultValue;\n const defaultStaticValues = JSON.parse(defaultStaticValuesString || '[]');\n\n // Selection Static Values\n const [selectionStaticValues, setSelectionStaticValues] = useState<string[]>(defaultStaticValues);\n const [filteredStaticItems, setFilteredStaticItems] = useState<string[]>([]);\n const staticValues = JSON.parse(dashboardVariable.selectionStaticValues || '[]') || [];\n\n // The values are in the format val:label, we need to extract the labels\n const staticValueItems = staticValues.map((val: any) => ({ value: val.split(':')[0], label: val.split(':')[1] }));\n\n // Static search\n const searchStatic = (event: AutoCompleteCompleteEvent) => {\n const query = event.query.toLowerCase();\n const filtered = staticValueItems.map(\n (item: { label: any; }) => item.label\n ).filter((item: string) =>\n item.toLowerCase().includes(query)\n );\n setFilteredStaticItems(filtered);\n };\n\n // Set the filters whenever selectionStaticValues change\n useEffect(() => {\n // console.log(`Selection Static Values changed:`, selectionStaticValues);\n if (selectionStaticValues.length > 0) {\n const filter: SqlExpression = {\n variableName: dashboardVariable.variableName,\n // @ts-ignore\n operator: '$in',\n value: selectionStaticValues\n };\n setFilters(prev => {\n // Remove any existing filter for this variable and replace with the new one\n const filtered = prev.filter(f => f.variableName !== dashboardVariable.variableName);\n return [...filtered, filter];\n });\n }\n // else {\n // // If no values selected, remove the filter for this variable\n // setFilters(prev => prev.filter(f => f.variableName !== dashboardVariable.variableName));\n // }\n }, [selectionStaticValues]);\n\n useEffect(() => {\n setSelectionStaticValues([]);\n }, [clearSignal]);\n\n return (\n <SolidAutocomplete\n value={selectionStaticValues}\n suggestions={filteredStaticItems}\n completeMethod={searchStatic}\n onChange={(e: AutoCompleteChangeEvent) => setSelectionStaticValues(e.value)}\n multiple\n dropdown\n placeholder={dashboardVariable.variableName}\n className=\"solid-standard-autocomplete\"\n style={{ minHeight: 38 }}\n />\n );\n}\n\nexport interface SolidDashboardVariableProps {\n dashboardVariables: any;\n filters: SqlExpression[];\n setFilters: Dispatch<SetStateAction<SqlExpression[]>>;\n}\n\nconst SolidDashboardVariable: React.FC<SolidDashboardVariableProps> = ({ dashboardVariables, filters, setFilters }) => {\n const [clearSignal, setClearSignal] = useState(0);\n const dashboardVariableComponents = dashboardVariables.map((dashboardVariable: any, index: number) => {\n switch (dashboardVariable.variableType) {\n case 'date':\n return <DateVariableFilterComponent key={index} setFilters={setFilters} clearSignal={clearSignal} dashboardVariable={dashboardVariable} />;\n case 'selectionStatic':\n return <SelectionStaticVariableFilterComponent key={index} setFilters={setFilters} clearSignal={clearSignal} dashboardVariable={dashboardVariable} />;\n case 'selectionDynamic':\n return <SelectionDynamicVariableFilterComponent key={index} setFilters={setFilters} clearSignal={clearSignal} dashboardVariable={dashboardVariable} />;\n default:\n return null;\n }\n });\n\n const clearAllFilters = () => {\n setFilters([]);\n setClearSignal(prev => prev + 1); // triggers children to reset\n };\n\n // TODO [HP]: Currently this is static, we need this to be dynamic how we are invoking setFilters below has to be fully dynamic...\n return (\n <div className=\"flex align-items-center gap-3\">\n {dashboardVariableComponents}\n {filters.length > 0 && (\n <SolidButton\n onClick={clearAllFilters}\n size=\"sm\"\n outlined\n icon=\"si si-filter-slash\"\n />\n )}\n </div>\n );\n}\n\nexport default SolidDashboardVariable;\n"]}
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import { SqlExpression } from "../../../types/solid-core";
|
|
3
|
-
import React, { Dispatch, SetStateAction, useEffect, useState } from "react";
|
|
4
|
-
import styles from './SolidDashboard.module.css';
|
|
5
|
-
import { useGetDashboardVariableSelectionDynamicValuesQuery } from "../../../redux/api/dashboardApi";
|
|
6
|
-
import { DashboardVariableRecord } from "./SolidDashboard";
|
|
7
|
-
import { SolidAutocomplete, SolidButton, SolidDatePicker, SolidIcon, SolidSpinner } from "../../shad-cn-ui";
|
|
8
|
-
|
|
9
|
-
type Nullable<T> = T | null;
|
|
10
|
-
type AutoCompleteChangeEvent = { value: any };
|
|
11
|
-
type AutoCompleteCompleteEvent = { query: string };
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export interface DashboardVariableFilterProps {
|
|
15
|
-
setFilters: Dispatch<SetStateAction<SqlExpression[]>>;
|
|
16
|
-
clearSignal: number;
|
|
17
|
-
dashboardVariable: DashboardVariableRecord;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
type DateRange = [Date | null, Date | null] | null;
|
|
21
|
-
|
|
22
|
-
export const DateVariableFilterComponent: React.FC<DashboardVariableFilterProps> = ({ setFilters, clearSignal, dashboardVariable }) => {
|
|
23
|
-
// Initialize the default dates state
|
|
24
|
-
// If the dashboardVariable has a defaultOperator as Between and a defaultValue as two dates, we can set those as the initial values, otherwise null
|
|
25
|
-
const defaultDatesString = dashboardVariable.defaultOperator === '$between' && dashboardVariable.defaultValue
|
|
26
|
-
const defaultDatesArray = JSON.parse(defaultDatesString || '[]');
|
|
27
|
-
// Map the defaultDatesArray to Date objects
|
|
28
|
-
const defaultDates: DateRange = defaultDatesArray.length === 2 ? [
|
|
29
|
-
new Date(defaultDatesArray[0]),
|
|
30
|
-
new Date(defaultDatesArray[1])
|
|
31
|
-
] : null;
|
|
32
|
-
const [dates, setDates] = useState<DateRange>(defaultDates);
|
|
33
|
-
|
|
34
|
-
useEffect(() => {
|
|
35
|
-
setDates(null); // reset UI
|
|
36
|
-
}, [clearSignal]);
|
|
37
|
-
|
|
38
|
-
return (
|
|
39
|
-
<div className={`flex align-items-center ${styles.SolidDashboardDateRangeFilterWrapper}`}>
|
|
40
|
-
<SolidDatePicker
|
|
41
|
-
selectsRange
|
|
42
|
-
startDate={dates ? dates[0] : null}
|
|
43
|
-
endDate={dates ? dates[1] : null}
|
|
44
|
-
onChange={(next: [Date | null, Date | null] | null) => {
|
|
45
|
-
const newDates = next;
|
|
46
|
-
setDates(newDates);
|
|
47
|
-
|
|
48
|
-
if (newDates && newDates[0] && newDates[1]) {
|
|
49
|
-
const filter: SqlExpression = {
|
|
50
|
-
variableName: dashboardVariable.variableName,
|
|
51
|
-
// @ts-ignore
|
|
52
|
-
operator: '$between',
|
|
53
|
-
value: [
|
|
54
|
-
newDates[0].toISOString().split('T')[0],
|
|
55
|
-
newDates[1].toISOString().split('T')[0]
|
|
56
|
-
]
|
|
57
|
-
};
|
|
58
|
-
setFilters(prev => {
|
|
59
|
-
// Remove any existing dashboardDate filter and replace with the new one
|
|
60
|
-
// const filtered = prev.filter(f => f.variableName !== 'dashboardDate');
|
|
61
|
-
return [filter];
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
}}
|
|
66
|
-
className={styles.SolidDashboardDateRangeFilter}
|
|
67
|
-
inputClassName="h-3rem w-full"
|
|
68
|
-
/>
|
|
69
|
-
<div className="px-2">
|
|
70
|
-
<SolidIcon name="si-calendar" className="opacity-50" aria-hidden />
|
|
71
|
-
</div>
|
|
72
|
-
</div>
|
|
73
|
-
)
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export const SelectionDynamicVariableFilterComponent: React.FC<DashboardVariableFilterProps> = ({ setFilters, clearSignal, dashboardVariable }) => {
|
|
77
|
-
// Initialize the selection dynamic values state
|
|
78
|
-
// Pick the values from defaultValue if present, for default operator $in
|
|
79
|
-
const defaultDynamicValuesString = dashboardVariable.defaultOperator === '$in' && dashboardVariable.defaultValue;
|
|
80
|
-
const defaultDynamicValues = JSON.parse(defaultDynamicValuesString || '[]');
|
|
81
|
-
|
|
82
|
-
// Selection Dynamic Values
|
|
83
|
-
const [selectionDynamicValues, setSelectionDynamicValues] = useState<string[]>(defaultDynamicValues);
|
|
84
|
-
const [filteredItems, setFilteredItems] = useState<string[]>([]);
|
|
85
|
-
|
|
86
|
-
// Using rtk query to fetch dynamic values based on variableId
|
|
87
|
-
const variableId = dashboardVariable.id;
|
|
88
|
-
const queryString = `variableId=${variableId}`;
|
|
89
|
-
const { data: dynamicValues, isLoading, isError } = useGetDashboardVariableSelectionDynamicValuesQuery(queryString);
|
|
90
|
-
|
|
91
|
-
const allItems = dynamicValues ? dynamicValues : [];
|
|
92
|
-
|
|
93
|
-
// Dynamic search
|
|
94
|
-
const searchDynamic = (event: AutoCompleteCompleteEvent) => {
|
|
95
|
-
const query = event.query.toLowerCase();
|
|
96
|
-
const filtered = allItems.map(item => item.label).filter(item =>
|
|
97
|
-
item.toLowerCase().includes(query)
|
|
98
|
-
);
|
|
99
|
-
setFilteredItems(filtered);
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
// Set the filters whenever selectionDynamicValues change
|
|
103
|
-
useEffect(() => {
|
|
104
|
-
console.log(`Selection Dynamic Values changed:`, selectionDynamicValues);
|
|
105
|
-
if (selectionDynamicValues.length > 0) {
|
|
106
|
-
const filter: SqlExpression = {
|
|
107
|
-
variableName: dashboardVariable.variableName,
|
|
108
|
-
// @ts-ignore
|
|
109
|
-
operator: '$in',
|
|
110
|
-
value: selectionDynamicValues
|
|
111
|
-
};
|
|
112
|
-
setFilters(prev => {
|
|
113
|
-
// Remove any existing filter for this variable and replace with the new one
|
|
114
|
-
const filtered = prev.filter(f => f.variableName !== dashboardVariable.variableName);
|
|
115
|
-
return [...filtered, filter];
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
// else {
|
|
119
|
-
// // If no values selected, remove the filter for this variable
|
|
120
|
-
// setFilters(prev => prev.filter(f => f.variableName !== dashboardVariable.variableName));
|
|
121
|
-
// }
|
|
122
|
-
}, [selectionDynamicValues]);
|
|
123
|
-
|
|
124
|
-
useEffect(() => {
|
|
125
|
-
setSelectionDynamicValues([]);
|
|
126
|
-
}, [clearSignal]);
|
|
127
|
-
|
|
128
|
-
return (
|
|
129
|
-
<>
|
|
130
|
-
{isLoading && <SolidSpinner />}
|
|
131
|
-
{isError && <div>Error loading values</div>}
|
|
132
|
-
{!isLoading && !isError &&
|
|
133
|
-
<SolidAutocomplete
|
|
134
|
-
value={selectionDynamicValues}
|
|
135
|
-
suggestions={filteredItems}
|
|
136
|
-
completeMethod={searchDynamic}
|
|
137
|
-
onChange={(e: AutoCompleteChangeEvent) => {
|
|
138
|
-
setSelectionDynamicValues(e.value)
|
|
139
|
-
}}
|
|
140
|
-
multiple
|
|
141
|
-
dropdown
|
|
142
|
-
placeholder={dashboardVariable.variableName}
|
|
143
|
-
className="solid-standard-autocomplete"
|
|
144
|
-
style={{ minHeight: 38 }}
|
|
145
|
-
/>
|
|
146
|
-
}
|
|
147
|
-
</>
|
|
148
|
-
);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
export const SelectionStaticVariableFilterComponent: React.FC<DashboardVariableFilterProps> = ({ setFilters, clearSignal, dashboardVariable }) => {
|
|
152
|
-
// Initialize the selection static values state
|
|
153
|
-
// Pick the values from defaultValue if present, for default operator $in
|
|
154
|
-
const defaultStaticValuesString = dashboardVariable.defaultOperator === '$in' && dashboardVariable.defaultValue;
|
|
155
|
-
const defaultStaticValues = JSON.parse(defaultStaticValuesString || '[]');
|
|
156
|
-
|
|
157
|
-
// Selection Static Values
|
|
158
|
-
const [selectionStaticValues, setSelectionStaticValues] = useState<string[]>(defaultStaticValues);
|
|
159
|
-
const [filteredStaticItems, setFilteredStaticItems] = useState<string[]>([]);
|
|
160
|
-
const staticValues = JSON.parse(dashboardVariable.selectionStaticValues || '[]') || [];
|
|
161
|
-
|
|
162
|
-
// The values are in the format val:label, we need to extract the labels
|
|
163
|
-
const staticValueItems = staticValues.map((val: any) => ({ value: val.split(':')[0], label: val.split(':')[1] }));
|
|
164
|
-
|
|
165
|
-
// Static search
|
|
166
|
-
const searchStatic = (event: AutoCompleteCompleteEvent) => {
|
|
167
|
-
const query = event.query.toLowerCase();
|
|
168
|
-
const filtered = staticValueItems.map(
|
|
169
|
-
(item: { label: any; }) => item.label
|
|
170
|
-
).filter((item: string) =>
|
|
171
|
-
item.toLowerCase().includes(query)
|
|
172
|
-
);
|
|
173
|
-
setFilteredStaticItems(filtered);
|
|
174
|
-
};
|
|
175
|
-
|
|
176
|
-
// Set the filters whenever selectionStaticValues change
|
|
177
|
-
useEffect(() => {
|
|
178
|
-
// console.log(`Selection Static Values changed:`, selectionStaticValues);
|
|
179
|
-
if (selectionStaticValues.length > 0) {
|
|
180
|
-
const filter: SqlExpression = {
|
|
181
|
-
variableName: dashboardVariable.variableName,
|
|
182
|
-
// @ts-ignore
|
|
183
|
-
operator: '$in',
|
|
184
|
-
value: selectionStaticValues
|
|
185
|
-
};
|
|
186
|
-
setFilters(prev => {
|
|
187
|
-
// Remove any existing filter for this variable and replace with the new one
|
|
188
|
-
const filtered = prev.filter(f => f.variableName !== dashboardVariable.variableName);
|
|
189
|
-
return [...filtered, filter];
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
// else {
|
|
193
|
-
// // If no values selected, remove the filter for this variable
|
|
194
|
-
// setFilters(prev => prev.filter(f => f.variableName !== dashboardVariable.variableName));
|
|
195
|
-
// }
|
|
196
|
-
}, [selectionStaticValues]);
|
|
197
|
-
|
|
198
|
-
useEffect(() => {
|
|
199
|
-
setSelectionStaticValues([]);
|
|
200
|
-
}, [clearSignal]);
|
|
201
|
-
|
|
202
|
-
return (
|
|
203
|
-
<SolidAutocomplete
|
|
204
|
-
value={selectionStaticValues}
|
|
205
|
-
suggestions={filteredStaticItems}
|
|
206
|
-
completeMethod={searchStatic}
|
|
207
|
-
onChange={(e: AutoCompleteChangeEvent) => setSelectionStaticValues(e.value)}
|
|
208
|
-
multiple
|
|
209
|
-
dropdown
|
|
210
|
-
placeholder={dashboardVariable.variableName}
|
|
211
|
-
className="solid-standard-autocomplete"
|
|
212
|
-
style={{ minHeight: 38 }}
|
|
213
|
-
/>
|
|
214
|
-
);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
export interface SolidDashboardVariableProps {
|
|
218
|
-
dashboardVariables: any;
|
|
219
|
-
filters: SqlExpression[];
|
|
220
|
-
setFilters: Dispatch<SetStateAction<SqlExpression[]>>;
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
const SolidDashboardVariable: React.FC<SolidDashboardVariableProps> = ({ dashboardVariables, filters, setFilters }) => {
|
|
224
|
-
const [clearSignal, setClearSignal] = useState(0);
|
|
225
|
-
const dashboardVariableComponents = dashboardVariables.map((dashboardVariable: any, index: number) => {
|
|
226
|
-
switch (dashboardVariable.variableType) {
|
|
227
|
-
case 'date':
|
|
228
|
-
return <DateVariableFilterComponent key={index} setFilters={setFilters} clearSignal={clearSignal} dashboardVariable={dashboardVariable} />;
|
|
229
|
-
case 'selectionStatic':
|
|
230
|
-
return <SelectionStaticVariableFilterComponent key={index} setFilters={setFilters} clearSignal={clearSignal} dashboardVariable={dashboardVariable} />;
|
|
231
|
-
case 'selectionDynamic':
|
|
232
|
-
return <SelectionDynamicVariableFilterComponent key={index} setFilters={setFilters} clearSignal={clearSignal} dashboardVariable={dashboardVariable} />;
|
|
233
|
-
default:
|
|
234
|
-
return null;
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
|
|
238
|
-
const clearAllFilters = () => {
|
|
239
|
-
setFilters([]);
|
|
240
|
-
setClearSignal(prev => prev + 1); // triggers children to reset
|
|
241
|
-
};
|
|
242
|
-
|
|
243
|
-
// TODO [HP]: Currently this is static, we need this to be dynamic how we are invoking setFilters below has to be fully dynamic...
|
|
244
|
-
return (
|
|
245
|
-
<div className="flex align-items-center gap-3">
|
|
246
|
-
{dashboardVariableComponents}
|
|
247
|
-
{filters.length > 0 && (
|
|
248
|
-
<SolidButton
|
|
249
|
-
onClick={clearAllFilters}
|
|
250
|
-
size="sm"
|
|
251
|
-
outlined
|
|
252
|
-
icon="si si-filter-slash"
|
|
253
|
-
/>
|
|
254
|
-
)}
|
|
255
|
-
</div>
|
|
256
|
-
);
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
export default SolidDashboardVariable;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { SqlExpression } from '../../../types/solid-core';
|
|
2
|
-
type SolidQuestionRendererProps = {
|
|
3
|
-
question: any;
|
|
4
|
-
filters: SqlExpression[];
|
|
5
|
-
isPreview: boolean;
|
|
6
|
-
};
|
|
7
|
-
export declare const SolidQuestionRenderer: ({ question, filters, isPreview }: SolidQuestionRendererProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
export {};
|
|
9
|
-
//# sourceMappingURL=SolidQuestionRenderer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SolidQuestionRenderer.d.ts","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidQuestionRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO1D,KAAK,0BAA0B,GAAG;IAC9B,QAAQ,EAAE,GAAG,CAAC;IACd,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACtB,CAAC;AAQF,eAAO,MAAM,qBAAqB,qCAAmD,0BAA0B,4CA4E9G,CAAA"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useGetDashboardQuestionDataByIdQuery } from '../../../redux/api/dashboardQuestionApi';
|
|
3
|
-
import { SolidMessage, SolidSpinner } from '../../shad-cn-ui';
|
|
4
|
-
import qs from 'qs';
|
|
5
|
-
import { ChartJsRenderer } from './chart-renderers/ChartJsRenderer';
|
|
6
|
-
import PrimeReactDatatableRenderer from './chart-renderers/PrimeReactDatatableRenderer';
|
|
7
|
-
import styles from './SolidDashboard.module.css';
|
|
8
|
-
export var SolidQuestionRenderer = function (_a) {
|
|
9
|
-
var _b;
|
|
10
|
-
var question = _a.question, _c = _a.filters, filters = _c === void 0 ? [] : _c, _d = _a.isPreview, isPreview = _d === void 0 ? false : _d;
|
|
11
|
-
if (!question) {
|
|
12
|
-
return (_jsx("div", { className: "".concat(styles.SolidChartCardWrapper, " p-4"), children: _jsx(SolidMessage, { text: "Preview Unavailable" }) }));
|
|
13
|
-
}
|
|
14
|
-
var textAlign = (_b = question === null || question === void 0 ? void 0 : question.textAlign) !== null && _b !== void 0 ? _b : 'start';
|
|
15
|
-
if (!question) {
|
|
16
|
-
return (_jsx(SolidMessage, { text: "Preview Unavailable" }));
|
|
17
|
-
}
|
|
18
|
-
// console.log(`Rendering BarChartRenderer using question id: ${question.id}`);
|
|
19
|
-
// load the question data.
|
|
20
|
-
var queryParams = qs.stringify({
|
|
21
|
-
isPreview: isPreview,
|
|
22
|
-
filters: filters,
|
|
23
|
-
});
|
|
24
|
-
var _e = useGetDashboardQuestionDataByIdQuery({ id: question.id, qs: queryParams }), questionData = _e.data, questionDataIsLoading = _e.isLoading, questionDataError = _e.error;
|
|
25
|
-
// console.log(`Question data: `); console.log(questionData);
|
|
26
|
-
// console.log(`Question data is loading: `); console.log(questionDataIsLoading);
|
|
27
|
-
// console.log(`Question data error: `); console.log(questionDataError);
|
|
28
|
-
var options = JSON.parse(question === null || question === void 0 ? void 0 : question.chartOptions);
|
|
29
|
-
// const kpi = questionData.data.kpi;
|
|
30
|
-
// const visualizationData = questionData.data.visualizationData;
|
|
31
|
-
// const visualizedAs = question.data.visualisedAs;
|
|
32
|
-
return (_jsxs(_Fragment, { children: [questionDataIsLoading && _jsx(SolidSpinner, {}), !questionDataIsLoading &&
|
|
33
|
-
_jsxs("div", { className: "".concat(styles.SolidChartCardWrapper, " h-full"), children: [_jsxs("div", { className: 'flex flex-col p-4 pb-3', style: { borderBottom: "1px solid #e4e3e3" }, children: [_jsx("div", { className: "font-medium text-".concat(textAlign, " ").concat(styles.SolidChartTitle), children: question.name }), _jsx("div", { className: "mt-2 font-bold text-3xl text-".concat(textAlign, " ").concat(styles.SolidChartTitle), children: questionData.data.kpi })] }), _jsxs("div", { className: 'mt-3 flex-1 min-h-0 p-4 pt-2', children: [['bar', 'line', 'pie'].includes(question.visualisedAs) && _jsx(ChartJsRenderer, { options: options, visualizationData: questionData.data.visualizationData, visualizedAs: question.visualisedAs }), question.visualisedAs === 'prime-meter-group' && (function () {
|
|
34
|
-
var dataset = questionData.data.visualizationData.dataset;
|
|
35
|
-
var total = dataset.reduce(function (sum, it) { return sum + it.value; }, 0) || 1;
|
|
36
|
-
return (_jsx("div", { className: "solid-meter-group", children: dataset.map(function (item, idx) {
|
|
37
|
-
var percentage = Math.round((item.value / total) * 100);
|
|
38
|
-
return (_jsxs("div", { className: "solid-meter-group-row", children: [_jsx("span", { className: "solid-meter-group-label", children: item.label }), _jsx("div", { className: "solid-meter-group-bar", children: _jsx("div", { className: "solid-meter-group-bar-fill", style: { width: "".concat(percentage, "%"), backgroundColor: item.color || 'var(--solid-surface-accent)' } }) }), _jsxs("span", { className: "solid-meter-group-value", children: [percentage, "%"] })] }, "".concat(item.label, "-").concat(idx)));
|
|
39
|
-
}) }));
|
|
40
|
-
})(), question.visualisedAs === 'prime-datatable' && _jsx(PrimeReactDatatableRenderer, { options: options, visualizationData: questionData.data.visualizationData })] })] })] }));
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=SolidQuestionRenderer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SolidQuestionRenderer.js","sourceRoot":"","sources":["../../../../src/components/core/dashboard/SolidQuestionRenderer.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport type { ReactNode } from 'react';\nimport { useGetDashboardQuestionDataByIdQuery } from '../../../redux/api/dashboardQuestionApi';\nimport { SqlExpression } from '../../../types/solid-core';\nimport { SolidMessage, SolidSpinner } from '../../shad-cn-ui';\nimport qs from 'qs';\nimport { ChartJsRenderer } from './chart-renderers/ChartJsRenderer';\nimport PrimeReactDatatableRenderer from './chart-renderers/PrimeReactDatatableRenderer';\nimport styles from './SolidDashboard.module.css';\n\ntype SolidQuestionRendererProps = {\n question: any;\n filters: SqlExpression[];\n isPreview: boolean;\n};\n\ntype DataItem = {\n value: number;\n label?: string | ReactNode;\n color?: string;\n}\n\nexport const SolidQuestionRenderer = ({ question, filters = [], isPreview = false }: SolidQuestionRendererProps) => {\n if (!question) {\n return (\n <div className={`${styles.SolidChartCardWrapper} p-4`}>\n <SolidMessage text=\"Preview Unavailable\" />\n </div>\n );\n }\n\n const textAlign = question?.textAlign ?? 'start'\n if (!question) {\n return (\n <SolidMessage text=\"Preview Unavailable\" />\n )\n }\n // console.log(`Rendering BarChartRenderer using question id: ${question.id}`);\n\n // load the question data.\n const queryParams = qs.stringify(\n {\n isPreview,\n filters,\n },\n // ensures proper handling of arrays\n // { arrayFormat: 'indices' }\n );\n const { data: questionData, isLoading: questionDataIsLoading, error: questionDataError } = useGetDashboardQuestionDataByIdQuery({ id: question.id, qs: queryParams });\n\n\n // console.log(`Question data: `); console.log(questionData);\n // console.log(`Question data is loading: `); console.log(questionDataIsLoading);\n // console.log(`Question data error: `); console.log(questionDataError);\n const options = JSON.parse(question?.chartOptions);\n // const kpi = questionData.data.kpi;\n // const visualizationData = questionData.data.visualizationData;\n // const visualizedAs = question.data.visualisedAs;\n return (\n <>\n {questionDataIsLoading && <SolidSpinner />}\n {!questionDataIsLoading &&\n <div className={`${styles.SolidChartCardWrapper} h-full`}>\n <div className='flex flex-col p-4 pb-3' style={{ borderBottom: \"1px solid #e4e3e3\" }}>\n <div className={`font-medium text-${textAlign} ${styles.SolidChartTitle}`}>{question.name}</div>\n <div className={`mt-2 font-bold text-3xl text-${textAlign} ${styles.SolidChartTitle}`}>{questionData.data.kpi}</div>\n </div>\n <div className='mt-3 flex-1 min-h-0 p-4 pt-2'>\n {['bar', 'line', 'pie'].includes(question.visualisedAs) && <ChartJsRenderer options={options} visualizationData={questionData.data.visualizationData} visualizedAs={question.visualisedAs} />}\n {question.visualisedAs === 'prime-meter-group' && (() => {\n const dataset: DataItem[] = questionData.data.visualizationData.dataset;\n const total = dataset.reduce((sum, it) => sum + it.value, 0) || 1;\n return (\n <div className=\"solid-meter-group\">\n {dataset.map((item: DataItem, idx: number) => {\n const percentage = Math.round((item.value / total) * 100);\n return (\n <div key={`${item.label}-${idx}`} className=\"solid-meter-group-row\">\n <span className=\"solid-meter-group-label\">{item.label}</span>\n <div className=\"solid-meter-group-bar\">\n <div\n className=\"solid-meter-group-bar-fill\"\n style={{ width: `${percentage}%`, backgroundColor: item.color || 'var(--solid-surface-accent)' }}\n />\n </div>\n <span className=\"solid-meter-group-value\">{percentage}%</span>\n </div>\n );\n })}\n </div>\n );\n })()}\n {question.visualisedAs === 'prime-datatable' && <PrimeReactDatatableRenderer options={options} visualizationData={questionData.data.visualizationData} />}\n </div>\n </div>\n }\n </>\n )\n}\n"]}
|