@solidstarters/solid-core-ui 1.1.38 → 1.1.41
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/core/form/fields/SolidSelectionDynamicField.js +1 -1
- package/dist/components/core/form/fields/SolidSelectionDynamicField.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/FieldMetaDataForm.js +1 -6
- package/dist/components/core/model/FieldMetaDataForm.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 +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/resources/globals.css +20 -1
- 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/core/form/fields/SolidSelectionDynamicField.tsx +1 -1
- 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/FieldMetaDataForm.tsx +6 -6
- package/src/helpers/registry.ts +4 -0
- package/src/index.ts +1 -1
- package/src/resources/globals.css +20 -1
- 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
|
@@ -2864,7 +2864,7 @@
|
|
|
2864
2864
|
border-width: 1px 0 1px 0;
|
|
2865
2865
|
font-weight: 600;
|
|
2866
2866
|
color: #374151;
|
|
2867
|
-
background: #
|
|
2867
|
+
background: #FFFFFF;
|
|
2868
2868
|
transition: box-shadow 0.2s;
|
|
2869
2869
|
}
|
|
2870
2870
|
|
|
@@ -2905,7 +2905,7 @@
|
|
|
2905
2905
|
}
|
|
2906
2906
|
|
|
2907
2907
|
.p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover {
|
|
2908
|
-
background: #
|
|
2908
|
+
background: #FFF;
|
|
2909
2909
|
color: #374151;
|
|
2910
2910
|
}
|
|
2911
2911
|
|
|
@@ -2914,7 +2914,7 @@
|
|
|
2914
2914
|
}
|
|
2915
2915
|
|
|
2916
2916
|
.p-datatable .p-sortable-column.p-highlight {
|
|
2917
|
-
background: #
|
|
2917
|
+
background: #FFFFFF;
|
|
2918
2918
|
color: #4c1b94;
|
|
2919
2919
|
}
|
|
2920
2920
|
|
|
@@ -2923,7 +2923,7 @@
|
|
|
2923
2923
|
}
|
|
2924
2924
|
|
|
2925
2925
|
.p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover {
|
|
2926
|
-
background: #
|
|
2926
|
+
background: #FFFFFF;
|
|
2927
2927
|
color: #4c1b94;
|
|
2928
2928
|
}
|
|
2929
2929
|
|
|
@@ -2940,6 +2940,7 @@
|
|
|
2940
2940
|
background: #ffffff;
|
|
2941
2941
|
color: #4B4D52;
|
|
2942
2942
|
transition: box-shadow 0.2s;
|
|
2943
|
+
cursor: pointer;
|
|
2943
2944
|
}
|
|
2944
2945
|
|
|
2945
2946
|
.p-datatable .p-datatable-tbody>tr>td {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solidstarters/solid-core-ui",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.41",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"prebuild": "npm run copy-styles",
|
|
6
6
|
"build": "tsc && tsc-alias",
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"primereact": "^10.8.5",
|
|
50
50
|
"qs": "^6.13.0",
|
|
51
51
|
"quill": "^2.0.3",
|
|
52
|
+
"react-pdf": "^9.2.1",
|
|
52
53
|
"stripe": "^13.5.0",
|
|
53
54
|
"uuid": "^10.0.0",
|
|
54
55
|
"xlsx": "^0.18.5",
|
|
@@ -114,7 +114,7 @@ export class SolidSelectionDynamicField implements ISolidField {
|
|
|
114
114
|
suggestions={selectionDynamicItems}
|
|
115
115
|
completeMethod={selectionDynamicSearch}
|
|
116
116
|
// onChange={(e) => updateInputs(index, e.value)} />
|
|
117
|
-
onChange={
|
|
117
|
+
onChange={(e) => this.fieldContext.onChange(e, 'onFieldChange')}
|
|
118
118
|
className="solid-standard-autocomplete"
|
|
119
119
|
/>
|
|
120
120
|
</div>
|
|
@@ -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
|
} */}
|
|
@@ -24,81 +24,86 @@ interface GroupData {
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
interface KanbanColumnProps {
|
|
27
|
+
groupedView: boolean;
|
|
27
28
|
groupByField: string;
|
|
28
29
|
group: Group;
|
|
29
30
|
groupData: GroupData[];
|
|
30
31
|
toggleFold: (groupByField: string) => void;
|
|
31
32
|
handleLoadMore: (groupByField: string) => void;
|
|
33
|
+
setLightboxUrls: any,
|
|
34
|
+
setOpenLightbox: any
|
|
32
35
|
}
|
|
33
36
|
|
|
34
|
-
const KanbanColumn = ({ groupByField,
|
|
37
|
+
const KanbanColumn = ({ groupedView, groupByField, solidKanbanViewMetaData, group, groupData, toggleFold, handleLoadMore, setLightboxUrls, setOpenLightbox }: KanbanColumnProps) => {
|
|
35
38
|
const op = useRef<any>(null);
|
|
36
39
|
|
|
37
40
|
|
|
38
41
|
return (
|
|
39
|
-
<div className={group.folded ? "kanban-column kanban-column-folded" : "kanban-column"}>
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<
|
|
44
|
-
<div className="
|
|
45
|
-
<
|
|
46
|
-
|
|
42
|
+
<div className={group.folded ? (groupedView === false ? "kanban-column kanban-ungrouped-column kanban-column-folded" : "kanban-column kanban-column-folded") : (groupedView === false ? "kanban-column kanban-ungrouped-column" : "kanban-column")}>
|
|
43
|
+
{groupedView !== false &&
|
|
44
|
+
<div className="kaban-heading-area">
|
|
45
|
+
{group.folded &&
|
|
46
|
+
<a onClick={e => toggleFold(groupByField)}>
|
|
47
|
+
<div className="flex align-items-center">
|
|
48
|
+
<div className="kanban-arrow-icon-container">
|
|
49
|
+
<i className="pi pi-sort-up-fill"></i>
|
|
50
|
+
<i className="pi pi-sort-down-fill"></i>
|
|
51
|
+
</div>
|
|
52
|
+
<p className="kanban-group-heading">{`${group.label}`}<span className="count">{group.count}</span></p>
|
|
47
53
|
</div>
|
|
54
|
+
</a>
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
{!group.folded &&
|
|
58
|
+
<div className="flex align-items-center">
|
|
48
59
|
<p className="kanban-group-heading">{`${group.label}`}<span className="count">{group.count}</span></p>
|
|
49
60
|
</div>
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
{!group.folded &&
|
|
59
|
-
<a onClick={(e: any) => op?.current?.toggle(e)}>
|
|
60
|
-
< i className="pi pi-cog" />
|
|
61
|
-
</a>
|
|
62
|
-
}
|
|
63
|
-
<OverlayPanel ref={op} className="kanban-options-panel">
|
|
61
|
+
}
|
|
62
|
+
{!group.folded &&
|
|
63
|
+
<a onClick={(e: any) => op?.current?.toggle(e)}>
|
|
64
|
+
< i className="pi pi-cog" />
|
|
65
|
+
</a>
|
|
66
|
+
}
|
|
67
|
+
<OverlayPanel ref={op} className="kanban-options-panel">
|
|
64
68
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
>
|
|
70
|
-
<ul
|
|
71
|
-
className="p-menu-list p-reset"
|
|
72
|
-
id="pr_id_11_list"
|
|
73
|
-
role="menu"
|
|
74
|
-
data-pc-section="menu"
|
|
69
|
+
<div
|
|
70
|
+
className="w-full md:w-10rem p-menu p-component"
|
|
71
|
+
data-pc-name="menu"
|
|
72
|
+
data-pc-section="root"
|
|
75
73
|
>
|
|
76
|
-
<
|
|
77
|
-
className="p-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
data-
|
|
81
|
-
data-p-disabled="false"
|
|
74
|
+
<ul
|
|
75
|
+
className="p-menu-list p-reset"
|
|
76
|
+
id="pr_id_11_list"
|
|
77
|
+
role="menu"
|
|
78
|
+
data-pc-section="menu"
|
|
82
79
|
>
|
|
83
|
-
<
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
<
|
|
80
|
+
<li
|
|
81
|
+
className="p-menuitem"
|
|
82
|
+
role="menuitem"
|
|
83
|
+
data-pc-section="menuitem"
|
|
84
|
+
data-p-focused="false"
|
|
85
|
+
data-p-disabled="false"
|
|
86
|
+
>
|
|
87
|
+
<button className="p-menuitem-link w-full p-link flex align-items-center pl-2 text-color hover:surface-200 border-noround">
|
|
88
|
+
<div
|
|
89
|
+
className="mr-2 p-avatar p-component p-avatar-image p-avatar-circle"
|
|
90
|
+
data-pc-name="avatar"
|
|
91
|
+
data-pc-section="root"
|
|
92
|
+
>
|
|
93
|
+
</div>
|
|
94
|
+
<div className="flex flex-column align">
|
|
91
95
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
96
|
+
<a className="flex align-items-center p-menuitem-link" onClick={e => { toggleFold(groupByField); op?.current?.toggle(e) }}>
|
|
97
|
+
<span className="">Fold</span>
|
|
98
|
+
</a>
|
|
99
|
+
</div>
|
|
100
|
+
</button>
|
|
101
|
+
</li>
|
|
102
|
+
</ul>
|
|
103
|
+
</div>
|
|
104
|
+
</OverlayPanel>
|
|
105
|
+
</div>
|
|
106
|
+
}
|
|
102
107
|
{!group.folded && (
|
|
103
108
|
<Droppable droppableId={groupByField}>
|
|
104
109
|
{(provided: DroppableProvided) => (
|
|
@@ -106,12 +111,13 @@ const KanbanColumn = ({ groupByField, solidViewMetaData, group, groupData, toggl
|
|
|
106
111
|
ref={provided.innerRef}
|
|
107
112
|
{...provided.droppableProps}
|
|
108
113
|
style={{ minHeight: "100px" }}
|
|
114
|
+
className={groupedView === false && "kanban-ungrouped-column-content"}
|
|
109
115
|
>
|
|
110
116
|
{groupData.map((data, index) => (
|
|
111
|
-
<KanbanCard key={data.id} data={data}
|
|
117
|
+
<KanbanCard key={data.id} data={data} solidKanbanViewMetaData={solidKanbanViewMetaData} index={index} setLightboxUrls={setLightboxUrls} setOpenLightbox={setOpenLightbox} />
|
|
112
118
|
))}
|
|
113
119
|
{provided.placeholder}
|
|
114
|
-
{group.count > 0 &&
|
|
120
|
+
{group.count > 0 && (group.count > (group.limit * group.currentPage)) &&
|
|
115
121
|
<a
|
|
116
122
|
className="load-more-button"
|
|
117
123
|
onClick={() => handleLoadMore(groupByField)}
|