@solidxai/core-ui 0.1.13-beta.2 → 0.1.13-beta.3
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/SolidOTPVerify.d.ts +3 -0
- package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
- package/dist/components/auth/SolidOTPVerify.js +67 -0
- package/dist/components/auth/SolidOTPVerify.js.map +1 -0
- package/dist/components/auth/SolidOTPVerify.tsx +133 -0
- package/dist/components/common/AuthBanner.d.ts +3 -0
- package/dist/components/common/AuthBanner.d.ts.map +1 -0
- package/dist/components/common/AuthBanner.js +15 -0
- package/dist/components/common/AuthBanner.js.map +1 -0
- package/dist/components/common/AuthBanner.tsx +41 -0
- package/dist/components/common/SingleSelectAutoCompleteField.d.ts +2 -0
- package/dist/components/common/SingleSelectAutoCompleteField.d.ts.map +1 -0
- package/dist/components/common/SingleSelectAutoCompleteField.js +92 -0
- package/dist/components/common/SingleSelectAutoCompleteField.js.map +1 -0
- package/dist/components/common/SingleSelectAutoCompleteField.tsx +73 -0
- package/dist/components/common/SolidExportStepper.d.ts +12 -0
- package/dist/components/common/SolidExportStepper.d.ts.map +1 -0
- package/dist/components/common/SolidExportStepper.js +30 -0
- package/dist/components/common/SolidExportStepper.js.map +1 -0
- package/dist/components/common/SolidExportStepper.tsx +135 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
- package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts +2 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.d.ts.map +1 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js +16 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.js.map +1 -0
- package/dist/components/core/common/SolidGenericImport/SolidImportWrapper.tsx +29 -0
- package/dist/components/core/dashboard/DashboardFilter.d.ts +13 -0
- package/dist/components/core/dashboard/DashboardFilter.d.ts.map +1 -0
- package/dist/components/core/dashboard/DashboardFilter.js +299 -0
- package/dist/components/core/dashboard/DashboardFilter.js.map +1 -0
- package/dist/components/core/dashboard/DashboardFilter.tsx +348 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts +3 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.d.ts.map +1 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js +21 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.js.map +1 -0
- package/dist/components/core/dashboard/PrimeDataTableWrapper.tsx +40 -0
- package/dist/components/core/dashboard/SolidDashboard.d.ts +28 -0
- package/dist/components/core/dashboard/SolidDashboard.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboard.js +183 -0
- package/dist/components/core/dashboard/SolidDashboard.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboard.module.css +83 -0
- package/dist/components/core/dashboard/SolidDashboard.tsx +263 -0
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts +24 -0
- package/dist/components/core/dashboard/SolidDashboardBody.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardBody.js +162 -0
- package/dist/components/core/dashboard/SolidDashboardBody.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardBody.tsx +168 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts +2 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +11 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +28 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.d.ts +3 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.js +6 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardHeader.tsx +10 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.d.ts +2 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.js +10 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardLoading.tsx +61 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts +3 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +12 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +32 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts +2 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.js +11 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardRenderError.tsx +28 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.d.ts +19 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.js +171 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.js.map +1 -0
- package/dist/components/core/dashboard/SolidDashboardVariable.tsx +259 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts +9 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.d.ts.map +1 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.js +42 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.js.map +1 -0
- package/dist/components/core/dashboard/SolidQuestionRenderer.tsx +99 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts +9 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.d.ts.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js +35 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.js.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/ChartJsRenderer.tsx +48 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts +7 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.d.ts.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js +22 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.js.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/PrimeReactDatatableRenderer.tsx +51 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts +2 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.d.ts.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.js +4 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.js.map +1 -0
- package/dist/components/core/dashboard/chart-renderers/init-chartjs.ts +25 -0
- package/dist/components/core/dashboard/dashboard-utils.d.ts +2 -0
- package/dist/components/core/dashboard/dashboard-utils.d.ts.map +1 -0
- package/dist/components/core/dashboard/dashboard-utils.js +38 -0
- package/dist/components/core/dashboard/dashboard-utils.js.map +1 -0
- package/dist/components/core/dashboard/dashboard-utils.ts +39 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts +10 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js +16 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardFormViewChangeHandler.ts +19 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts +8 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js +64 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionFieldChangeHandler.ts +30 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts +8 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js +62 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboard/dashboardQuestionOnFormLoadHandler.ts +29 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts +4 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.d.ts.map +1 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js +23 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.js.map +1 -0
- package/dist/components/core/extension/solid-core/dashboardQuestion/ChartFormPreviewWidget.tsx +36 -0
- package/dist/components/core/form/fields/SolidMediaMultipleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.js +111 -106
- package/dist/components/core/form/fields/SolidMediaMultipleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaMultipleField.tsx +165 -134
- package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.js +81 -84
- package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
- package/dist/components/core/form/fields/SolidMediaSingleField.tsx +97 -86
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts +3 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.d.ts.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js +92 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +68 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts +3 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.d.ts.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js +111 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.js.map +1 -0
- package/dist/components/core/form/fields/widgets/SolidLovTypeChangeFormEditWidget.tsx +122 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +12 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.js +145 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.js.map +1 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.tsx +164 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts +2 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js +87 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -0
- package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +59 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts +2 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +73 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +1 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +50 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts +2 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js +20 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +1 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.tsx +32 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts +12 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.js +81 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +1 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.tsx +184 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +16 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js +21 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +23 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +13 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +12 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js +16 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +20 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +56 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +140 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +42 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +164 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js +11 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +13 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +9 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +14 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +37 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +121 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +12 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +13 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts +4 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.d.ts.map +1 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js +7 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +16 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +2 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +39 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -0
- package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +40 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.d.ts +12 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.d.ts.map +1 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.js +81 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.js.map +1 -0
- package/dist/components/core/list/SolidVarInputsFilterElement.tsx +184 -0
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js +42 -81
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaMultipleColumn.tsx +90 -120
- package/dist/components/core/list/columns/SolidMediaSingleColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js +34 -42
- package/dist/components/core/list/columns/SolidMediaSingleColumn.js.map +1 -1
- package/dist/components/core/list/columns/SolidMediaSingleColumn.tsx +51 -46
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js +87 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +70 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js +33 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidMqMessageStageListViewWidget.tsx +50 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts +3 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js +158 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.js.map +1 -0
- package/dist/components/core/list/widgets/SolidSummarizeListHeaderActionMqMessages.tsx +185 -0
- package/dist/components/layout/DashboardHeader.d.ts +3 -0
- package/dist/components/layout/DashboardHeader.d.ts.map +1 -0
- package/dist/components/layout/DashboardHeader.js +20 -0
- package/dist/components/layout/DashboardHeader.js.map +1 -0
- package/dist/components/layout/DashboardHeader.tsx +94 -0
- package/dist/helpers/# no such endpoints exist, need to calle +3 -0
- package/dist/helpers/ToastContainer.d.ts +4 -0
- package/dist/helpers/ToastContainer.d.ts.map +1 -0
- package/dist/helpers/ToastContainer.js +49 -0
- package/dist/helpers/ToastContainer.js.map +1 -0
- package/dist/helpers/ToastContainer.tsx +94 -0
- package/dist/helpers/downloadMediaFile.d.ts.map +1 -1
- package/dist/helpers/downloadMediaFile.js +10 -3
- package/dist/helpers/downloadMediaFile.js.map +1 -1
- package/dist/helpers/downloadMediaFile.tsx +13 -7
- package/dist/helpers/fileTypeIcon.d.ts +3 -2
- package/dist/helpers/fileTypeIcon.d.ts.map +1 -1
- package/dist/helpers/fileTypeIcon.js +11 -7
- package/dist/helpers/fileTypeIcon.js.map +1 -1
- package/dist/helpers/fileTypeIcon.tsx +12 -7
- package/dist/helpers/mediaType.d.ts +7 -0
- package/dist/helpers/mediaType.d.ts.map +1 -1
- package/dist/helpers/mediaType.js +39 -8
- package/dist/helpers/mediaType.js.map +1 -1
- package/dist/helpers/mediaType.ts +46 -7
- package/dist/helpers/mediaUrl.d.ts +2 -0
- package/dist/helpers/mediaUrl.d.ts.map +1 -0
- package/dist/helpers/mediaUrl.js +10 -0
- package/dist/helpers/mediaUrl.js.map +1 -0
- package/dist/helpers/mediaUrl.ts +11 -0
- package/dist/helpers/showToast.d.ts +5 -0
- package/dist/helpers/showToast.d.ts.map +1 -0
- package/dist/helpers/showToast.js +17 -0
- package/dist/helpers/showToast.js.map +1 -0
- package/dist/helpers/showToast.ts +13 -0
- package/dist/helpers/studioSandbox.d.ts +31 -0
- package/dist/helpers/studioSandbox.d.ts.map +1 -0
- package/dist/helpers/studioSandbox.js +104 -0
- package/dist/helpers/studioSandbox.js.map +1 -0
- package/dist/helpers/studioSandbox.ts +117 -0
- package/dist/nextAuth/authProviders.d.ts +4 -0
- package/dist/nextAuth/authProviders.d.ts.map +1 -0
- package/dist/nextAuth/authProviders.js +198 -0
- package/dist/nextAuth/authProviders.js.map +1 -0
- package/dist/nextAuth/authProviders.tsx +232 -0
- package/dist/nextAuth/handleLogout.d.ts +2 -0
- package/dist/nextAuth/handleLogout.d.ts.map +1 -0
- package/dist/nextAuth/handleLogout.js +36 -0
- package/dist/nextAuth/handleLogout.js.map +1 -0
- package/dist/nextAuth/handleLogout.tsx +39 -0
- package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
- package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
- package/dist/nextAuth/refreshAccessToken.js +24 -0
- package/dist/nextAuth/refreshAccessToken.js.map +1 -0
- package/dist/nextAuth/refreshAccessToken.tsx +28 -0
- package/dist/redux/api/dashboardApi.d.ts +23 -0
- package/dist/redux/api/dashboardApi.d.ts.map +1 -0
- package/dist/redux/api/dashboardApi.js +35 -0
- package/dist/redux/api/dashboardApi.js.map +1 -0
- package/dist/redux/api/dashboardApi.ts +56 -0
- package/dist/redux/api/dashboardLayoutApi.d.ts +24 -0
- package/dist/redux/api/dashboardLayoutApi.d.ts.map +1 -0
- package/dist/redux/api/dashboardLayoutApi.js +34 -0
- package/dist/redux/api/dashboardLayoutApi.js.map +1 -0
- package/dist/redux/api/dashboardLayoutApi.ts +55 -0
- package/dist/redux/api/dashboardQuestionApi.d.ts +5 -0
- package/dist/redux/api/dashboardQuestionApi.d.ts.map +1 -0
- package/dist/redux/api/dashboardQuestionApi.js +18 -0
- package/dist/redux/api/dashboardQuestionApi.js.map +1 -0
- package/dist/redux/api/dashboardQuestionApi.ts +17 -0
- package/dist/redux/features/settingsSlice.d.ts +20 -0
- package/dist/redux/features/settingsSlice.d.ts.map +1 -0
- package/dist/redux/features/settingsSlice.js +39 -0
- package/dist/redux/features/settingsSlice.js.map +1 -0
- package/dist/redux/features/settingsSlice.ts +60 -0
- package/dist/resources/images/Footerbg.png +0 -0
- package/dist/resources/images/LoginBanner.png +0 -0
- package/dist/resources/images/dashboard/Ellipse 1.svg +10 -0
- package/dist/resources/images/dashboard/Rectangle 17.svg +10 -0
- package/dist/resources/images/dashboard/Rectangle 25.svg +11 -0
- package/dist/resources/images/dashboard/image 5.svg +9 -0
- 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
- package/dist/resources/shadcn-base.css +16 -70
- package/dist/resources/solid-tailwind-generated.css +1 -1
- package/package.json +1 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.d.ts +0 -8
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.js +0 -6
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.js.map +0 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorHeaderAction.ts +0 -13
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.d.ts +0 -11
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.d.ts.map +0 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.js +0 -10
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.js.map +0 -1
- package/dist/components/core/extension/solid-core/workflowDefinition/list/openWorkflowDefinitionEditorRowAction.ts +0 -22
- package/dist/components/core/list/SolidCustomListColumn.d.ts +0 -8
- package/dist/components/core/list/SolidCustomListColumn.d.ts.map +0 -1
- package/dist/components/core/list/SolidCustomListColumn.js +0 -47
- package/dist/components/core/list/SolidCustomListColumn.js.map +0 -1
- package/dist/components/core/list/SolidCustomListColumn.tsx +0 -57
- package/dist/components/workflow/WorkflowFlowCanvas.css +0 -431
- package/dist/components/workflow/WorkflowFlowCanvas.d.ts +0 -41
- package/dist/components/workflow/WorkflowFlowCanvas.d.ts.map +0 -1
- package/dist/components/workflow/WorkflowFlowCanvas.js +0 -705
- package/dist/components/workflow/WorkflowFlowCanvas.js.map +0 -1
- package/dist/components/workflow/WorkflowFlowCanvas.tsx +0 -1274
- package/dist/components/workflow/WorkflowNodeDocsPanel.css +0 -247
- package/dist/components/workflow/WorkflowNodeDocsPanel.d.ts +0 -22
- package/dist/components/workflow/WorkflowNodeDocsPanel.d.ts.map +0 -1
- package/dist/components/workflow/WorkflowNodeDocsPanel.js +0 -97
- package/dist/components/workflow/WorkflowNodeDocsPanel.js.map +0 -1
- package/dist/components/workflow/WorkflowNodeDocsPanel.tsx +0 -363
- package/dist/components/workflow/WorkflowNodeSchemaEditor.d.ts +0 -50
- package/dist/components/workflow/WorkflowNodeSchemaEditor.d.ts.map +0 -1
- package/dist/components/workflow/WorkflowNodeSchemaEditor.js +0 -309
- package/dist/components/workflow/WorkflowNodeSchemaEditor.js.map +0 -1
- package/dist/components/workflow/WorkflowNodeSchemaEditor.tsx +0 -808
- package/dist/helpers/modulePackageResumeState.d.ts +0 -6
- package/dist/helpers/modulePackageResumeState.d.ts.map +0 -1
- package/dist/helpers/modulePackageResumeState.js +0 -46
- package/dist/helpers/modulePackageResumeState.js.map +0 -1
- package/dist/helpers/modulePackageResumeState.ts +0 -57
- package/dist/redux/api/workflowDefinitionEditorApi.d.ts +0 -17
- package/dist/redux/api/workflowDefinitionEditorApi.d.ts.map +0 -1
- package/dist/redux/api/workflowDefinitionEditorApi.js +0 -38
- package/dist/redux/api/workflowDefinitionEditorApi.js.map +0 -1
- package/dist/redux/api/workflowDefinitionEditorApi.ts +0 -40
- package/dist/redux/api/workflowNodeApi.d.ts +0 -6
- package/dist/redux/api/workflowNodeApi.d.ts.map +0 -1
- package/dist/redux/api/workflowNodeApi.js +0 -14
- package/dist/redux/api/workflowNodeApi.js.map +0 -1
- package/dist/redux/api/workflowNodeApi.ts +0 -18
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.css +0 -970
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.d.ts +0 -3
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.d.ts.map +0 -1
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js +0 -1287
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.js.map +0 -1
- package/dist/routes/pages/admin/core/WorkflowDefinitionEditorPage.tsx +0 -2572
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.css +0 -151
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.d.ts +0 -3
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.d.ts.map +0 -1
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.js +0 -250
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.js.map +0 -1
- package/dist/routes/pages/admin/core/WorkflowDefinitionListPage.tsx +0 -455
- package/dist/types/workflow-node.d.ts +0 -127
- package/dist/types/workflow-node.d.ts.map +0 -1
- package/dist/types/workflow-node.js +0 -2
- package/dist/types/workflow-node.js.map +0 -1
- package/dist/types/workflow-node.ts +0 -162
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
|
|
2
|
+
import { Button } from "primereact/button";
|
|
3
|
+
import { Calendar } from "primereact/calendar";
|
|
4
|
+
import { InputNumber } from "primereact/inputnumber";
|
|
5
|
+
import { InputText } from "primereact/inputtext";
|
|
6
|
+
import { useEffect, useState } from "react";
|
|
7
|
+
import { SolidManyToOneFilterElement } from "./SolidManyToOneFilterElement";
|
|
8
|
+
import { SolidSelectionDynamicFilterElement } from "./SolidSelectionDynamicFilterElement";
|
|
9
|
+
import { SolidSelectionStaticFilterElement } from "./SolidSelectionStaticFilterElement";
|
|
10
|
+
|
|
11
|
+
export enum InputTypes {
|
|
12
|
+
Date = 'Date',
|
|
13
|
+
DateTime = 'DateTime',
|
|
14
|
+
Time = 'Time',
|
|
15
|
+
Numeric = 'Numeric',
|
|
16
|
+
Text = 'Text',
|
|
17
|
+
SelectionStatic = 'SelectionStatic',
|
|
18
|
+
RelationManyToOne = 'RelationManyToOne',
|
|
19
|
+
SelectionDynamic = 'SelectionDynamic'
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
// Based on numberOfInputs map the input filed and hide add and delete
|
|
24
|
+
export const SolidVarInputsFilterElement = ({ values, onChange, inputType = InputTypes.Text, numberOfInputs = null, solidListViewMetaData, fieldMetadata }: any) => {
|
|
25
|
+
|
|
26
|
+
if (!values) {
|
|
27
|
+
values = numberOfInputs && numberOfInputs > 0 ? Array(numberOfInputs).fill('') : [''];
|
|
28
|
+
// values = [''];
|
|
29
|
+
} else {
|
|
30
|
+
if (values[0] == '') {
|
|
31
|
+
values = numberOfInputs && numberOfInputs > 0 ? Array(numberOfInputs).fill('') : [''];
|
|
32
|
+
} else {
|
|
33
|
+
|
|
34
|
+
values = values
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
// TODO: Ideally values will be an array, so we can spread them here instead of making a nested array.
|
|
41
|
+
const [inputs, setInputs] = useState([...values]);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
setInputs([...values])
|
|
44
|
+
}, [numberOfInputs])
|
|
45
|
+
|
|
46
|
+
const updateInputs = (index: number, value: any) => {
|
|
47
|
+
const updatedSpecification = inputs.map((item, i) =>
|
|
48
|
+
i === index ? value : item
|
|
49
|
+
);
|
|
50
|
+
setInputs(updatedSpecification);
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
const addInput = () => {
|
|
54
|
+
setInputs([...inputs, '']);
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const deleteInput = (index: number) => {
|
|
58
|
+
if (inputs.length > 1) {
|
|
59
|
+
const updatedRows = inputs.filter((_, rowIndex) => rowIndex !== index);
|
|
60
|
+
setInputs(updatedRows);
|
|
61
|
+
|
|
62
|
+
} else {
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
onChange(inputs)
|
|
68
|
+
}, [inputs])
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
return (
|
|
73
|
+
<div className="grid formgrid">
|
|
74
|
+
<div className="col-12">
|
|
75
|
+
<div className="flex flex-column gap-2">
|
|
76
|
+
{inputs && inputs.map((value: any, index: number) => (
|
|
77
|
+
|
|
78
|
+
<div key={index} className="flex align-items-center gap-2">
|
|
79
|
+
|
|
80
|
+
{inputType === InputTypes.Text &&
|
|
81
|
+
<InputText
|
|
82
|
+
value={value}
|
|
83
|
+
onChange={(e) => updateInputs(index, e.target.value)}
|
|
84
|
+
placeholder=""
|
|
85
|
+
className="p-inputtext-sm small-input w-full"
|
|
86
|
+
/>
|
|
87
|
+
}
|
|
88
|
+
{inputType === InputTypes.Numeric &&
|
|
89
|
+
<InputNumber
|
|
90
|
+
value={value}
|
|
91
|
+
onChange={(e) => updateInputs(index, e.value)}
|
|
92
|
+
placeholder=""
|
|
93
|
+
className="p-inputtext-sm small-input w-full"
|
|
94
|
+
/>
|
|
95
|
+
}
|
|
96
|
+
{inputType === InputTypes.Date &&
|
|
97
|
+
<Calendar
|
|
98
|
+
value={value}
|
|
99
|
+
onChange={(e) => updateInputs(index, e.target.value)}
|
|
100
|
+
dateFormat="mm/dd/yy"
|
|
101
|
+
placeholder="mm/dd/yyyy"
|
|
102
|
+
mask="99/99/9999"
|
|
103
|
+
/>
|
|
104
|
+
}
|
|
105
|
+
{inputType === InputTypes.DateTime &&
|
|
106
|
+
<Calendar
|
|
107
|
+
value={value}
|
|
108
|
+
onChange={(e) => updateInputs(index, e.target.value)}
|
|
109
|
+
dateFormat="mm/dd/yy"
|
|
110
|
+
placeholder="mm/dd/yyyy hh:mm"
|
|
111
|
+
mask="99/99/9999 99:99"
|
|
112
|
+
showTime
|
|
113
|
+
hourFormat="24"
|
|
114
|
+
/>
|
|
115
|
+
}
|
|
116
|
+
{inputType === InputTypes.Time &&
|
|
117
|
+
<Calendar
|
|
118
|
+
value={value}
|
|
119
|
+
onChange={(e) => updateInputs(index, e.target.value)}
|
|
120
|
+
placeholder="hh:mm"
|
|
121
|
+
mask="99:99"
|
|
122
|
+
timeOnly
|
|
123
|
+
hourFormat="24"
|
|
124
|
+
/>
|
|
125
|
+
}
|
|
126
|
+
{inputType === InputTypes.RelationManyToOne &&
|
|
127
|
+
<SolidManyToOneFilterElement
|
|
128
|
+
value={value}
|
|
129
|
+
index={index}
|
|
130
|
+
updateInputs={updateInputs}
|
|
131
|
+
fieldMetadata={fieldMetadata}
|
|
132
|
+
></SolidManyToOneFilterElement>
|
|
133
|
+
}
|
|
134
|
+
{inputType === InputTypes.SelectionDynamic &&
|
|
135
|
+
<SolidSelectionDynamicFilterElement
|
|
136
|
+
value={value}
|
|
137
|
+
index={index}
|
|
138
|
+
updateInputs={updateInputs}
|
|
139
|
+
fieldMetadata={fieldMetadata}
|
|
140
|
+
></SolidSelectionDynamicFilterElement>
|
|
141
|
+
}
|
|
142
|
+
{inputType === InputTypes.SelectionStatic &&
|
|
143
|
+
|
|
144
|
+
<SolidSelectionStaticFilterElement
|
|
145
|
+
value={value}
|
|
146
|
+
index={index}
|
|
147
|
+
updateInputs={updateInputs}
|
|
148
|
+
fieldMetadata={fieldMetadata}
|
|
149
|
+
></SolidSelectionStaticFilterElement>
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
{numberOfInputs === null &&
|
|
153
|
+
<>
|
|
154
|
+
{/* Plus Button to add a new row */}
|
|
155
|
+
< Button
|
|
156
|
+
icon="pi pi-plus"
|
|
157
|
+
size="small"
|
|
158
|
+
className="small-button"
|
|
159
|
+
onClick={addInput}
|
|
160
|
+
type="button"
|
|
161
|
+
/>
|
|
162
|
+
|
|
163
|
+
{/* Trash Button to delete the row */}
|
|
164
|
+
<Button
|
|
165
|
+
icon="pi pi-trash"
|
|
166
|
+
size="small"
|
|
167
|
+
className="small-button"
|
|
168
|
+
onClick={() => deleteInput(index)}
|
|
169
|
+
outlined
|
|
170
|
+
severity="danger"
|
|
171
|
+
type="button"
|
|
172
|
+
/>
|
|
173
|
+
</>
|
|
174
|
+
}
|
|
175
|
+
</div>
|
|
176
|
+
|
|
177
|
+
))}
|
|
178
|
+
|
|
179
|
+
</div>
|
|
180
|
+
|
|
181
|
+
</div>
|
|
182
|
+
</div>
|
|
183
|
+
)
|
|
184
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidMediaMultipleColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaMultipleColumn.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"SolidMediaMultipleColumn.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaMultipleColumn.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AAqF9E,QAAA,MAAM,wBAAwB,uFAAwF,yBAAyB,4CAmC9I,CAAC;AAEF,eAAe,wBAAwB,CAAC;AAGxC,eAAO,MAAM,8BAA8B,iEAAkE,8BAA8B,mDAmI1I,CAAC"}
|
|
@@ -11,57 +11,35 @@ var __assign = (this && this.__assign) || function () {
|
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
import { useState } from 'react';
|
|
14
|
-
import {
|
|
14
|
+
import { Volume2 } from "lucide-react";
|
|
15
15
|
import { Column } from "../SolidDataTable";
|
|
16
16
|
import { getExtensionComponent } from '../../../../helpers/registry';
|
|
17
17
|
import { FileReaderExt } from '../../../../components/common/FileReaderExt';
|
|
18
|
-
import {
|
|
18
|
+
import { SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogHeader, SolidDialogTitle, SolidIcon } from "../../../shad-cn-ui";
|
|
19
19
|
import { SolidFileTypeIcon } from '../../../../helpers/fileTypeIcon';
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var isDocumentType = function (url) {
|
|
25
|
-
var _a;
|
|
26
|
-
var ext = (_a = getCleanUrl(url).split(".").pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
|
|
27
|
-
return ext ? downloadOnlyExt.includes(ext) : false;
|
|
28
|
-
};
|
|
29
|
-
var downloadOnlyExt = [
|
|
30
|
-
"txt", "zip", "rar",
|
|
31
|
-
"doc", "docx",
|
|
32
|
-
"xls", "xlsx",
|
|
33
|
-
"ppt", "pptx",
|
|
34
|
-
"pdf", "csv"
|
|
35
|
-
];
|
|
36
|
-
var downloadFile = function (url, name) {
|
|
37
|
-
if (name === void 0) { name = ""; }
|
|
38
|
-
var link = document.createElement("a");
|
|
39
|
-
link.href = url;
|
|
40
|
-
link.download = name;
|
|
41
|
-
link.target = "_blank";
|
|
42
|
-
document.body.appendChild(link);
|
|
43
|
-
link.click();
|
|
44
|
-
document.body.removeChild(link);
|
|
45
|
-
};
|
|
20
|
+
import { getMediaPreviewKind, isLightboxMediaKind } from '../../../../helpers/mediaType';
|
|
21
|
+
import { openMediaInNewTab } from '../../../../helpers/mediaUrl';
|
|
22
|
+
import { downloadMediaFile } from '../../../../helpers/downloadMediaFile';
|
|
23
|
+
import styles from "../../form/fields/solidFields.module.css";
|
|
46
24
|
// Thumbnail preview component
|
|
47
25
|
var MediaPreview = function (_a) {
|
|
48
|
-
var src = _a.src, onClick = _a.onClick;
|
|
26
|
+
var src = _a.src, fileName = _a.fileName, previewKind = _a.previewKind, onClick = _a.onClick;
|
|
49
27
|
var _b = useState(false), isBroken = _b[0], setIsBroken = _b[1];
|
|
50
28
|
var handleClick = function (event) {
|
|
51
29
|
onClick(event);
|
|
52
30
|
};
|
|
53
31
|
if (!isBroken) {
|
|
54
|
-
if (
|
|
32
|
+
if (previewKind === "image") {
|
|
55
33
|
return (_jsx("img", { src: src, alt: "media", className: "rounded shadow-md", width: 40, height: 40, style: { objectFit: "cover" }, onError: function () { return setIsBroken(true); }, onClick: handleClick }));
|
|
56
34
|
}
|
|
57
|
-
if (
|
|
35
|
+
if (previewKind === "video") {
|
|
58
36
|
return (_jsx("video", { src: src, width: 40, height: 40, className: "rounded shadow-md", style: { objectFit: "cover" }, onError: function () { return setIsBroken(true); }, onClick: handleClick, muted: true }));
|
|
59
37
|
}
|
|
60
|
-
if (
|
|
38
|
+
if (previewKind === "audio") {
|
|
61
39
|
return (_jsx("div", { className: "flex items-center justify-center rounded bg-gray-100 shadow-md", style: { width: 40, height: 40 }, onClick: handleClick, children: _jsx(Volume2, { size: 18, className: "text-gray-600" }) }));
|
|
62
40
|
}
|
|
63
41
|
}
|
|
64
|
-
return (_jsx("div", { style: { width: 40, height: 40, display: "flex", alignItems: "center", justifyContent: "center" }, onClick: handleClick, children: _jsx(SolidFileTypeIcon, { fileUrl: src, size: 24 }) }));
|
|
42
|
+
return (_jsx("div", { style: { width: 40, height: 40, display: "flex", alignItems: "center", justifyContent: "center" }, onClick: handleClick, children: _jsx(SolidFileTypeIcon, { fileUrl: src, fileName: fileName, size: 24 }) }));
|
|
65
43
|
};
|
|
66
44
|
var SolidMediaMultipleColumn = function (_a) {
|
|
67
45
|
var _b;
|
|
@@ -87,9 +65,9 @@ var SolidMediaMultipleColumn = function (_a) {
|
|
|
87
65
|
export default SolidMediaMultipleColumn;
|
|
88
66
|
// Default multiple widget
|
|
89
67
|
export var DefaultMediaMultipleListWidget = function (_a) {
|
|
90
|
-
var _b, _c, _d;
|
|
68
|
+
var _b, _c, _d, _e, _f;
|
|
91
69
|
var rowData = _a.rowData, fieldMetadata = _a.fieldMetadata, setLightboxUrls = _a.setLightboxUrls, setOpenLightbox = _a.setOpenLightbox;
|
|
92
|
-
var
|
|
70
|
+
var _g = useState(false), isShowAllFiles = _g[0], setShowAllFiles = _g[1];
|
|
93
71
|
if (!((_b = rowData === null || rowData === void 0 ? void 0 : rowData._media) === null || _b === void 0 ? void 0 : _b[fieldMetadata.name]))
|
|
94
72
|
return null;
|
|
95
73
|
var fullrecord = (_c = rowData._media[fieldMetadata.name]) === null || _c === void 0 ? void 0 : _c.map(function (file) { return ({
|
|
@@ -97,67 +75,50 @@ export var DefaultMediaMultipleListWidget = function (_a) {
|
|
|
97
75
|
type: file.mimeType,
|
|
98
76
|
size: file.fileSize,
|
|
99
77
|
id: file.id,
|
|
100
|
-
fileUrl: file._full_url
|
|
78
|
+
fileUrl: file === null || file === void 0 ? void 0 : file._full_url,
|
|
79
|
+
previewKind: getMediaPreviewKind({
|
|
80
|
+
url: file === null || file === void 0 ? void 0 : file._full_url,
|
|
81
|
+
fileName: file === null || file === void 0 ? void 0 : file.originalFileName,
|
|
82
|
+
mimeType: file === null || file === void 0 ? void 0 : file.mimeType,
|
|
83
|
+
})
|
|
101
84
|
}); });
|
|
102
85
|
var formatFileSize = function (size) {
|
|
103
86
|
return size >= 1024 * 1024 ? "".concat((size / (1024 * 1024)).toFixed(1), " MB") : "".concat((size / 1024).toFixed(1), " KB");
|
|
104
87
|
};
|
|
105
88
|
var handleFileView = function (file) {
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
else {
|
|
113
|
-
setLightboxUrls === null || setLightboxUrls === void 0 ? void 0 : setLightboxUrls([{ src: file.fileUrl, downloadUrl: file.fileUrl }]);
|
|
89
|
+
if (isLightboxMediaKind(file === null || file === void 0 ? void 0 : file.previewKind)) {
|
|
90
|
+
setLightboxUrls === null || setLightboxUrls === void 0 ? void 0 : setLightboxUrls([{
|
|
91
|
+
src: file.fileUrl,
|
|
92
|
+
downloadUrl: file.fileUrl,
|
|
93
|
+
type: file.previewKind === "video" ? "video" : undefined
|
|
94
|
+
}]);
|
|
114
95
|
setOpenLightbox === null || setOpenLightbox === void 0 ? void 0 : setOpenLightbox(true);
|
|
96
|
+
return;
|
|
115
97
|
}
|
|
98
|
+
openMediaInNewTab(file === null || file === void 0 ? void 0 : file.fileUrl);
|
|
99
|
+
};
|
|
100
|
+
var renderMediaFileCard = function (file, className) {
|
|
101
|
+
if (className === void 0) { className = ""; }
|
|
102
|
+
return (_jsx("div", { className: "".concat(styles.mediaAttachmentCard, " ").concat(className).trim(), children: _jsxs("div", { className: "".concat(styles.mediaAttachmentRow, " flex items-center md:gap-2"), children: [_jsx(FileReaderExt, { fileDetails: file }), _jsxs("div", { className: "".concat(styles.mediaAttachmentMeta, " w-full"), children: [_jsxs("div", { className: "flex items-start justify-between gap-4", children: [_jsx("button", { type: "button", className: styles.mediaAttachmentName, onClick: function () { return handleFileView(file); }, title: file.name, children: file.name }), _jsx("div", { className: "".concat(styles.mediaAttachmentActions, " flex items-center md:gap-2"), children: _jsx("button", { type: "button", className: "solid-file-icon-btn", "aria-label": "Download file", onClick: function (event) {
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
event.stopPropagation();
|
|
105
|
+
downloadMediaFile(file === null || file === void 0 ? void 0 : file.fileUrl, file === null || file === void 0 ? void 0 : file.name);
|
|
106
|
+
}, children: _jsx(SolidIcon, { name: "si-download", "aria-hidden": true }) }) })] }), _jsx("div", { className: styles.mediaAttachmentSize, children: formatFileSize(file.size) })] })] }) }));
|
|
116
107
|
};
|
|
117
|
-
return fullrecord.length > 0 ? (_jsxs("div", { className: 'flex items-end gap-2', children: [_jsx(MediaPreview, { src: (_d = fullrecord[0]) === null || _d === void 0 ? void 0 : _d.fileUrl, onClick: function (event) {
|
|
118
|
-
var _a, _b, _c;
|
|
108
|
+
return fullrecord.length > 0 ? (_jsxs("div", { className: 'flex items-end gap-2', children: [_jsx(MediaPreview, { src: (_d = fullrecord[0]) === null || _d === void 0 ? void 0 : _d.fileUrl, fileName: (_e = fullrecord[0]) === null || _e === void 0 ? void 0 : _e.name, previewKind: (_f = fullrecord[0]) === null || _f === void 0 ? void 0 : _f.previewKind, onClick: function (event) {
|
|
119
109
|
event.stopPropagation();
|
|
120
|
-
|
|
121
|
-
// const ext = cleanUrl.split(".").pop()?.toLowerCase();
|
|
122
|
-
if (isDocumentType((_a = fullrecord[0]) === null || _a === void 0 ? void 0 : _a.fileUrl) && (fullrecord === null || fullrecord === void 0 ? void 0 : fullrecord.length) > 1) {
|
|
123
|
-
setShowAllFiles(true);
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
else if (isDocumentType((_b = fullrecord[0]) === null || _b === void 0 ? void 0 : _b.fileUrl)) {
|
|
127
|
-
downloadFile((_c = fullrecord[0]) === null || _c === void 0 ? void 0 : _c.fileUrl, "");
|
|
128
|
-
return;
|
|
129
|
-
}
|
|
130
|
-
// FIRST FILE IS MEDIA ⇒ OPEN LIGHTBOX
|
|
131
|
-
var urlsWithType = fullrecord.map(function (file) { return ({
|
|
132
|
-
src: file.fileUrl,
|
|
133
|
-
downloadUrl: file.fileUrl,
|
|
134
|
-
}); });
|
|
135
|
-
setLightboxUrls(urlsWithType);
|
|
136
|
-
setOpenLightbox(true);
|
|
110
|
+
handleFileView(fullrecord[0]);
|
|
137
111
|
} }), (fullrecord === null || fullrecord === void 0 ? void 0 : fullrecord.length) > 1 && _jsxs("span", { style: {
|
|
138
112
|
color: "#0895CD",
|
|
139
113
|
fontWeight: "bold",
|
|
140
114
|
cursor: "pointer",
|
|
141
115
|
marginLeft: "4px"
|
|
142
116
|
}, onClick: function (event) {
|
|
143
|
-
var _a;
|
|
144
117
|
event.stopPropagation();
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
src: file.fileUrl,
|
|
151
|
-
downloadUrl: file.fileUrl
|
|
152
|
-
}); });
|
|
153
|
-
setLightboxUrls(urlsWithType);
|
|
154
|
-
setOpenLightbox(true);
|
|
155
|
-
}
|
|
156
|
-
}, children: ["+", fullrecord.length - 1] }), _jsx(SolidDialog, { open: isShowAllFiles, onOpenChange: setShowAllFiles, header: "Items Uploaded", style: { width: '32rem', maxWidth: '94vw' }, children: fullrecord === null || fullrecord === void 0 ? void 0 : fullrecord.map(function (file) {
|
|
157
|
-
var fileId = "".concat(file.name, "-").concat(file.size);
|
|
158
|
-
return (_jsx("div", { className: "solid-file-upload-wrapper mb-3", children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(FileReaderExt, { fileDetails: file }), _jsxs("div", { className: "flex w-full flex-col gap-1", children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("p", { className: "m-0 w-11 font-normal text-[var(--primary-color)] solid-media-column-text-wrapper", style: { cursor: "pointer" }, onClick: function () { return handleFileView(file); }, children: file === null || file === void 0 ? void 0 : file.name }), _jsx(SolidButton, { type: "button", size: "small", variant: "ghost", leftIcon: _jsx(Download, { size: 14 }), onClick: function () {
|
|
159
|
-
downloadFile(file === null || file === void 0 ? void 0 : file.fileUrl, "");
|
|
160
|
-
}, style: { height: 16, width: 16 } })] }), _jsx("div", { className: "text-sm", children: formatFileSize(file.size) })] })] }) }, fileId));
|
|
161
|
-
}) })] })) : (_jsx("div", { style: { height: 40, width: 40 } }));
|
|
118
|
+
setShowAllFiles(true);
|
|
119
|
+
}, children: ["+", fullrecord.length - 1] }), _jsxs(SolidDialog, { open: isShowAllFiles, onOpenChange: setShowAllFiles, style: { minWidth: 450 }, children: [_jsxs(SolidDialogHeader, { children: [_jsx(SolidDialogTitle, { children: "Items Uploaded" }), _jsx(SolidDialogClose, {})] }), _jsx(SolidDialogBody, { children: fullrecord === null || fullrecord === void 0 ? void 0 : fullrecord.map(function (file, index) {
|
|
120
|
+
var fileId = "".concat(file.name, "-").concat(file.size);
|
|
121
|
+
return (_jsx("div", { className: index === fullrecord.length - 1 ? "" : "mb-3", children: renderMediaFileCard(file) }, fileId));
|
|
122
|
+
}) })] })] })) : (_jsx("div", { style: { height: 40, width: 40 } }));
|
|
162
123
|
};
|
|
163
124
|
//# sourceMappingURL=SolidMediaMultipleColumn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidMediaMultipleColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaMultipleColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport React, { useState } from 'react';\nimport { Download, Volume2 } from \"lucide-react\";\nimport { Column } from \"../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../SolidListViewColumn';\nimport { SolidMediaListFieldWidgetProps } from '../../../../types/solid-core';\nimport { getExtensionComponent } from '../../../../helpers/registry';\nimport { FileReaderExt } from '../../../../components/common/FileReaderExt';\nimport { SolidButton, SolidDialog } from \"../../../shad-cn-ui\";\nimport { SolidFileTypeIcon } from '../../../../helpers/fileTypeIcon';\n\nconst getCleanUrl = (url: string) => url.split(\"?\")[0];\n\nconst isImageFile = (url: string) => /\\.(jpg|jpeg|png|gif|bmp|webp)$/i.test(getCleanUrl(url));\n\nconst isVideoFile = (url: string) => /\\.(mp4|webm|ogg)$/i.test(getCleanUrl(url));\n\nconst isAudioFile = (url: string) => /\\.(mp3|wav|ogg)$/i.test(getCleanUrl(url));\n\nconst isDocumentType = (url: string) => {\n const ext = getCleanUrl(url).split(\".\").pop()?.toLowerCase();\n return ext ? downloadOnlyExt.includes(ext) : false;\n};\n\nconst downloadOnlyExt = [\n \"txt\", \"zip\", \"rar\",\n \"doc\", \"docx\",\n \"xls\", \"xlsx\",\n \"ppt\", \"pptx\",\n \"pdf\", \"csv\"\n];\n\nconst downloadFile = (url: string, name: string = \"\") => {\n const link = document.createElement(\"a\");\n link.href = url;\n link.download = name;\n link.target = \"_blank\";\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n};\n\n\n\n// Thumbnail preview component\nconst MediaPreview = ({ src, onClick }: { src: string; onClick: (event: React.MouseEvent) => void }) => {\n const [isBroken, setIsBroken] = useState(false);\n\n const handleClick = (event: React.MouseEvent) => {\n onClick(event);\n };\n\n if (!isBroken) {\n if (isImageFile(src)) {\n return (\n <img\n src={src}\n alt=\"media\"\n className=\"rounded shadow-md\"\n width={40}\n height={40}\n style={{ objectFit: \"cover\" }}\n onError={() => setIsBroken(true)}\n onClick={handleClick}\n />\n );\n }\n\n if (isVideoFile(src)) {\n return (\n <video\n src={src}\n width={40}\n height={40}\n className=\"rounded shadow-md\"\n style={{ objectFit: \"cover\" }}\n onError={() => setIsBroken(true)}\n onClick={handleClick}\n muted\n />\n );\n }\n\n if (isAudioFile(src)) {\n return (\n <div\n className=\"flex items-center justify-center rounded bg-gray-100 shadow-md\"\n style={{ width: 40, height: 40 }}\n onClick={handleClick}\n >\n <Volume2 size={18} className=\"text-gray-600\" />\n </div>\n );\n }\n }\n\n return (\n <div\n style={{ width: 40, height: 40, display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}\n onClick={handleClick}\n >\n <SolidFileTypeIcon fileUrl={src} size={24} />\n </div>\n );\n};\n\n\nconst SolidMediaMultipleColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox }: SolidListViewColumnParams) => {\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n body={(rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultMediaMultipleListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidMediaListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column,\n setLightboxUrls,\n setOpenLightbox\n }\n return (\n <>\n {\n DynamicWidget && <DynamicWidget {...widgetProps} />\n }\n </>\n )\n }}\n sortable={column.attrs.sortable}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n />\n );\n};\n\nexport default SolidMediaMultipleColumn;\n\n// Default multiple widget\nexport const DefaultMediaMultipleListWidget = ({ rowData, fieldMetadata, setLightboxUrls, setOpenLightbox }: SolidMediaListFieldWidgetProps) => {\n const [isShowAllFiles, setShowAllFiles] = useState(false);\n\n if (!rowData?._media?.[fieldMetadata.name]) return null;\n\n const fullrecord = rowData._media[fieldMetadata.name]?.map((file: any) => ({\n name: file.originalFileName,\n type: file.mimeType,\n size: file.fileSize,\n id: file.id,\n fileUrl: file._full_url\n }));\n\n\n const formatFileSize = (size: number) =>\n size >= 1024 * 1024 ? `${(size / (1024 * 1024)).toFixed(1)} MB` : `${(size / 1024).toFixed(1)} KB`;\n\n\n const handleFileView = (file: any) => {\n const fileUrl = file?.fileUrl || \"\";\n // const cleanUrl = fileUrl.split(\"?\")[0];\n // const ext = cleanUrl.split(\".\").pop()?.toLowerCase();\n\n if (isDocumentType(fileUrl)) {\n downloadFile(file?.fileUrl, \"\")\n\n } else {\n setLightboxUrls?.([{ src: file.fileUrl, downloadUrl: file.fileUrl }]);\n setOpenLightbox?.(true);\n }\n };\n\n\n\n return fullrecord.length > 0 ? (\n <div className='flex items-end gap-2'>\n\n {/* THUMBNAIL - FIXED BEHAVIOR */}\n <MediaPreview\n src={fullrecord[0]?.fileUrl}\n onClick={(event) => {\n event.stopPropagation();\n\n // const cleanUrl = fullrecord[0]?.fileUrl.split(\"?\")[0];\n // const ext = cleanUrl.split(\".\").pop()?.toLowerCase();\n\n if (isDocumentType(fullrecord[0]?.fileUrl) && fullrecord?.length > 1) {\n setShowAllFiles(true)\n return;\n }\n\n else if (isDocumentType(fullrecord[0]?.fileUrl)) {\n downloadFile(fullrecord[0]?.fileUrl, \"\")\n return;\n }\n // FIRST FILE IS MEDIA ⇒ OPEN LIGHTBOX\n const urlsWithType = fullrecord.map((file: any) => ({\n src: file.fileUrl,\n downloadUrl: file.fileUrl,\n }));\n setLightboxUrls(urlsWithType);\n setOpenLightbox(true);\n }}\n />\n\n {fullrecord?.length > 1 && <span\n style={{\n color: \"#0895CD\",\n fontWeight: \"bold\",\n cursor: \"pointer\",\n marginLeft: \"4px\"\n }}\n onClick={(event) => {\n event.stopPropagation();\n\n if (isDocumentType(fullrecord[0]?.fileUrl)) {\n setShowAllFiles(true);\n } else {\n const urlsWithType = fullrecord.map((file: any) => ({\n src: file.fileUrl,\n downloadUrl: file.fileUrl\n }));\n setLightboxUrls(urlsWithType);\n setOpenLightbox(true);\n }\n }}\n >\n +{fullrecord.length - 1}\n </span>\n }\n\n\n\n {/* VIEW ALL DIALOG */}\n <SolidDialog\n open={isShowAllFiles}\n onOpenChange={setShowAllFiles}\n header=\"Items Uploaded\"\n style={{ width: '32rem', maxWidth: '94vw' }}\n >\n {fullrecord?.map((file: any) => {\n const fileId = `${file.name}-${file.size}`;\n return (\n <div key={fileId} className=\"solid-file-upload-wrapper mb-3\">\n <div className=\"flex items-center gap-2\">\n\n <FileReaderExt fileDetails={file} />\n\n <div className=\"flex w-full flex-col gap-1\">\n <div className=\"flex items-center justify-between\">\n\n <p\n className=\"m-0 w-11 font-normal text-[var(--primary-color)] solid-media-column-text-wrapper\"\n style={{ cursor: \"pointer\" }}\n onClick={() => handleFileView(file)}\n >\n {file?.name}\n </p>\n\n <SolidButton\n type=\"button\"\n size=\"small\"\n variant=\"ghost\"\n leftIcon={<Download size={14} />}\n onClick={() => {\n downloadFile(file?.fileUrl, \"\")\n }}\n style={{ height: 16, width: 16 }}\n />\n </div>\n\n <div className=\"text-sm\">{formatFileSize(file.size)}</div>\n </div>\n\n </div>\n </div>\n )\n }\n )}\n </SolidDialog>\n </div>\n ) : (\n <div style={{ height: 40, width: 40 }} />\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"SolidMediaMultipleColumn.js","sourceRoot":"","sources":["../../../../../src/components/core/list/columns/SolidMediaMultipleColumn.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport React, { useState } from 'react';\nimport { Volume2 } from \"lucide-react\";\nimport { Column } from \"../SolidDataTable\";\nimport { SolidListViewColumnParams } from '../SolidListViewColumn';\nimport { SolidMediaListFieldWidgetProps } from '../../../../types/solid-core';\nimport { getExtensionComponent } from '../../../../helpers/registry';\nimport { FileReaderExt } from '../../../../components/common/FileReaderExt';\nimport { SolidDialog, SolidDialogBody, SolidDialogClose, SolidDialogHeader, SolidDialogTitle, SolidIcon } from \"../../../shad-cn-ui\";\nimport { SolidFileTypeIcon } from '../../../../helpers/fileTypeIcon';\nimport { getMediaPreviewKind, isLightboxMediaKind, type MediaPreviewKind } from '../../../../helpers/mediaType';\nimport { openMediaInNewTab } from '../../../../helpers/mediaUrl';\nimport { downloadMediaFile } from '../../../../helpers/downloadMediaFile';\nimport styles from \"../../form/fields/solidFields.module.css\";\n\n\n\n// Thumbnail preview component\nconst MediaPreview = ({\n src,\n fileName,\n previewKind,\n onClick\n}: {\n src: string;\n fileName?: string;\n previewKind: MediaPreviewKind;\n onClick: (event: React.MouseEvent) => void\n}) => {\n const [isBroken, setIsBroken] = useState(false);\n\n const handleClick = (event: React.MouseEvent) => {\n onClick(event);\n };\n\n if (!isBroken) {\n if (previewKind === \"image\") {\n return (\n <img\n src={src}\n alt=\"media\"\n className=\"rounded shadow-md\"\n width={40}\n height={40}\n style={{ objectFit: \"cover\" }}\n onError={() => setIsBroken(true)}\n onClick={handleClick}\n />\n );\n }\n\n if (previewKind === \"video\") {\n return (\n <video\n src={src}\n width={40}\n height={40}\n className=\"rounded shadow-md\"\n style={{ objectFit: \"cover\" }}\n onError={() => setIsBroken(true)}\n onClick={handleClick}\n muted\n />\n );\n }\n\n if (previewKind === \"audio\") {\n return (\n <div\n className=\"flex items-center justify-center rounded bg-gray-100 shadow-md\"\n style={{ width: 40, height: 40 }}\n onClick={handleClick}\n >\n <Volume2 size={18} className=\"text-gray-600\" />\n </div>\n );\n }\n }\n\n return (\n <div\n style={{ width: 40, height: 40, display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}\n onClick={handleClick}\n >\n <SolidFileTypeIcon fileUrl={src} fileName={fileName} size={24} />\n </div>\n );\n};\n\n\nconst SolidMediaMultipleColumn = ({ solidListViewMetaData, fieldMetadata, column, setLightboxUrls, setOpenLightbox }: SolidListViewColumnParams) => {\n const header = column.attrs.label ?? fieldMetadata.displayName;\n\n return (\n <Column\n key={fieldMetadata.name}\n field={fieldMetadata.name}\n header={header}\n body={(rowData) => {\n let viewWidget = column.attrs.viewWidget;\n if (!viewWidget) {\n viewWidget = 'DefaultMediaMultipleListWidget';\n }\n let DynamicWidget = getExtensionComponent(viewWidget);\n const widgetProps: SolidMediaListFieldWidgetProps = {\n rowData,\n solidListViewMetaData,\n fieldMetadata,\n column,\n setLightboxUrls,\n setOpenLightbox\n }\n return (\n <>\n {\n DynamicWidget && <DynamicWidget {...widgetProps} />\n }\n </>\n )\n }}\n sortable={column.attrs.sortable}\n style={{ minWidth: \"12rem\" }}\n headerClassName=\"table-header-fs\"\n />\n );\n};\n\nexport default SolidMediaMultipleColumn;\n\n// Default multiple widget\nexport const DefaultMediaMultipleListWidget = ({ rowData, fieldMetadata, setLightboxUrls, setOpenLightbox }: SolidMediaListFieldWidgetProps) => {\n const [isShowAllFiles, setShowAllFiles] = useState(false);\n\n if (!rowData?._media?.[fieldMetadata.name]) return null;\n\n const fullrecord = rowData._media[fieldMetadata.name]?.map((file: any) => ({\n name: file.originalFileName,\n type: file.mimeType,\n size: file.fileSize,\n id: file.id,\n fileUrl: file?._full_url,\n previewKind: getMediaPreviewKind({\n url: file?._full_url,\n fileName: file?.originalFileName,\n mimeType: file?.mimeType,\n })\n }));\n\n\n const formatFileSize = (size: number) =>\n size >= 1024 * 1024 ? `${(size / (1024 * 1024)).toFixed(1)} MB` : `${(size / 1024).toFixed(1)} KB`;\n\n\n const handleFileView = (file: any) => {\n if (isLightboxMediaKind(file?.previewKind)) {\n setLightboxUrls?.([{\n src: file.fileUrl,\n downloadUrl: file.fileUrl,\n type: file.previewKind === \"video\" ? \"video\" : undefined\n }]);\n setOpenLightbox?.(true);\n return;\n }\n\n openMediaInNewTab(file?.fileUrl);\n };\n\n const renderMediaFileCard = (file: any, className = \"\") => (\n <div className={`${styles.mediaAttachmentCard} ${className}`.trim()}>\n <div className={`${styles.mediaAttachmentRow} flex items-center md:gap-2`}>\n <FileReaderExt fileDetails={file} />\n <div className={`${styles.mediaAttachmentMeta} w-full`}>\n <div className=\"flex items-start justify-between gap-4\">\n <button\n type=\"button\"\n className={styles.mediaAttachmentName}\n onClick={() => handleFileView(file)}\n title={file.name}\n >\n {file.name}\n </button>\n <div className={`${styles.mediaAttachmentActions} flex items-center md:gap-2`}>\n <button\n type=\"button\"\n className=\"solid-file-icon-btn\"\n aria-label=\"Download file\"\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n downloadMediaFile(file?.fileUrl, file?.name);\n }}\n >\n <SolidIcon name=\"si-download\" aria-hidden />\n </button>\n </div>\n </div>\n <div className={styles.mediaAttachmentSize}>\n {formatFileSize(file.size)}\n </div>\n </div>\n </div>\n </div>\n );\n\n\n return fullrecord.length > 0 ? (\n <div className='flex items-end gap-2'>\n\n <MediaPreview\n src={fullrecord[0]?.fileUrl}\n fileName={fullrecord[0]?.name}\n previewKind={fullrecord[0]?.previewKind}\n onClick={(event) => {\n event.stopPropagation();\n handleFileView(fullrecord[0]);\n }}\n />\n\n {fullrecord?.length > 1 && <span\n style={{\n color: \"#0895CD\",\n fontWeight: \"bold\",\n cursor: \"pointer\",\n marginLeft: \"4px\"\n }}\n onClick={(event) => {\n event.stopPropagation();\n setShowAllFiles(true);\n }}\n >\n +{fullrecord.length - 1}\n </span>\n }\n\n\n\n {/* VIEW ALL DIALOG */}\n <SolidDialog\n open={isShowAllFiles}\n onOpenChange={setShowAllFiles}\n style={{ minWidth: 450 }}\n >\n <SolidDialogHeader>\n <SolidDialogTitle>Items Uploaded</SolidDialogTitle>\n <SolidDialogClose />\n </SolidDialogHeader>\n <SolidDialogBody>\n {fullrecord?.map((file: any, index: number) => {\n const fileId = `${file.name}-${file.size}`;\n return (\n <div key={fileId} className={index === fullrecord.length - 1 ? \"\" : \"mb-3\"}>\n {renderMediaFileCard(file)}\n </div>\n )\n })}\n </SolidDialogBody>\n </SolidDialog>\n </div>\n ) : (\n <div style={{ height: 40, width: 40 }} />\n );\n};\n"]}
|