@solidstarters/solid-core-ui 1.1.37 → 1.1.40
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/common/SolidBreadcrumb.d.ts +1 -1
- package/dist/components/common/SolidBreadcrumb.d.ts.map +1 -1
- package/dist/components/common/SolidBreadcrumb.js +5 -3
- package/dist/components/common/SolidBreadcrumb.js.map +1 -1
- package/dist/components/common/SolidFormHeader.d.ts +9 -0
- package/dist/components/common/SolidFormHeader.d.ts.map +1 -0
- package/dist/components/common/SolidFormHeader.js +22 -0
- package/dist/components/common/SolidFormHeader.js.map +1 -0
- package/dist/components/common/SolidFormStepper.d.ts +8 -1
- package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
- package/dist/components/common/SolidFormStepper.js +144 -7
- package/dist/components/common/SolidFormStepper.js.map +1 -1
- package/dist/components/common/SolidModuleHome.d.ts +6 -0
- package/dist/components/common/SolidModuleHome.d.ts.map +1 -0
- package/dist/components/common/SolidModuleHome.js +12 -0
- package/dist/components/common/SolidModuleHome.js.map +1 -0
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +22 -15
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.d.ts +1 -1
- package/dist/components/core/kanban/KanbanBoard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanBoard.js +4 -3
- package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.d.ts +1 -1
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +48 -25
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.d.ts +4 -1
- package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanColumn.js +6 -5
- package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.d.ts +2 -0
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +174 -125
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts +11 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.js +144 -0
- package/dist/components/core/kanban/SolidKanbanViewFields.js.map +1 -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/SolidSelectionDynamicFilterElement.d.ts +2 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.d.ts.map +1 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js +74 -0
- package/dist/components/core/kanban/SolidSelectionDynamicFilterElement.js.map +1 -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 +21 -0
- package/dist/components/core/kanban/SolidSelectionStaticFilterElement.js.map +1 -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 +82 -0
- package/dist/components/core/kanban/SolidVarInputsFilterElement.js.map +1 -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 +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidBigintKanbanField.js.map +1 -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/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 +22 -0
- package/dist/components/core/kanban/kanban-fields/SolidComputedKanbanField.js.map +1 -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/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/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 +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidDecimalKanbanField.js.map +1 -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/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 +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidFloatKanbanField.js.map +1 -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/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 +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidIntKanbanField.js.map +1 -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 +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidLongTextKanbanField.js.map +1 -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 +32 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -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 +24 -0
- package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -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 +12 -0
- package/dist/components/core/kanban/kanban-fields/SolidRelationKanbanField.js.map +1 -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 +8 -0
- package/dist/components/core/kanban/kanban-fields/SolidRichTextKanbanField.js.map +1 -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/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/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 +16 -0
- package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -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/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/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 +8 -0
- package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +28 -27
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListViewColumn.js +1 -1
- package/dist/components/core/list/SolidListViewColumn.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.d.ts +2 -0
- package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -0
- package/dist/components/core/list/SolidListViewConfigure.js +115 -0
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -0
- package/dist/components/core/list/columns/SolidShortTextColumn.d.ts +1 -1
- package/dist/components/core/list/columns/SolidShortTextColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/SolidShortTextColumn.js +48 -4
- package/dist/components/core/list/columns/SolidShortTextColumn.js.map +1 -1
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.d.ts +2 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js +10 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.js.map +1 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldTextRenderModeWidget copy.d.ts +2 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldTextRenderModeWidget copy.d.ts.map +1 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldTextRenderModeWidget copy.js +7 -0
- package/dist/components/core/list/widgets/SolidShortTextFieldTextRenderModeWidget copy.js.map +1 -0
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +2 -2
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/FieldMetaDataForm.js +1 -6
- package/dist/components/core/model/FieldMetaDataForm.js.map +1 -1
- 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/users/CreateUser.d.ts.map +1 -1
- package/dist/components/core/users/CreateUser.js +2 -2
- package/dist/components/core/users/CreateUser.js.map +1 -1
- package/dist/helpers/registry.d.ts.map +1 -1
- package/dist/helpers/registry.js +4 -0
- package/dist/helpers/registry.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/redux/api/solidEntityApi.d.ts +1 -0
- package/dist/redux/api/solidEntityApi.d.ts.map +1 -1
- package/dist/redux/api/solidEntityApi.js +10 -0
- package/dist/redux/api/solidEntityApi.js.map +1 -1
- package/dist/resources/globals.css +135 -10
- package/dist/resources/themes/solid-dark-purple/theme.css +1 -0
- package/dist/resources/themes/solid-light-purple/theme.css +5 -4
- package/package.json +2 -1
- package/src/components/common/SolidBreadcrumb.tsx +5 -4
- package/src/components/common/SolidFormHeader.tsx +22 -0
- package/src/components/common/SolidFormStepper.tsx +208 -56
- package/src/components/common/SolidModuleHome.tsx +68 -0
- package/src/components/core/form/SolidFormView.tsx +14 -6
- package/src/components/core/kanban/KanbanBoard.tsx +9 -4
- package/src/components/core/kanban/KanbanCard.tsx +58 -31
- package/src/components/core/kanban/KanbanColumn.tsx +65 -59
- package/src/components/core/kanban/SolidKanbanView.tsx +195 -96
- package/src/components/core/kanban/SolidKanbanViewFields.tsx +163 -0
- package/src/components/core/kanban/SolidManyToOneFilterElement.tsx +59 -0
- package/src/components/core/kanban/SolidSelectionDynamicFilterElement.tsx +50 -0
- package/src/components/core/kanban/SolidSelectionStaticFilterElement.tsx +32 -0
- package/src/components/core/kanban/SolidVarInputsFilterElement.tsx +184 -0
- package/src/components/core/kanban/kanban-fields/SolidBigintKanbanField.tsx +9 -0
- package/src/components/core/kanban/kanban-fields/SolidBooleanKanbanField.tsx +13 -0
- package/src/components/core/kanban/kanban-fields/SolidComputedKanbanField.tsx +23 -0
- package/src/components/core/kanban/kanban-fields/SolidDateKanbanField.tsx +14 -0
- package/src/components/core/kanban/kanban-fields/SolidDatetimeKanbanField.tsx +13 -0
- package/src/components/core/kanban/kanban-fields/SolidDecimalKanbanField.tsx +9 -0
- package/src/components/core/kanban/kanban-fields/SolidExternalIdKanbanField.tsx +12 -0
- package/src/components/core/kanban/kanban-fields/SolidFloatKanbanField.tsx +9 -0
- package/src/components/core/kanban/kanban-fields/SolidIdKanbanField.tsx +14 -0
- package/src/components/core/kanban/kanban-fields/SolidIntKanbanField.tsx +13 -0
- package/src/components/core/kanban/kanban-fields/SolidLongTextKanbanField.tsx +9 -0
- package/src/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +68 -0
- package/src/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +60 -0
- package/src/components/core/kanban/kanban-fields/SolidRelationKanbanField.tsx +13 -0
- package/src/components/core/kanban/kanban-fields/SolidRichTextKanbanField.tsx +9 -0
- package/src/components/core/kanban/kanban-fields/SolidSelectionDynamicKanbanField.tsx +13 -0
- package/src/components/core/kanban/kanban-fields/SolidSelectionStaticKanbanField.tsx +14 -0
- package/src/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +29 -0
- package/src/components/core/kanban/kanban-fields/SolidTimeKanbanField.tsx +12 -0
- package/src/components/core/kanban/kanban-fields/SolidUuidKanbanField.tsx +13 -0
- package/src/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +16 -0
- package/src/components/core/list/SolidListView.tsx +24 -20
- package/src/components/core/list/SolidListViewColumn.tsx +1 -1
- package/src/components/core/{common/SolidConfigureLayoutElement.tsx → list/SolidListViewConfigure.tsx} +118 -70
- package/src/components/core/list/columns/SolidShortTextColumn.tsx +45 -10
- package/src/components/core/list/widgets/SolidShortTextFieldImageRenderModeWidget.tsx +19 -0
- package/src/components/core/list/widgets/SolidShortTextFieldTextRenderModeWidget copy.tsx +11 -0
- package/src/components/core/model/CreateModel.tsx +2 -1
- package/src/components/core/model/FieldMetaDataForm.tsx +6 -6
- package/src/components/core/module/CreateModule.tsx +2 -1
- package/src/components/core/users/CreateUser.tsx +4 -3
- package/src/helpers/registry.ts +4 -0
- package/src/index.ts +2 -1
- package/src/redux/api/solidEntityApi.tsx +7 -1
- package/src/resources/globals.css +135 -10
- package/src/resources/themes/solid-dark-purple/theme.css +1 -0
- package/src/resources/themes/solid-light-purple/theme.css +5 -4
- package/src/types/solid-core.d.ts +4 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import { SolidBreadcrumb } from './SolidBreadcrumb';
|
|
3
|
+
import { SolidFormStepper } from './SolidFormStepper';
|
|
4
|
+
|
|
5
|
+
interface Props {
|
|
6
|
+
solidFormViewMetaData?: any;
|
|
7
|
+
initialEntityData?: any;
|
|
8
|
+
modelName?: any;
|
|
9
|
+
id?:any
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export const SolidFormHeader = (props: Props) => {
|
|
13
|
+
const { solidFormViewMetaData } = props;
|
|
14
|
+
return (
|
|
15
|
+
<div className='flex align-items-center justify-content-between solid-dynamic-breadcrumb-stepper'>
|
|
16
|
+
<SolidBreadcrumb {...props} />
|
|
17
|
+
{solidFormViewMetaData?.data?.solidFormViewWorkflowData.length > 0 &&
|
|
18
|
+
<SolidFormStepper {...props} />
|
|
19
|
+
}
|
|
20
|
+
</div>
|
|
21
|
+
)
|
|
22
|
+
}
|
|
@@ -1,65 +1,217 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
import { Button } from 'primereact/button'
|
|
3
3
|
import { OverlayPanel } from 'primereact/overlaypanel';
|
|
4
|
-
import React, { useRef } from 'react'
|
|
4
|
+
import React, { useEffect, useRef, useState } from 'react'
|
|
5
|
+
import { createSolidEntityApi } from '@/redux/api/solidEntityApi';
|
|
6
|
+
import { useFormik } from 'formik';
|
|
7
|
+
import { Toast } from 'primereact/toast';
|
|
5
8
|
|
|
6
|
-
|
|
9
|
+
interface Props {
|
|
10
|
+
solidFormViewMetaData?: any;
|
|
11
|
+
modelName?: any,
|
|
12
|
+
initialEntityData?: any;
|
|
13
|
+
id?: any
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const SolidFormStepper = (props: Props) => {
|
|
17
|
+
const { solidFormViewMetaData, modelName, initialEntityData, id } = props;
|
|
18
|
+
const toast = useRef<Toast>(null);
|
|
7
19
|
const formStepperOverlay = useRef(null);
|
|
8
20
|
|
|
21
|
+
const solidFormViewWorkflowData = solidFormViewMetaData?.data?.solidFormViewWorkflowData;
|
|
22
|
+
const solidWorkflowField = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowField;
|
|
23
|
+
const solidWorkflowFieldEnabled = solidFormViewMetaData?.data?.solidView?.layout?.attrs?.workflowFieldUpdateEnabled;
|
|
24
|
+
const defaultWorkflowFieldValue = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.defaultValue
|
|
25
|
+
const defaultWorkflowFieldDisplayName = solidFormViewMetaData?.data?.solidFieldsMetadata?.[solidWorkflowField]?.displayName
|
|
26
|
+
const activeStep = solidFormViewMetaData?.data?.solidFormViewWorkflowData[0].value
|
|
27
|
+
const [solidWorkflowFieldKey, setSolidWorkflowFieldKey] = useState<string>("");
|
|
28
|
+
const [solidWorkflowFieldValue, setSolidWorkflowFieldValue] = useState<string>("");
|
|
29
|
+
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
if (!solidWorkflowField) return;
|
|
32
|
+
|
|
33
|
+
setSolidWorkflowFieldKey(solidWorkflowField);
|
|
34
|
+
|
|
35
|
+
setSolidWorkflowFieldValue(() => {
|
|
36
|
+
if (initialEntityData?.[solidWorkflowField] !== undefined) {
|
|
37
|
+
console.log("checkloginitial", initialEntityData[solidWorkflowField]);
|
|
38
|
+
return initialEntityData[solidWorkflowField];
|
|
39
|
+
} else if (defaultWorkflowFieldValue !== undefined) {
|
|
40
|
+
console.log("checklogdefault", defaultWorkflowFieldValue);
|
|
41
|
+
return defaultWorkflowFieldValue;
|
|
42
|
+
} else {
|
|
43
|
+
return activeStep;
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
}, [solidWorkflowField, initialEntityData, defaultWorkflowFieldValue, activeStep]);
|
|
47
|
+
|
|
48
|
+
const formik = useFormik({
|
|
49
|
+
enableReinitialize: true,
|
|
50
|
+
initialValues: {
|
|
51
|
+
id: +id,
|
|
52
|
+
[solidWorkflowFieldKey]: solidWorkflowFieldValue || "",
|
|
53
|
+
},
|
|
54
|
+
onSubmit: (values) => {
|
|
55
|
+
handleStepChange(values);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
const entityApi = createSolidEntityApi(modelName);
|
|
60
|
+
const {
|
|
61
|
+
usePatchUpdateSolidEntityMutation,
|
|
62
|
+
} = entityApi;
|
|
63
|
+
|
|
64
|
+
const [
|
|
65
|
+
updateStepper,
|
|
66
|
+
{ isSuccess: isStepperUpdateSuccessfull, isError: isStepperUpdateError, error: stepperUpdateError },
|
|
67
|
+
] = usePatchUpdateSolidEntityMutation();
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
const showToast = (severity: "success" | "error", summary: string, detail: string) => {
|
|
71
|
+
toast.current?.show({
|
|
72
|
+
severity,
|
|
73
|
+
summary,
|
|
74
|
+
detail,
|
|
75
|
+
life: 3000,
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
const handleStepChange = async (values: any) => {
|
|
80
|
+
try {
|
|
81
|
+
const result = await updateStepper({ id: values.id, data: { [solidWorkflowFieldKey]: values[solidWorkflowFieldKey] } }).unwrap();
|
|
82
|
+
if (result?.statusCode === 200) {
|
|
83
|
+
showToast("success", `${defaultWorkflowFieldDisplayName} Update`, `${defaultWorkflowFieldDisplayName} updated successfully!`);
|
|
84
|
+
if (result?.data?.[solidWorkflowFieldKey]) {
|
|
85
|
+
setSolidWorkflowFieldValue(result.data[solidWorkflowFieldKey]);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
} catch (error) {
|
|
89
|
+
console.error('Error updating stepper:', error);
|
|
90
|
+
showToast("error", "Update Failed", "Failed to update the form.");
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
const handleButtonClick = (stepValue: any) => {
|
|
95
|
+
formik.setFieldValue(solidWorkflowFieldKey, stepValue);
|
|
96
|
+
formik.handleSubmit();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const activeIndex = solidFormViewWorkflowData.findIndex((step: any) => step.value === solidWorkflowFieldValue);
|
|
100
|
+
const visibleSteps = solidFormViewWorkflowData.length > 5 ? solidFormViewWorkflowData.slice(0, 5) : solidFormViewWorkflowData;
|
|
101
|
+
console.log("activeIndex:", activeIndex, "solidWorkflowFieldValue:", solidWorkflowFieldValue);
|
|
102
|
+
|
|
9
103
|
return (
|
|
10
|
-
|
|
11
|
-
<
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
104
|
+
<>
|
|
105
|
+
<Toast ref={toast} />
|
|
106
|
+
<div className='flex solid-dynamic-stepper' style={solidWorkflowFieldEnabled === false ? { pointerEvents: 'none' } : {}}>
|
|
107
|
+
{visibleSteps.map((step: any, index: number) => {
|
|
108
|
+
const isActive = index === activeIndex;
|
|
109
|
+
const isBeforeActive = index < activeIndex;
|
|
110
|
+
const isAfterActive = index > activeIndex;
|
|
111
|
+
const isFirstVisible = index === 0;
|
|
112
|
+
const isLastVisible = index === visibleSteps.length - 1;
|
|
113
|
+
const isNextAfterActive = index === activeIndex + 1;
|
|
114
|
+
const isTwoStepsOnly = visibleSteps.length === 2;
|
|
115
|
+
console.log("isActive", isActive);
|
|
116
|
+
|
|
117
|
+
return (
|
|
118
|
+
<Button
|
|
119
|
+
key={index}
|
|
120
|
+
type="button"
|
|
121
|
+
className={`solid-step-button relative ${isTwoStepsOnly ? 'two-step-button' : ''} ${isActive ? 'p-button-primary' : ''} ${isBeforeActive ? 'p-button-secondary' : ''}`}
|
|
122
|
+
text={!isActive && !isBeforeActive}
|
|
123
|
+
onClick={() => handleButtonClick(step.value)}
|
|
124
|
+
>
|
|
125
|
+
{step.label}
|
|
126
|
+
<>
|
|
127
|
+
{isNextAfterActive && solidFormViewWorkflowData.map((step: any) => step.value).includes(solidWorkflowFieldValue) &&
|
|
128
|
+
(
|
|
129
|
+
<div className="absolute active-step-arrow">
|
|
130
|
+
<svg viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg" fill="#000000" transform="rotate(30)"
|
|
131
|
+
height="48px"
|
|
132
|
+
width="48px"
|
|
133
|
+
>
|
|
134
|
+
<g id="SVGRepo_iconCarrier">
|
|
135
|
+
<g id="color">
|
|
136
|
+
<polygon fill={"var(--primary-color)"} points="36,62 65,12 7,12" />
|
|
137
|
+
</g>
|
|
138
|
+
<g id="line">
|
|
139
|
+
<polyline fill="none" stroke="" stroke-miterlimit="10" stroke-width="1.5" points="36,62 65,12 7,12" />
|
|
140
|
+
</g>
|
|
141
|
+
</g>
|
|
142
|
+
</svg>
|
|
143
|
+
</div>
|
|
144
|
+
)}
|
|
145
|
+
|
|
146
|
+
{(isActive || isBeforeActive) && !isFirstVisible && (!isTwoStepsOnly || index === 1) && (
|
|
147
|
+
<div className="absolute active-before-step-arrow">
|
|
148
|
+
<svg viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg" fill="#000000" transform="rotate(30)"
|
|
149
|
+
height="48px"
|
|
150
|
+
width="48px"
|
|
151
|
+
>
|
|
152
|
+
<g id="SVGRepo_iconCarrier">
|
|
153
|
+
<g id="color">
|
|
154
|
+
<polygon fill="#EAEDF1" points="36,62 65,12 7,12" />
|
|
155
|
+
</g>
|
|
156
|
+
<g id="line">
|
|
157
|
+
<polyline fill="none" stroke="var(--solid-stepper-border)" stroke-miterlimit="10" stroke-width="1.5" points="36,62 65,12 7,12" />
|
|
158
|
+
</g>
|
|
159
|
+
</g>
|
|
160
|
+
</svg>
|
|
161
|
+
</div>
|
|
162
|
+
)}
|
|
163
|
+
|
|
164
|
+
{isAfterActive && !isLastVisible && (
|
|
165
|
+
<div className="absolute inactive-step-arrow">
|
|
166
|
+
<svg viewBox="0 0 72 72" xmlns="http://www.w3.org/2000/svg" fill="#000000" transform="rotate(30)"
|
|
167
|
+
height="48px"
|
|
168
|
+
width="48px"
|
|
169
|
+
>
|
|
170
|
+
<g id="SVGRepo_iconCarrier">
|
|
171
|
+
<g id="color">
|
|
172
|
+
<polygon fill="#fff" points="36,62 65,12 7,12" />
|
|
173
|
+
</g>
|
|
174
|
+
<g id="line">
|
|
175
|
+
<polyline fill="none" stroke="var(--solid-stepper-border)" stroke-miterlimit="10" stroke-width="1.5" points="36,62 65,12 7,12" />
|
|
176
|
+
</g>
|
|
177
|
+
</g>
|
|
178
|
+
</svg>
|
|
179
|
+
</div>
|
|
180
|
+
)}
|
|
181
|
+
</>
|
|
182
|
+
{solidFormViewWorkflowData.length > 5 && index === 4 && (
|
|
183
|
+
<div className='absolute' style={{ right: 5 }}>
|
|
184
|
+
<Button
|
|
185
|
+
type='button'
|
|
186
|
+
icon="pi pi-angle-down"
|
|
187
|
+
text
|
|
188
|
+
size='small'
|
|
189
|
+
style={{ height: 24, width: '1.5rem', padding: 0 }}
|
|
190
|
+
onClick={(e) =>
|
|
191
|
+
// @ts-ignore
|
|
192
|
+
formStepperOverlay.current.toggle(e)
|
|
193
|
+
}
|
|
194
|
+
/>
|
|
195
|
+
<OverlayPanel ref={formStepperOverlay} className="solid-custom-overlay solid-form-stepper-overlay">
|
|
196
|
+
<div className='flex flex-column gap-1 p-1'>
|
|
197
|
+
{solidFormViewWorkflowData.slice(5).map((step: any, index: number) => (
|
|
198
|
+
<Button
|
|
199
|
+
key={index}
|
|
200
|
+
type='button'
|
|
201
|
+
label={step.label}
|
|
202
|
+
size='small'
|
|
203
|
+
text
|
|
204
|
+
onClick={() => handleButtonClick(step.value)}
|
|
205
|
+
/>
|
|
206
|
+
))}
|
|
207
|
+
</div>
|
|
208
|
+
</OverlayPanel>
|
|
209
|
+
</div>
|
|
210
|
+
)}
|
|
211
|
+
</Button>
|
|
212
|
+
)
|
|
213
|
+
})}
|
|
214
|
+
</div>
|
|
215
|
+
</>
|
|
64
216
|
)
|
|
65
217
|
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client"
|
|
2
|
+
import { Card } from "primereact/card"
|
|
3
|
+
type SolidModuleParams = {
|
|
4
|
+
moduleName: string;
|
|
5
|
+
}
|
|
6
|
+
export const SolidModuleHome = (params: SolidModuleParams) => {
|
|
7
|
+
const formatName = (moduleName: string) => {
|
|
8
|
+
return moduleName
|
|
9
|
+
.split('-')
|
|
10
|
+
.map(word => word.charAt(0).toUpperCase() + word.slice(1)) // Capitalize each word
|
|
11
|
+
.join(' ');
|
|
12
|
+
};
|
|
13
|
+
return (
|
|
14
|
+
<div className="page-parent-wrapper">
|
|
15
|
+
<div className="surface-0 text-center">
|
|
16
|
+
<div className="mb-3 font-bold text-3xl">
|
|
17
|
+
<span className="text-900">One Product, </span>
|
|
18
|
+
<span className="text-blue-600">Many Solutions</span>
|
|
19
|
+
</div>
|
|
20
|
+
<div className="text-700 mb-6">Ac turpis egestas maecenas pharetra convallis posuere morbi leo urna.</div>
|
|
21
|
+
<div className="grid">
|
|
22
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
23
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
24
|
+
<i className="pi pi-desktop text-4xl text-blue-500"></i>
|
|
25
|
+
</span>
|
|
26
|
+
<div className="text-900 text-xl mb-3 font-medium">Built for Developers</div>
|
|
27
|
+
<span className="text-700 line-height-3">Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.</span>
|
|
28
|
+
</div>
|
|
29
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
30
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
31
|
+
<i className="pi pi-lock text-4xl text-blue-500"></i>
|
|
32
|
+
</span>
|
|
33
|
+
<div className="text-900 text-xl mb-3 font-medium">End-to-End Encryption</div>
|
|
34
|
+
<span className="text-700 line-height-3">Risus nec feugiat in fermentum posuere urna nec. Posuere sollicitudin aliquam ultrices sagittis.</span>
|
|
35
|
+
</div>
|
|
36
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
37
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
38
|
+
<i className="pi pi-check-circle text-4xl text-blue-500"></i>
|
|
39
|
+
</span>
|
|
40
|
+
<div className="text-900 text-xl mb-3 font-medium">Easy to Use</div>
|
|
41
|
+
<span className="text-700 line-height-3">Ornare suspendisse sed nisi lacus sed viverra tellus. Neque volutpat ac tincidunt vitae semper.</span>
|
|
42
|
+
</div>
|
|
43
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
44
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
45
|
+
<i className="pi pi-globe text-4xl text-blue-500"></i>
|
|
46
|
+
</span>
|
|
47
|
+
<div className="text-900 text-xl mb-3 font-medium">Fast & Global Support</div>
|
|
48
|
+
<span className="text-700 line-height-3">Fermentum et sollicitudin ac orci phasellus egestas tellus rutrum tellus.</span>
|
|
49
|
+
</div>
|
|
50
|
+
<div className="col-12 md:col-4 mb-4 px-5">
|
|
51
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
52
|
+
<i className="pi pi-github text-4xl text-blue-500"></i>
|
|
53
|
+
</span>
|
|
54
|
+
<div className="text-900 text-xl mb-3 font-medium">Open Source</div>
|
|
55
|
+
<span className="text-700 line-height-3">Nec tincidunt praesent semper feugiat. Sed adipiscing diam donec adipiscing tristique risus nec feugiat. </span>
|
|
56
|
+
</div>
|
|
57
|
+
<div className="col-12 md:col-4 md:mb-4 mb-0 px-3">
|
|
58
|
+
<span className="p-3 shadow-2 mb-3 inline-block" style={{ borderRadius: '10px' }}>
|
|
59
|
+
<i className="pi pi-shield text-4xl text-blue-500"></i>
|
|
60
|
+
</span>
|
|
61
|
+
<div className="text-900 text-xl mb-3 font-medium">Trusted Securitty</div>
|
|
62
|
+
<span className="text-700 line-height-3">Mattis rhoncus urna neque viverra justo nec ultrices. Id cursus metus aliquam eleifend.</span>
|
|
63
|
+
</div>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
)
|
|
68
|
+
}
|
|
@@ -41,6 +41,8 @@ import { SolidFormWidgetProps, SolidLoadForm } from "@/types/solid-core";
|
|
|
41
41
|
import { SolidPasswordField } from "./fields/SolidPasswordField";
|
|
42
42
|
import { SolidEmailField } from "./fields/SolidEmailField";
|
|
43
43
|
import { Panel } from "primereact/panel";
|
|
44
|
+
import { SolidFormStepper } from "@/components/common/SolidFormStepper";
|
|
45
|
+
import { SolidFormHeader } from "@/components/common/SolidFormHeader";
|
|
44
46
|
|
|
45
47
|
export type SolidFormViewProps = {
|
|
46
48
|
moduleName: string;
|
|
@@ -1176,17 +1178,23 @@ const SolidFormView = (params: SolidFormViewProps) => {
|
|
|
1176
1178
|
</>
|
|
1177
1179
|
)}
|
|
1178
1180
|
</div>
|
|
1179
|
-
{params.embeded !== true &&
|
|
1181
|
+
{/* {params.embeded !== true &&
|
|
1180
1182
|
<SolidBreadcrumb
|
|
1181
1183
|
solidViewData={solidFormViewMetaData?.data?.solidView?.model}
|
|
1182
1184
|
initialEntityData={initialEntityData}
|
|
1183
1185
|
/>
|
|
1184
|
-
}
|
|
1185
|
-
{/* {params.embeded !== true &&
|
|
1186
|
-
<div className="solid-form-stepper">
|
|
1187
|
-
<SolidFormStepper />
|
|
1188
|
-
</div>
|
|
1189
1186
|
} */}
|
|
1187
|
+
{params.embeded !== true &&
|
|
1188
|
+
// <div className="solid-form-stepper">
|
|
1189
|
+
<SolidFormHeader
|
|
1190
|
+
// solidFormViewMetaData={solidFormViewMetaData?.data?.solidView?.model}
|
|
1191
|
+
solidFormViewMetaData={solidFormViewMetaData}
|
|
1192
|
+
initialEntityData={initialEntityData}
|
|
1193
|
+
modelName={params.modelName}
|
|
1194
|
+
id={params.id}
|
|
1195
|
+
/>
|
|
1196
|
+
// </div>
|
|
1197
|
+
}
|
|
1190
1198
|
<div className="p-4 solid-form-content">
|
|
1191
1199
|
{DynamicHeaderComponent && <DynamicHeaderComponent />}
|
|
1192
1200
|
{renderFormDynamically(formViewMetaData)}
|
|
@@ -24,7 +24,7 @@ interface ApiResponse {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
export const KanbanBoard = ({ kanbanViewData,
|
|
27
|
+
export const KanbanBoard = ({ groupedView, kanbanViewData, solidKanbanViewMetaData, setKanbanViewData, handleLoadMore, onDragEnd, handleSwimLinPagination ,setLightboxUrls, setOpenLightbox }: any) => {
|
|
28
28
|
const [loading, setLoading] = useState<boolean>(true);
|
|
29
29
|
// State to manage the folded status of each column
|
|
30
30
|
const [foldedStates, setFoldedStates] = useState<Record<string, boolean>>({});
|
|
@@ -102,17 +102,22 @@ export const KanbanBoard = ({ kanbanViewData, solidViewMetaData, setKanbanViewDa
|
|
|
102
102
|
return (
|
|
103
103
|
<KanbanColumn
|
|
104
104
|
key={data.groupName}
|
|
105
|
+
groupedView={groupedView}
|
|
105
106
|
groupByField={data.groupName}
|
|
106
107
|
group={group}
|
|
107
|
-
|
|
108
|
+
solidKanbanViewMetaData={solidKanbanViewMetaData}
|
|
108
109
|
groupData={data.groupData.records}
|
|
109
110
|
toggleFold={toggleFold}
|
|
110
111
|
handleLoadMore={handleLoadMore}
|
|
112
|
+
setLightboxUrls={setLightboxUrls}
|
|
113
|
+
setOpenLightbox={setOpenLightbox}
|
|
111
114
|
/>
|
|
112
115
|
);
|
|
113
116
|
})}
|
|
114
|
-
|
|
115
|
-
<
|
|
117
|
+
{groupedView !== false &&
|
|
118
|
+
<div className="kanban-load-more-folded">
|
|
119
|
+
<a className="kaban-load-more" onClick={handleSwimLinPagination}>load More</a></div>
|
|
120
|
+
}
|
|
116
121
|
</div>
|
|
117
122
|
</DragDropContext>
|
|
118
123
|
);
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { Draggable, DraggableProvided } from "@hello-pangea/dnd";
|
|
5
5
|
import { Card } from "primereact/card";
|
|
6
6
|
import React from "react";
|
|
7
|
+
import { SolidKanbanViewFields } from "./SolidKanbanViewFields";
|
|
7
8
|
|
|
8
9
|
// Define the types for the data and props
|
|
9
10
|
interface Data {
|
|
@@ -14,21 +15,46 @@ interface Data {
|
|
|
14
15
|
|
|
15
16
|
interface KanbanCardProps {
|
|
16
17
|
data: Data;
|
|
17
|
-
|
|
18
|
+
solidKanbanViewMetaData: any;
|
|
18
19
|
index: number;
|
|
19
20
|
}
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
// Render columns dynamically based on metadata
|
|
23
|
+
const renderFieldsDynamically = (field: any, data: any, solidKanbanViewMetaData: any, setLightboxUrls?: any, setOpenLightbox?: any) => {
|
|
24
|
+
if (!solidKanbanViewMetaData) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
const solidView = solidKanbanViewMetaData.solidView;
|
|
29
|
+
const solidFieldsMetadata = solidKanbanViewMetaData.solidFieldsMetadata;
|
|
30
|
+
if (!solidView || !solidFieldsMetadata) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const fieldMetadata = solidFieldsMetadata[field.attrs.name];
|
|
34
|
+
const fieldLayout = field;
|
|
35
|
+
return SolidKanbanViewFields({ solidKanbanViewMetaData, fieldMetadata, fieldLayout, data, setLightboxUrls, setOpenLightbox });
|
|
36
|
+
// return solidView.layout.children?.map((column: any) => {
|
|
37
|
+
// const fieldMetadata = solidFieldsMetadata[column.attrs.name];
|
|
38
|
+
// if (!fieldMetadata) {
|
|
39
|
+
// return;
|
|
40
|
+
// }
|
|
41
|
+
|
|
42
|
+
// return SolidKanbanViewFields({ solidKanbanViewMetaData, fieldMetadata, column });
|
|
43
|
+
|
|
44
|
+
// });
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidKanbanViewMetaData, index, setLightboxUrls, setOpenLightbox }) => {
|
|
22
48
|
|
|
23
49
|
const SolidRow = ({ children, attrs }: any) => {
|
|
24
50
|
const className = attrs.className;
|
|
25
51
|
return (
|
|
26
52
|
<div className={`row ${className}`}>
|
|
27
53
|
<div className="s_group">
|
|
28
|
-
<
|
|
54
|
+
<div>
|
|
29
55
|
{attrs.label && <p className="s_group_heading">{attrs.label}</p>}
|
|
30
56
|
<div className="grid">{children}</div>
|
|
31
|
-
</
|
|
57
|
+
</div>
|
|
32
58
|
</div>
|
|
33
59
|
</div>
|
|
34
60
|
);
|
|
@@ -38,10 +64,10 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidViewMetaData, index
|
|
|
38
64
|
return (
|
|
39
65
|
<div className={`${className}`}>
|
|
40
66
|
<div className="s_group">
|
|
41
|
-
<
|
|
67
|
+
<div>
|
|
42
68
|
{attrs.label && <p className="s_group_heading">{attrs.label}</p>}
|
|
43
69
|
<div className="grid">{children}</div>
|
|
44
|
-
</
|
|
70
|
+
</div>
|
|
45
71
|
</div>
|
|
46
72
|
|
|
47
73
|
</div>
|
|
@@ -52,28 +78,28 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidViewMetaData, index
|
|
|
52
78
|
return (
|
|
53
79
|
<div className={`${className}`}>
|
|
54
80
|
<div className="s_group">
|
|
55
|
-
<
|
|
81
|
+
<div>
|
|
56
82
|
{attrs.label && <p className="s_group_heading">{attrs.label}</p>}
|
|
57
83
|
<div className="grid">{children}</div>
|
|
58
|
-
</
|
|
84
|
+
</div>
|
|
59
85
|
</div>
|
|
60
86
|
|
|
61
87
|
</div>
|
|
62
88
|
);
|
|
63
89
|
};
|
|
64
90
|
|
|
65
|
-
const SolidField = ({ field,
|
|
91
|
+
const SolidField = ({ field, data, solidKanbanViewMetaData }: any) => {
|
|
66
92
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
93
|
+
return renderFieldsDynamically(field, data, solidKanbanViewMetaData, setLightboxUrls, setOpenLightbox)
|
|
94
|
+
// switch (solidKanbanViewMetaData[field.attrs.name].type) {
|
|
95
|
+
// case "mediaSingle":
|
|
96
|
+
// return <img src=""></img>
|
|
97
|
+
// default:
|
|
98
|
+
// return <p>{initialEntityData[field.attrs.name]}</p>
|
|
72
99
|
|
|
73
|
-
}
|
|
100
|
+
// }
|
|
74
101
|
};
|
|
75
102
|
|
|
76
|
-
|
|
77
103
|
const SolidCard = ({ children }: any) => (
|
|
78
104
|
<div className="p-fluid p-grid">
|
|
79
105
|
{children}
|
|
@@ -81,36 +107,36 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidViewMetaData, index
|
|
|
81
107
|
);
|
|
82
108
|
|
|
83
109
|
// Now render the form dynamically...
|
|
84
|
-
const renderFormElementDynamically: any = (element: any,
|
|
110
|
+
const renderFormElementDynamically: any = (element: any, solidKanbanViewMetaData: any) => {
|
|
85
111
|
const { type, attrs, children } = element;
|
|
86
112
|
// const key = attrs?.name ?? generateRandomKey();
|
|
87
113
|
const key = attrs?.name;
|
|
88
114
|
switch (type) {
|
|
89
115
|
case "card":
|
|
90
|
-
return <SolidCard key={key}>{children.map((element: any) => renderFormElementDynamically(element,
|
|
116
|
+
return <SolidCard key={key}>{children.map((element: any) => renderFormElementDynamically(element, solidKanbanViewMetaData))}</SolidCard>;
|
|
91
117
|
case "row":
|
|
92
|
-
return <SolidRow key={key} attrs={attrs}>{children.map((element: any) => renderFormElementDynamically(element,
|
|
118
|
+
return <SolidRow key={key} attrs={attrs}>{children.map((element: any) => renderFormElementDynamically(element, solidKanbanViewMetaData))}</SolidRow>;
|
|
93
119
|
case "column":
|
|
94
|
-
return <SolidColumn key={key} attrs={attrs}>{children.map((element: any) => renderFormElementDynamically(element,
|
|
120
|
+
return <SolidColumn key={key} attrs={attrs}>{children.map((element: any) => renderFormElementDynamically(element, solidKanbanViewMetaData))}</SolidColumn>;
|
|
95
121
|
case "image":
|
|
96
|
-
return <SolidImage key={key} attrs={attrs}>{children.map((element: any) => renderFormElementDynamically(element,
|
|
122
|
+
return <SolidImage key={key} attrs={attrs}>{children.map((element: any) => renderFormElementDynamically(element, solidKanbanViewMetaData))}</SolidImage>;
|
|
97
123
|
|
|
98
124
|
case "field": {
|
|
99
125
|
// const fieldMetadata = solidFieldsMetadata[attrs.name];
|
|
100
|
-
const fieldMetadata =
|
|
101
|
-
return <SolidField key={key} field={element} fieldMetadata={fieldMetadata}
|
|
126
|
+
const fieldMetadata = solidKanbanViewMetaData.solidFieldsMetadata[attrs.name];
|
|
127
|
+
return <SolidField key={key} field={element} fieldMetadata={fieldMetadata} data={data ? data : null} solidKanbanViewMetaData={solidKanbanViewMetaData} />;
|
|
102
128
|
}
|
|
103
129
|
default:
|
|
104
130
|
return null;
|
|
105
131
|
}
|
|
106
132
|
};
|
|
107
133
|
|
|
108
|
-
const renderFormDynamically = (
|
|
109
|
-
if (!
|
|
134
|
+
const renderFormDynamically = (solidKanbanViewMetaData: any) => {
|
|
135
|
+
if (!solidKanbanViewMetaData) {
|
|
110
136
|
return;
|
|
111
137
|
}
|
|
112
|
-
const solidView =
|
|
113
|
-
const solidFieldsMetadata =
|
|
138
|
+
const solidView = solidKanbanViewMetaData.solidView;
|
|
139
|
+
const solidFieldsMetadata = solidKanbanViewMetaData.solidFieldsMetadata;
|
|
114
140
|
if (!solidView || !solidFieldsMetadata) {
|
|
115
141
|
return;
|
|
116
142
|
}
|
|
@@ -118,7 +144,7 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidViewMetaData, index
|
|
|
118
144
|
return;
|
|
119
145
|
}
|
|
120
146
|
const updatedLayout = solidView.layout.children;
|
|
121
|
-
const dynamicForm = updatedLayout.map((element: any) => renderFormElementDynamically(element,
|
|
147
|
+
const dynamicForm = updatedLayout.map((element: any) => renderFormElementDynamically(element, solidKanbanViewMetaData));
|
|
122
148
|
return dynamicForm;
|
|
123
149
|
};
|
|
124
150
|
|
|
@@ -132,6 +158,7 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidViewMetaData, index
|
|
|
132
158
|
{...provided.draggableProps}
|
|
133
159
|
{...provided.dragHandleProps}
|
|
134
160
|
style={{ marginBottom: "1rem", ...provided.draggableProps.style }}
|
|
161
|
+
className="kanban-card-container"
|
|
135
162
|
>
|
|
136
163
|
{/* <p className="kanban-card-heading">{data.title}</p> */}
|
|
137
164
|
{/* <p className="kanban-card-content">{data.content}</p> */}
|
|
@@ -142,10 +169,10 @@ const KanbanCard: React.FC<KanbanCardProps> = ({ data, solidViewMetaData, index
|
|
|
142
169
|
}}
|
|
143
170
|
elevation={snapshot.isDragging ? 3 : 1}
|
|
144
171
|
>
|
|
145
|
-
{renderFormDynamically(
|
|
172
|
+
{renderFormDynamically(solidKanbanViewMetaData)}
|
|
146
173
|
|
|
147
|
-
{/* {
|
|
148
|
-
Object.entries(
|
|
174
|
+
{/* {solidKanbanViewMetaData?.solidView?.layout?.layoutData &&
|
|
175
|
+
Object.entries(solidKanbanViewMetaData?.solidView?.layout?.layoutData).map(([key, value]) => (
|
|
149
176
|
<p className="kanban-card-heading" key={key}>{data[value]}</p>
|
|
150
177
|
))
|
|
151
178
|
} */}
|