@rchemist/listgrid 0.2.6

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.
Files changed (592) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +343 -0
  3. package/dist/adapters/next/NextListGridProvider.d.ts +5 -0
  4. package/dist/adapters/next/NextListGridProvider.js +7 -0
  5. package/dist/adapters/next/NextRouterAdapter.d.ts +2 -0
  6. package/dist/adapters/next/NextRouterAdapter.js +34 -0
  7. package/dist/adapters/next/NextUrlStateAdapter.d.ts +2 -0
  8. package/dist/adapters/next/NextUrlStateAdapter.js +31 -0
  9. package/dist/adapters/next/index.d.ts +4 -0
  10. package/dist/adapters/next/index.js +12 -0
  11. package/dist/index.d.ts +1 -0
  12. package/dist/index.js +3 -0
  13. package/dist/listgrid/api/ApiClient.d.ts +20 -0
  14. package/dist/listgrid/api/ApiClient.js +32 -0
  15. package/dist/listgrid/api/index.d.ts +4 -0
  16. package/dist/listgrid/api/index.js +2 -0
  17. package/dist/listgrid/api/types.d.ts +21 -0
  18. package/dist/listgrid/api/types.js +30 -0
  19. package/dist/listgrid/auth/AuthContext.d.ts +12 -0
  20. package/dist/listgrid/auth/AuthContext.js +25 -0
  21. package/dist/listgrid/auth/SessionProvider.d.ts +4 -0
  22. package/dist/listgrid/auth/SessionProvider.js +16 -0
  23. package/dist/listgrid/auth/index.d.ts +6 -0
  24. package/dist/listgrid/auth/index.js +17 -0
  25. package/dist/listgrid/auth/types.d.ts +15 -0
  26. package/dist/listgrid/auth/types.js +12 -0
  27. package/dist/listgrid/common/func.d.ts +16 -0
  28. package/dist/listgrid/common/func.js +351 -0
  29. package/dist/listgrid/common/type.d.ts +35 -0
  30. package/dist/listgrid/common/type.js +46 -0
  31. package/dist/listgrid/components/api/ApiSpecificationButton.d.ts +5 -0
  32. package/dist/listgrid/components/api/ApiSpecificationButton.js +16 -0
  33. package/dist/listgrid/components/api/Type.d.ts +23 -0
  34. package/dist/listgrid/components/api/Type.js +8 -0
  35. package/dist/listgrid/components/api/ViewApiSpecification.d.ts +2 -0
  36. package/dist/listgrid/components/api/ViewApiSpecification.js +32 -0
  37. package/dist/listgrid/components/fields/ApplyFullAddressFields.d.ts +45 -0
  38. package/dist/listgrid/components/fields/ApplyFullAddressFields.js +177 -0
  39. package/dist/listgrid/components/fields/BirthdayField.d.ts +39 -0
  40. package/dist/listgrid/components/fields/BirthdayField.js +205 -0
  41. package/dist/listgrid/components/fields/BooleanField.d.ts +38 -0
  42. package/dist/listgrid/components/fields/BooleanField.js +141 -0
  43. package/dist/listgrid/components/fields/CheckboxField.d.ts +23 -0
  44. package/dist/listgrid/components/fields/CheckboxField.js +33 -0
  45. package/dist/listgrid/components/fields/ColorField.d.ts +18 -0
  46. package/dist/listgrid/components/fields/ColorField.js +63 -0
  47. package/dist/listgrid/components/fields/ColorPresetField.d.ts +19 -0
  48. package/dist/listgrid/components/fields/ColorPresetField.js +56 -0
  49. package/dist/listgrid/components/fields/CustomOptionField.d.ts +45 -0
  50. package/dist/listgrid/components/fields/CustomOptionField.js +176 -0
  51. package/dist/listgrid/components/fields/DateField.d.ts +34 -0
  52. package/dist/listgrid/components/fields/DateField.js +116 -0
  53. package/dist/listgrid/components/fields/DatetimeField.d.ts +29 -0
  54. package/dist/listgrid/components/fields/DatetimeField.js +93 -0
  55. package/dist/listgrid/components/fields/EmailField.d.ts +37 -0
  56. package/dist/listgrid/components/fields/EmailField.js +144 -0
  57. package/dist/listgrid/components/fields/FileField.d.ts +36 -0
  58. package/dist/listgrid/components/fields/FileField.js +157 -0
  59. package/dist/listgrid/components/fields/HtmlField.d.ts +24 -0
  60. package/dist/listgrid/components/fields/HtmlField.js +70 -0
  61. package/dist/listgrid/components/fields/ImageField.d.ts +34 -0
  62. package/dist/listgrid/components/fields/ImageField.js +125 -0
  63. package/dist/listgrid/components/fields/InlineMapField.d.ts +40 -0
  64. package/dist/listgrid/components/fields/InlineMapField.js +85 -0
  65. package/dist/listgrid/components/fields/LinkField.d.ts +26 -0
  66. package/dist/listgrid/components/fields/LinkField.js +61 -0
  67. package/dist/listgrid/components/fields/ManyToOneField.d.ts +80 -0
  68. package/dist/listgrid/components/fields/ManyToOneField.js +416 -0
  69. package/dist/listgrid/components/fields/MappedJoinField.d.ts +16 -0
  70. package/dist/listgrid/components/fields/MappedJoinField.js +29 -0
  71. package/dist/listgrid/components/fields/MarkdownField.d.ts +20 -0
  72. package/dist/listgrid/components/fields/MarkdownField.js +58 -0
  73. package/dist/listgrid/components/fields/MessageViewField.d.ts +20 -0
  74. package/dist/listgrid/components/fields/MessageViewField.js +27 -0
  75. package/dist/listgrid/components/fields/MonthField.d.ts +25 -0
  76. package/dist/listgrid/components/fields/MonthField.js +68 -0
  77. package/dist/listgrid/components/fields/MultiSelectField.d.ts +59 -0
  78. package/dist/listgrid/components/fields/MultiSelectField.js +74 -0
  79. package/dist/listgrid/components/fields/MultipleAssetField.d.ts +31 -0
  80. package/dist/listgrid/components/fields/MultipleAssetField.js +200 -0
  81. package/dist/listgrid/components/fields/NumberField.d.ts +54 -0
  82. package/dist/listgrid/components/fields/NumberField.js +216 -0
  83. package/dist/listgrid/components/fields/PasswordField.d.ts +23 -0
  84. package/dist/listgrid/components/fields/PasswordField.js +70 -0
  85. package/dist/listgrid/components/fields/PhoneNumberField.d.ts +39 -0
  86. package/dist/listgrid/components/fields/PhoneNumberField.js +91 -0
  87. package/dist/listgrid/components/fields/Preset.d.ts +68 -0
  88. package/dist/listgrid/components/fields/Preset.js +306 -0
  89. package/dist/listgrid/components/fields/ProfileField.d.ts +14 -0
  90. package/dist/listgrid/components/fields/ProfileField.js +25 -0
  91. package/dist/listgrid/components/fields/QrField.d.ts +21 -0
  92. package/dist/listgrid/components/fields/QrField.js +31 -0
  93. package/dist/listgrid/components/fields/RuleField.d.ts +11 -0
  94. package/dist/listgrid/components/fields/RuleField.js +24 -0
  95. package/dist/listgrid/components/fields/SelectField.d.ts +223 -0
  96. package/dist/listgrid/components/fields/SelectField.js +379 -0
  97. package/dist/listgrid/components/fields/SelectFieldRenderer.d.ts +35 -0
  98. package/dist/listgrid/components/fields/SelectFieldRenderer.js +363 -0
  99. package/dist/listgrid/components/fields/StatusChangeReasonModal.d.ts +18 -0
  100. package/dist/listgrid/components/fields/StatusChangeReasonModal.js +25 -0
  101. package/dist/listgrid/components/fields/StringField.d.ts +34 -0
  102. package/dist/listgrid/components/fields/StringField.js +131 -0
  103. package/dist/listgrid/components/fields/TagField.d.ts +35 -0
  104. package/dist/listgrid/components/fields/TagField.js +75 -0
  105. package/dist/listgrid/components/fields/TelephoneNumberField.d.ts +35 -0
  106. package/dist/listgrid/components/fields/TelephoneNumberField.js +121 -0
  107. package/dist/listgrid/components/fields/TextareaField.d.ts +27 -0
  108. package/dist/listgrid/components/fields/TextareaField.js +47 -0
  109. package/dist/listgrid/components/fields/TimeField.d.ts +21 -0
  110. package/dist/listgrid/components/fields/TimeField.js +40 -0
  111. package/dist/listgrid/components/fields/XrefAvailableDateMappingField.d.ts +22 -0
  112. package/dist/listgrid/components/fields/XrefAvailableDateMappingField.js +39 -0
  113. package/dist/listgrid/components/fields/XrefMappingField.d.ts +30 -0
  114. package/dist/listgrid/components/fields/XrefMappingField.js +59 -0
  115. package/dist/listgrid/components/fields/XrefPreferMappingField.d.ts +30 -0
  116. package/dist/listgrid/components/fields/XrefPreferMappingField.js +53 -0
  117. package/dist/listgrid/components/fields/XrefPriceMappingField.d.ts +33 -0
  118. package/dist/listgrid/components/fields/XrefPriceMappingField.js +56 -0
  119. package/dist/listgrid/components/fields/YearField.d.ts +32 -0
  120. package/dist/listgrid/components/fields/YearField.js +99 -0
  121. package/dist/listgrid/components/fields/abstract/AbstractDateField.d.ts +33 -0
  122. package/dist/listgrid/components/fields/abstract/AbstractDateField.js +61 -0
  123. package/dist/listgrid/components/fields/abstract/AbstractManyToOneField.d.ts +97 -0
  124. package/dist/listgrid/components/fields/abstract/AbstractManyToOneField.js +50 -0
  125. package/dist/listgrid/components/fields/abstract/CheckButtonValidationField.d.ts +22 -0
  126. package/dist/listgrid/components/fields/abstract/CheckButtonValidationField.js +92 -0
  127. package/dist/listgrid/components/fields/abstract/FormField.d.ts +250 -0
  128. package/dist/listgrid/components/fields/abstract/FormField.js +606 -0
  129. package/dist/listgrid/components/fields/abstract/ListableFormField.d.ts +140 -0
  130. package/dist/listgrid/components/fields/abstract/ListableFormField.js +285 -0
  131. package/dist/listgrid/components/fields/abstract/OptionalField.d.ts +96 -0
  132. package/dist/listgrid/components/fields/abstract/OptionalField.js +310 -0
  133. package/dist/listgrid/components/fields/abstract/index.d.ts +6 -0
  134. package/dist/listgrid/components/fields/abstract/index.js +12 -0
  135. package/dist/listgrid/components/fields/address/AddressFieldView.d.ts +9 -0
  136. package/dist/listgrid/components/fields/address/AddressFieldView.js +92 -0
  137. package/dist/listgrid/components/fields/address/AddressMapField.d.ts +33 -0
  138. package/dist/listgrid/components/fields/address/AddressMapField.js +49 -0
  139. package/dist/listgrid/components/fields/address/KakaoMap.d.ts +10 -0
  140. package/dist/listgrid/components/fields/address/KakaoMap.js +50 -0
  141. package/dist/listgrid/components/fields/address/PostCodeSelector.d.ts +9 -0
  142. package/dist/listgrid/components/fields/address/PostCodeSelector.js +125 -0
  143. package/dist/listgrid/components/fields/contentasset/ContentAssetField.d.ts +61 -0
  144. package/dist/listgrid/components/fields/contentasset/ContentAssetField.js +80 -0
  145. package/dist/listgrid/components/fields/contentasset/ContentAssetItem.d.ts +17 -0
  146. package/dist/listgrid/components/fields/contentasset/ContentAssetItem.js +67 -0
  147. package/dist/listgrid/components/fields/contentasset/components/AddContentDialog.d.ts +11 -0
  148. package/dist/listgrid/components/fields/contentasset/components/AddContentDialog.js +68 -0
  149. package/dist/listgrid/components/fields/contentasset/components/ContentAssetItemUI.d.ts +30 -0
  150. package/dist/listgrid/components/fields/contentasset/components/ContentAssetItemUI.js +38 -0
  151. package/dist/listgrid/components/fields/contentasset/hooks/useContentAsset.d.ts +36 -0
  152. package/dist/listgrid/components/fields/contentasset/hooks/useContentAsset.js +188 -0
  153. package/dist/listgrid/components/fields/contentasset/index.d.ts +2 -0
  154. package/dist/listgrid/components/fields/contentasset/index.js +1 -0
  155. package/dist/listgrid/components/fields/contentasset/types.d.ts +50 -0
  156. package/dist/listgrid/components/fields/contentasset/types.js +48 -0
  157. package/dist/listgrid/components/fields/filter/DatetimeFilter.d.ts +7 -0
  158. package/dist/listgrid/components/fields/filter/DatetimeFilter.js +46 -0
  159. package/dist/listgrid/components/fields/filter/NumberFilter.d.ts +7 -0
  160. package/dist/listgrid/components/fields/filter/NumberFilter.js +74 -0
  161. package/dist/listgrid/components/fields/rule/RuleBasedFieldView.d.ts +15 -0
  162. package/dist/listgrid/components/fields/rule/RuleBasedFieldView.js +351 -0
  163. package/dist/listgrid/components/fields/rule/RuleBasedSelector.d.ts +13 -0
  164. package/dist/listgrid/components/fields/rule/RuleBasedSelector.js +75 -0
  165. package/dist/listgrid/components/fields/rule/RuleCondition.d.ts +14 -0
  166. package/dist/listgrid/components/fields/rule/RuleCondition.js +173 -0
  167. package/dist/listgrid/components/fields/rule/RuleFieldRenderer.d.ts +7 -0
  168. package/dist/listgrid/components/fields/rule/RuleFieldRenderer.js +21 -0
  169. package/dist/listgrid/components/fields/rule/RuleFieldView.d.ts +7 -0
  170. package/dist/listgrid/components/fields/rule/RuleFieldView.js +28 -0
  171. package/dist/listgrid/components/fields/rule/Type.d.ts +54 -0
  172. package/dist/listgrid/components/fields/rule/Type.js +72 -0
  173. package/dist/listgrid/components/fields/view/CardManyToOneView.d.ts +93 -0
  174. package/dist/listgrid/components/fields/view/CardManyToOneView.js +409 -0
  175. package/dist/listgrid/components/fields/view/CopyableTextView.d.ts +11 -0
  176. package/dist/listgrid/components/fields/view/CopyableTextView.js +44 -0
  177. package/dist/listgrid/components/fields/view/DynamicSelectFieldView.d.ts +28 -0
  178. package/dist/listgrid/components/fields/view/DynamicSelectFieldView.js +119 -0
  179. package/dist/listgrid/components/fields/view/LinkFieldView.d.ts +14 -0
  180. package/dist/listgrid/components/fields/view/LinkFieldView.js +41 -0
  181. package/dist/listgrid/components/fields/view/ManyToOneListView.d.ts +8 -0
  182. package/dist/listgrid/components/fields/view/ManyToOneListView.js +25 -0
  183. package/dist/listgrid/components/fields/view/ManyToOneMultiFilterView.d.ts +12 -0
  184. package/dist/listgrid/components/fields/view/ManyToOneMultiFilterView.js +142 -0
  185. package/dist/listgrid/components/fields/view/ManyToOneView.d.ts +8 -0
  186. package/dist/listgrid/components/fields/view/ManyToOneView.js +322 -0
  187. package/dist/listgrid/components/fields/view/MultipleAssetUpload.d.ts +7 -0
  188. package/dist/listgrid/components/fields/view/MultipleAssetUpload.js +47 -0
  189. package/dist/listgrid/components/fields/view/PhoneNumberFieldView.d.ts +19 -0
  190. package/dist/listgrid/components/fields/view/PhoneNumberFieldView.js +82 -0
  191. package/dist/listgrid/components/fields/view/PhoneNumberListView.d.ts +9 -0
  192. package/dist/listgrid/components/fields/view/PhoneNumberListView.js +49 -0
  193. package/dist/listgrid/components/fields/view/SelectBoxManyToOneView.d.ts +47 -0
  194. package/dist/listgrid/components/fields/view/SelectBoxManyToOneView.js +286 -0
  195. package/dist/listgrid/components/fields/view/SmsModal.d.ts +6 -0
  196. package/dist/listgrid/components/fields/view/SmsModal.js +124 -0
  197. package/dist/listgrid/components/fields/view/TreeSelectView.d.ts +11 -0
  198. package/dist/listgrid/components/fields/view/TreeSelectView.js +118 -0
  199. package/dist/listgrid/components/fields/view/XrefAvailableDateMappingView.d.ts +19 -0
  200. package/dist/listgrid/components/fields/view/XrefAvailableDateMappingView.js +305 -0
  201. package/dist/listgrid/components/fields/view/XrefMappingView.d.ts +16 -0
  202. package/dist/listgrid/components/fields/view/XrefMappingView.js +173 -0
  203. package/dist/listgrid/components/fields/view/XrefPiceMappingView.d.ts +19 -0
  204. package/dist/listgrid/components/fields/view/XrefPiceMappingView.js +319 -0
  205. package/dist/listgrid/components/fields/view/XrefPreferMappingView.d.ts +19 -0
  206. package/dist/listgrid/components/fields/view/XrefPreferMappingView.js +261 -0
  207. package/dist/listgrid/components/fields/view/XrefPriorityMappingView.d.ts +19 -0
  208. package/dist/listgrid/components/fields/view/XrefPriorityMappingView.js +180 -0
  209. package/dist/listgrid/components/form/FieldRenderer.d.ts +23 -0
  210. package/dist/listgrid/components/form/FieldRenderer.js +292 -0
  211. package/dist/listgrid/components/form/SubCollectionRenderer.d.ts +22 -0
  212. package/dist/listgrid/components/form/SubCollectionRenderer.js +46 -0
  213. package/dist/listgrid/components/form/ViewEntityForm.d.ts +14 -0
  214. package/dist/listgrid/components/form/ViewEntityForm.js +124 -0
  215. package/dist/listgrid/components/form/ViewFieldGroup.d.ts +27 -0
  216. package/dist/listgrid/components/form/ViewFieldGroup.js +164 -0
  217. package/dist/listgrid/components/form/ViewTab.d.ts +24 -0
  218. package/dist/listgrid/components/form/ViewTab.js +68 -0
  219. package/dist/listgrid/components/form/ViewTabPanel.d.ts +14 -0
  220. package/dist/listgrid/components/form/ViewTabPanel.js +32 -0
  221. package/dist/listgrid/components/form/context/EntityFormThemeContext.d.ts +52 -0
  222. package/dist/listgrid/components/form/context/EntityFormThemeContext.js +129 -0
  223. package/dist/listgrid/components/form/context/index.d.ts +1 -0
  224. package/dist/listgrid/components/form/context/index.js +1 -0
  225. package/dist/listgrid/components/form/hooks/useAlertManager.d.ts +12 -0
  226. package/dist/listgrid/components/form/hooks/useAlertManager.js +103 -0
  227. package/dist/listgrid/components/form/hooks/useEntityFormAutoSave.d.ts +23 -0
  228. package/dist/listgrid/components/form/hooks/useEntityFormAutoSave.js +145 -0
  229. package/dist/listgrid/components/form/hooks/useEntityFormInitializer.d.ts +24 -0
  230. package/dist/listgrid/components/form/hooks/useEntityFormInitializer.js +109 -0
  231. package/dist/listgrid/components/form/hooks/useEntityFormLogic.d.ts +63 -0
  232. package/dist/listgrid/components/form/hooks/useEntityFormLogic.js +513 -0
  233. package/dist/listgrid/components/form/hooks/useEntityFormSave.d.ts +28 -0
  234. package/dist/listgrid/components/form/hooks/useEntityFormSave.js +89 -0
  235. package/dist/listgrid/components/form/hooks/useEntityFormTitle.d.ts +12 -0
  236. package/dist/listgrid/components/form/hooks/useEntityFormTitle.js +53 -0
  237. package/dist/listgrid/components/form/themes/defaultTheme.d.ts +11 -0
  238. package/dist/listgrid/components/form/themes/defaultTheme.js +129 -0
  239. package/dist/listgrid/components/form/themes/index.d.ts +1 -0
  240. package/dist/listgrid/components/form/themes/index.js +1 -0
  241. package/dist/listgrid/components/form/types/ViewEntityForm.types.d.ts +169 -0
  242. package/dist/listgrid/components/form/types/ViewEntityForm.types.js +1 -0
  243. package/dist/listgrid/components/form/types/ViewEntityFormAlerts.types.d.ts +26 -0
  244. package/dist/listgrid/components/form/types/ViewEntityFormAlerts.types.js +1 -0
  245. package/dist/listgrid/components/form/types/ViewEntityFormButtons.types.d.ts +49 -0
  246. package/dist/listgrid/components/form/types/ViewEntityFormButtons.types.js +1 -0
  247. package/dist/listgrid/components/form/types/ViewEntityFormTheme.types.d.ts +518 -0
  248. package/dist/listgrid/components/form/types/ViewEntityFormTheme.types.js +1 -0
  249. package/dist/listgrid/components/form/ui/AlertItem.d.ts +7 -0
  250. package/dist/listgrid/components/form/ui/AlertItem.js +18 -0
  251. package/dist/listgrid/components/form/ui/CreateStepButtons.d.ts +25 -0
  252. package/dist/listgrid/components/form/ui/CreateStepButtons.js +18 -0
  253. package/dist/listgrid/components/form/ui/CreateStepView.d.ts +39 -0
  254. package/dist/listgrid/components/form/ui/CreateStepView.js +50 -0
  255. package/dist/listgrid/components/form/ui/ViewEntityError.d.ts +13 -0
  256. package/dist/listgrid/components/form/ui/ViewEntityError.js +90 -0
  257. package/dist/listgrid/components/form/ui/ViewEntityFormAlerts.d.ts +3 -0
  258. package/dist/listgrid/components/form/ui/ViewEntityFormAlerts.js +24 -0
  259. package/dist/listgrid/components/form/ui/ViewEntityFormButtons.d.ts +24 -0
  260. package/dist/listgrid/components/form/ui/ViewEntityFormButtons.js +208 -0
  261. package/dist/listgrid/components/form/ui/ViewEntityFormErrors.d.ts +25 -0
  262. package/dist/listgrid/components/form/ui/ViewEntityFormErrors.js +9 -0
  263. package/dist/listgrid/components/form/ui/ViewEntityFormFields.d.ts +38 -0
  264. package/dist/listgrid/components/form/ui/ViewEntityFormFields.js +25 -0
  265. package/dist/listgrid/components/form/ui/ViewEntityFormSkeleton.d.ts +16 -0
  266. package/dist/listgrid/components/form/ui/ViewEntityFormSkeleton.js +79 -0
  267. package/dist/listgrid/components/form/ui/ViewEntityFormTitle.d.ts +15 -0
  268. package/dist/listgrid/components/form/ui/ViewEntityFormTitle.js +21 -0
  269. package/dist/listgrid/components/form/ui/ViewFieldError.d.ts +5 -0
  270. package/dist/listgrid/components/form/ui/ViewFieldError.js +12 -0
  271. package/dist/listgrid/components/form/ui/ViewHelpIcon.d.ts +5 -0
  272. package/dist/listgrid/components/form/ui/ViewHelpIcon.js +13 -0
  273. package/dist/listgrid/components/form/ui/ViewHelpText.d.ts +5 -0
  274. package/dist/listgrid/components/form/ui/ViewHelpText.js +10 -0
  275. package/dist/listgrid/components/form/ui/buttons/ClosePopupButton.d.ts +8 -0
  276. package/dist/listgrid/components/form/ui/buttons/ClosePopupButton.js +32 -0
  277. package/dist/listgrid/components/form/ui/buttons/DeleteButton.d.ts +2 -0
  278. package/dist/listgrid/components/form/ui/buttons/DeleteButton.js +101 -0
  279. package/dist/listgrid/components/form/ui/buttons/ListButton.d.ts +2 -0
  280. package/dist/listgrid/components/form/ui/buttons/ListButton.js +55 -0
  281. package/dist/listgrid/components/form/ui/buttons/SaveButton.d.ts +2 -0
  282. package/dist/listgrid/components/form/ui/buttons/SaveButton.js +55 -0
  283. package/dist/listgrid/components/helper/FieldRendererHelper.d.ts +23 -0
  284. package/dist/listgrid/components/helper/FieldRendererHelper.js +27 -0
  285. package/dist/listgrid/components/helper/ShowNotifications.d.ts +13 -0
  286. package/dist/listgrid/components/helper/ShowNotifications.js +58 -0
  287. package/dist/listgrid/components/list/AdvancedSearchForm.d.ts +17 -0
  288. package/dist/listgrid/components/list/AdvancedSearchForm.js +113 -0
  289. package/dist/listgrid/components/list/AdvancedSearchFormV2.d.ts +19 -0
  290. package/dist/listgrid/components/list/AdvancedSearchFormV2.js +347 -0
  291. package/dist/listgrid/components/list/ListGridHeader.d.ts +2 -0
  292. package/dist/listgrid/components/list/ListGridHeader.js +21 -0
  293. package/dist/listgrid/components/list/QuickSearchBar.d.ts +22 -0
  294. package/dist/listgrid/components/list/QuickSearchBar.js +17 -0
  295. package/dist/listgrid/components/list/RowItem.d.ts +2 -0
  296. package/dist/listgrid/components/list/RowItem.js +70 -0
  297. package/dist/listgrid/components/list/SubCollectionButtons.d.ts +2 -0
  298. package/dist/listgrid/components/list/SubCollectionButtons.js +36 -0
  299. package/dist/listgrid/components/list/ViewFieldSelector.d.ts +10 -0
  300. package/dist/listgrid/components/list/ViewFieldSelector.js +48 -0
  301. package/dist/listgrid/components/list/ViewListGrid.d.ts +2 -0
  302. package/dist/listgrid/components/list/ViewListGrid.js +359 -0
  303. package/dist/listgrid/components/list/context/EntityFormScopeContext.d.ts +39 -0
  304. package/dist/listgrid/components/list/context/EntityFormScopeContext.js +75 -0
  305. package/dist/listgrid/components/list/context/ListGridThemeContext.d.ts +70 -0
  306. package/dist/listgrid/components/list/context/ListGridThemeContext.js +157 -0
  307. package/dist/listgrid/components/list/context/index.d.ts +2 -0
  308. package/dist/listgrid/components/list/context/index.js +1 -0
  309. package/dist/listgrid/components/list/hooks/searchFormUrlSync.d.ts +42 -0
  310. package/dist/listgrid/components/list/hooks/searchFormUrlSync.js +212 -0
  311. package/dist/listgrid/components/list/hooks/urlStateParsers.d.ts +63 -0
  312. package/dist/listgrid/components/list/hooks/urlStateParsers.js +241 -0
  313. package/dist/listgrid/components/list/hooks/useCardSubCollectionData.d.ts +34 -0
  314. package/dist/listgrid/components/list/hooks/useCardSubCollectionData.js +181 -0
  315. package/dist/listgrid/components/list/hooks/useListGridHeader.d.ts +6 -0
  316. package/dist/listgrid/components/list/hooks/useListGridHeader.js +92 -0
  317. package/dist/listgrid/components/list/hooks/useListGridLogic.d.ts +2 -0
  318. package/dist/listgrid/components/list/hooks/useListGridLogic.js +625 -0
  319. package/dist/listgrid/components/list/hooks/useListGridUrlState.d.ts +45 -0
  320. package/dist/listgrid/components/list/hooks/useListGridUrlState.js +131 -0
  321. package/dist/listgrid/components/list/hooks/useQuickSearchBar.d.ts +22 -0
  322. package/dist/listgrid/components/list/hooks/useQuickSearchBar.js +104 -0
  323. package/dist/listgrid/components/list/hooks/useSubCollectionExpansion.d.ts +21 -0
  324. package/dist/listgrid/components/list/hooks/useSubCollectionExpansion.js +62 -0
  325. package/dist/listgrid/components/list/themes/defaultListGridTheme.d.ts +14 -0
  326. package/dist/listgrid/components/list/themes/defaultListGridTheme.js +169 -0
  327. package/dist/listgrid/components/list/themes/index.d.ts +4 -0
  328. package/dist/listgrid/components/list/themes/index.js +4 -0
  329. package/dist/listgrid/components/list/themes/variants/mainTheme.d.ts +8 -0
  330. package/dist/listgrid/components/list/themes/variants/mainTheme.js +37 -0
  331. package/dist/listgrid/components/list/themes/variants/modalTheme.d.ts +8 -0
  332. package/dist/listgrid/components/list/themes/variants/modalTheme.js +47 -0
  333. package/dist/listgrid/components/list/themes/variants/subCollectionTheme.d.ts +8 -0
  334. package/dist/listgrid/components/list/themes/variants/subCollectionTheme.js +101 -0
  335. package/dist/listgrid/components/list/types/ListGridHeader.types.d.ts +35 -0
  336. package/dist/listgrid/components/list/types/ListGridHeader.types.js +3 -0
  337. package/dist/listgrid/components/list/types/RowItem.types.d.ts +57 -0
  338. package/dist/listgrid/components/list/types/RowItem.types.js +1 -0
  339. package/dist/listgrid/components/list/types/SubCollectionButtons.type.d.ts +29 -0
  340. package/dist/listgrid/components/list/types/SubCollectionButtons.type.js +1 -0
  341. package/dist/listgrid/components/list/types/ViewListGrid.types.d.ts +152 -0
  342. package/dist/listgrid/components/list/types/ViewListGrid.types.js +2 -0
  343. package/dist/listgrid/components/list/types/ViewListGridTheme.types.d.ts +374 -0
  344. package/dist/listgrid/components/list/types/ViewListGridTheme.types.js +1 -0
  345. package/dist/listgrid/components/list/ui/CardFieldRenderer.d.ts +31 -0
  346. package/dist/listgrid/components/list/ui/CardFieldRenderer.js +71 -0
  347. package/dist/listgrid/components/list/ui/CardFieldSection.d.ts +27 -0
  348. package/dist/listgrid/components/list/ui/CardFieldSection.js +108 -0
  349. package/dist/listgrid/components/list/ui/CardItem.d.ts +28 -0
  350. package/dist/listgrid/components/list/ui/CardItem.js +376 -0
  351. package/dist/listgrid/components/list/ui/CardSubCollectionModal.d.ts +38 -0
  352. package/dist/listgrid/components/list/ui/CardSubCollectionModal.js +80 -0
  353. package/dist/listgrid/components/list/ui/CardSubCollectionView.d.ts +44 -0
  354. package/dist/listgrid/components/list/ui/CardSubCollectionView.js +238 -0
  355. package/dist/listgrid/components/list/ui/DataTransferModal.d.ts +12 -0
  356. package/dist/listgrid/components/list/ui/DataTransferModal.js +10 -0
  357. package/dist/listgrid/components/list/ui/EntireChecker.d.ts +11 -0
  358. package/dist/listgrid/components/list/ui/EntireChecker.js +46 -0
  359. package/dist/listgrid/components/list/ui/FieldSelector.d.ts +11 -0
  360. package/dist/listgrid/components/list/ui/FieldSelector.js +40 -0
  361. package/dist/listgrid/components/list/ui/FilterButton.d.ts +7 -0
  362. package/dist/listgrid/components/list/ui/FilterButton.js +5 -0
  363. package/dist/listgrid/components/list/ui/FilterDropdown.d.ts +15 -0
  364. package/dist/listgrid/components/list/ui/FilterDropdown.js +106 -0
  365. package/dist/listgrid/components/list/ui/FilterView.d.ts +12 -0
  366. package/dist/listgrid/components/list/ui/FilterView.js +22 -0
  367. package/dist/listgrid/components/list/ui/HeaderActionButtons.d.ts +10 -0
  368. package/dist/listgrid/components/list/ui/HeaderActionButtons.js +39 -0
  369. package/dist/listgrid/components/list/ui/HeaderField.d.ts +19 -0
  370. package/dist/listgrid/components/list/ui/HeaderField.js +32 -0
  371. package/dist/listgrid/components/list/ui/HeaderFieldFilter.d.ts +14 -0
  372. package/dist/listgrid/components/list/ui/HeaderFieldFilter.js +166 -0
  373. package/dist/listgrid/components/list/ui/HeaderTitle.d.ts +4 -0
  374. package/dist/listgrid/components/list/ui/HeaderTitle.js +13 -0
  375. package/dist/listgrid/components/list/ui/InlineSubCollectionView.d.ts +30 -0
  376. package/dist/listgrid/components/list/ui/InlineSubCollectionView.js +260 -0
  377. package/dist/listgrid/components/list/ui/MemoizedFilterField.d.ts +14 -0
  378. package/dist/listgrid/components/list/ui/MemoizedFilterField.js +67 -0
  379. package/dist/listgrid/components/list/ui/QuickSearchInput.d.ts +9 -0
  380. package/dist/listgrid/components/list/ui/QuickSearchInput.js +17 -0
  381. package/dist/listgrid/components/list/ui/SearchBarActions.d.ts +19 -0
  382. package/dist/listgrid/components/list/ui/SearchBarActions.js +39 -0
  383. package/dist/listgrid/components/list/ui/SortField.d.ts +8 -0
  384. package/dist/listgrid/components/list/ui/SortField.js +42 -0
  385. package/dist/listgrid/components/list/ui/SubCollectionInlineView.d.ts +23 -0
  386. package/dist/listgrid/components/list/ui/SubCollectionInlineView.js +47 -0
  387. package/dist/listgrid/components/list/ui/SubCollectionModal.d.ts +15 -0
  388. package/dist/listgrid/components/list/ui/SubCollectionModal.js +34 -0
  389. package/dist/listgrid/components/list/ui/SubCollectionViewModal.d.ts +13 -0
  390. package/dist/listgrid/components/list/ui/SubCollectionViewModal.js +33 -0
  391. package/dist/listgrid/components/list/ui/SyncTopScrollbar.d.ts +18 -0
  392. package/dist/listgrid/components/list/ui/SyncTopScrollbar.js +91 -0
  393. package/dist/listgrid/components/list/ui/TableSubCollectionView.d.ts +25 -0
  394. package/dist/listgrid/components/list/ui/TableSubCollectionView.js +213 -0
  395. package/dist/listgrid/components/list/ui/ViewColumn.d.ts +2 -0
  396. package/dist/listgrid/components/list/ui/ViewColumn.js +56 -0
  397. package/dist/listgrid/components/list/ui/ViewListGridSkeleton.d.ts +20 -0
  398. package/dist/listgrid/components/list/ui/ViewListGridSkeleton.js +82 -0
  399. package/dist/listgrid/components/list/ui/ViewRows.d.ts +15 -0
  400. package/dist/listgrid/components/list/ui/ViewRows.js +283 -0
  401. package/dist/listgrid/components/list/ui/buttons/CacheClearButton.d.ts +9 -0
  402. package/dist/listgrid/components/list/ui/buttons/CacheClearButton.js +35 -0
  403. package/dist/listgrid/components/list/ui/buttons/CreateButton.d.ts +13 -0
  404. package/dist/listgrid/components/list/ui/buttons/CreateButton.js +13 -0
  405. package/dist/listgrid/components/list/ui/buttons/PriorityButton.d.ts +11 -0
  406. package/dist/listgrid/components/list/ui/buttons/PriorityButton.js +49 -0
  407. package/dist/listgrid/components/list/ui/headerFilterStore.d.ts +8 -0
  408. package/dist/listgrid/components/list/ui/headerFilterStore.js +13 -0
  409. package/dist/listgrid/components/list/utils/mappedByFieldFilter.d.ts +21 -0
  410. package/dist/listgrid/components/list/utils/mappedByFieldFilter.js +54 -0
  411. package/dist/listgrid/components/list/utils/performanceLogger.d.ts +48 -0
  412. package/dist/listgrid/components/list/utils/performanceLogger.js +67 -0
  413. package/dist/listgrid/components/revision/RevisionField.d.ts +13 -0
  414. package/dist/listgrid/components/revision/RevisionField.js +194 -0
  415. package/dist/listgrid/config/AdvancedSearchOpenCache.d.ts +3 -0
  416. package/dist/listgrid/config/AdvancedSearchOpenCache.js +48 -0
  417. package/dist/listgrid/config/CardSubCollectionField.d.ts +133 -0
  418. package/dist/listgrid/config/CardSubCollectionField.js +164 -0
  419. package/dist/listgrid/config/CommonType.d.ts +4 -0
  420. package/dist/listgrid/config/CommonType.js +15 -0
  421. package/dist/listgrid/config/Config.d.ts +251 -0
  422. package/dist/listgrid/config/Config.js +299 -0
  423. package/dist/listgrid/config/EntityField.d.ts +148 -0
  424. package/dist/listgrid/config/EntityField.js +1 -0
  425. package/dist/listgrid/config/EntityFieldGroup.d.ts +37 -0
  426. package/dist/listgrid/config/EntityFieldGroup.js +55 -0
  427. package/dist/listgrid/config/EntityForm.d.ts +101 -0
  428. package/dist/listgrid/config/EntityForm.js +859 -0
  429. package/dist/listgrid/config/EntityFormButton.d.ts +56 -0
  430. package/dist/listgrid/config/EntityFormButton.js +42 -0
  431. package/dist/listgrid/config/EntityFormMethod.d.ts +32 -0
  432. package/dist/listgrid/config/EntityFormMethod.js +152 -0
  433. package/dist/listgrid/config/EntityFormTypes.d.ts +62 -0
  434. package/dist/listgrid/config/EntityFormTypes.js +1 -0
  435. package/dist/listgrid/config/EntityItem.d.ts +86 -0
  436. package/dist/listgrid/config/EntityItem.js +1 -0
  437. package/dist/listgrid/config/EntityTab.d.ts +26 -0
  438. package/dist/listgrid/config/EntityTab.js +68 -0
  439. package/dist/listgrid/config/InlineSubCollectionField.d.ts +184 -0
  440. package/dist/listgrid/config/InlineSubCollectionField.js +194 -0
  441. package/dist/listgrid/config/ListGrid.d.ts +56 -0
  442. package/dist/listgrid/config/ListGrid.js +183 -0
  443. package/dist/listgrid/config/ListGridViewFieldCache.d.ts +3 -0
  444. package/dist/listgrid/config/ListGridViewFieldCache.js +53 -0
  445. package/dist/listgrid/config/OnChangeEntityForm.d.ts +43 -0
  446. package/dist/listgrid/config/OnChangeEntityForm.js +266 -0
  447. package/dist/listgrid/config/RuntimeConfig.d.ts +18 -0
  448. package/dist/listgrid/config/RuntimeConfig.js +22 -0
  449. package/dist/listgrid/config/SubCollectionField.d.ts +119 -0
  450. package/dist/listgrid/config/SubCollectionField.js +241 -0
  451. package/dist/listgrid/config/TableSubCollectionField.d.ts +66 -0
  452. package/dist/listgrid/config/TableSubCollectionField.js +132 -0
  453. package/dist/listgrid/config/form/EntityFormActions.d.ts +69 -0
  454. package/dist/listgrid/config/form/EntityFormActions.js +459 -0
  455. package/dist/listgrid/config/form/EntityFormBase.d.ts +204 -0
  456. package/dist/listgrid/config/form/EntityFormBase.js +526 -0
  457. package/dist/listgrid/config/form/EntityFormData.d.ts +32 -0
  458. package/dist/listgrid/config/form/EntityFormData.js +184 -0
  459. package/dist/listgrid/config/form/EntityFormExtensions.d.ts +37 -0
  460. package/dist/listgrid/config/form/EntityFormExtensions.js +105 -0
  461. package/dist/listgrid/config/form/EntityFormValidation.d.ts +28 -0
  462. package/dist/listgrid/config/form/EntityFormValidation.js +128 -0
  463. package/dist/listgrid/extensions/EntityFormExtension.types.d.ts +52 -0
  464. package/dist/listgrid/extensions/EntityFormExtension.types.js +19 -0
  465. package/dist/listgrid/extensions/FieldExtensions.d.ts +5 -0
  466. package/dist/listgrid/extensions/FieldExtensions.js +21 -0
  467. package/dist/listgrid/form/SearchForm.d.ts +153 -0
  468. package/dist/listgrid/form/SearchForm.js +689 -0
  469. package/dist/listgrid/form/TagsInput/types.d.ts +133 -0
  470. package/dist/listgrid/form/TagsInput/types.js +1 -0
  471. package/dist/listgrid/form/Type.d.ts +50 -0
  472. package/dist/listgrid/form/Type.js +95 -0
  473. package/dist/listgrid/index.d.ts +205 -0
  474. package/dist/listgrid/index.js +244 -0
  475. package/dist/listgrid/loading/index.d.ts +6 -0
  476. package/dist/listgrid/loading/index.js +17 -0
  477. package/dist/listgrid/menu/MenuPermissionChecker.d.ts +15 -0
  478. package/dist/listgrid/menu/MenuPermissionChecker.js +15 -0
  479. package/dist/listgrid/menu/index.d.ts +1 -0
  480. package/dist/listgrid/menu/index.js +1 -0
  481. package/dist/listgrid/message/MessageProvider.d.ts +19 -0
  482. package/dist/listgrid/message/MessageProvider.js +62 -0
  483. package/dist/listgrid/message/index.d.ts +1 -0
  484. package/dist/listgrid/message/index.js +1 -0
  485. package/dist/listgrid/misc/index.d.ts +64 -0
  486. package/dist/listgrid/misc/index.js +478 -0
  487. package/dist/listgrid/router/RouterProvider.d.ts +12 -0
  488. package/dist/listgrid/router/RouterProvider.js +34 -0
  489. package/dist/listgrid/router/index.d.ts +3 -0
  490. package/dist/listgrid/router/index.js +1 -0
  491. package/dist/listgrid/router/types.d.ts +34 -0
  492. package/dist/listgrid/router/types.js +6 -0
  493. package/dist/listgrid/store/index.d.ts +24 -0
  494. package/dist/listgrid/store/index.js +40 -0
  495. package/dist/listgrid/transfer/DataExportProcessor.d.ts +18 -0
  496. package/dist/listgrid/transfer/DataExportProcessor.js +102 -0
  497. package/dist/listgrid/transfer/DataExportService.d.ts +37 -0
  498. package/dist/listgrid/transfer/DataExportService.js +225 -0
  499. package/dist/listgrid/transfer/DataExporter.d.ts +10 -0
  500. package/dist/listgrid/transfer/DataExporter.js +85 -0
  501. package/dist/listgrid/transfer/DataImportDescription.d.ts +8 -0
  502. package/dist/listgrid/transfer/DataImportDescription.js +18 -0
  503. package/dist/listgrid/transfer/DataImportProcessor.d.ts +24 -0
  504. package/dist/listgrid/transfer/DataImportProcessor.js +59 -0
  505. package/dist/listgrid/transfer/DataImportResultView.d.ts +13 -0
  506. package/dist/listgrid/transfer/DataImportResultView.js +64 -0
  507. package/dist/listgrid/transfer/DataImportSample.d.ts +10 -0
  508. package/dist/listgrid/transfer/DataImportSample.js +105 -0
  509. package/dist/listgrid/transfer/DataImporter.d.ts +8 -0
  510. package/dist/listgrid/transfer/DataImporter.js +335 -0
  511. package/dist/listgrid/transfer/DynamicDataImporter.d.ts +4 -0
  512. package/dist/listgrid/transfer/DynamicDataImporter.js +13 -0
  513. package/dist/listgrid/transfer/ExcelPasswordField.d.ts +9 -0
  514. package/dist/listgrid/transfer/ExcelPasswordField.js +23 -0
  515. package/dist/listgrid/transfer/Provider/ExcelProvider.d.ts +24 -0
  516. package/dist/listgrid/transfer/Provider/ExcelProvider.js +194 -0
  517. package/dist/listgrid/transfer/Type.d.ts +176 -0
  518. package/dist/listgrid/transfer/Type.js +568 -0
  519. package/dist/listgrid/ui/GlobalModalManager.d.ts +22 -0
  520. package/dist/listgrid/ui/GlobalModalManager.js +65 -0
  521. package/dist/listgrid/ui/UIProvider.d.ts +151 -0
  522. package/dist/listgrid/ui/UIProvider.js +292 -0
  523. package/dist/listgrid/ui/index.d.ts +2 -0
  524. package/dist/listgrid/ui/index.js +2 -0
  525. package/dist/listgrid/urlState/UrlStateProvider.d.ts +8 -0
  526. package/dist/listgrid/urlState/UrlStateProvider.js +20 -0
  527. package/dist/listgrid/urlState/index.d.ts +4 -0
  528. package/dist/listgrid/urlState/index.js +2 -0
  529. package/dist/listgrid/urlState/types.d.ts +21 -0
  530. package/dist/listgrid/urlState/types.js +14 -0
  531. package/dist/listgrid/utils/BooleanUtil.d.ts +1 -0
  532. package/dist/listgrid/utils/BooleanUtil.js +9 -0
  533. package/dist/listgrid/utils/CompareUtil.d.ts +7 -0
  534. package/dist/listgrid/utils/CompareUtil.js +87 -0
  535. package/dist/listgrid/utils/PhoneUtil.d.ts +19 -0
  536. package/dist/listgrid/utils/PhoneUtil.js +38 -0
  537. package/dist/listgrid/utils/RequestUtil.d.ts +6 -0
  538. package/dist/listgrid/utils/RequestUtil.js +6 -0
  539. package/dist/listgrid/utils/StringUtil.d.ts +32 -0
  540. package/dist/listgrid/utils/StringUtil.js +316 -0
  541. package/dist/listgrid/utils/classNames.d.ts +21 -0
  542. package/dist/listgrid/utils/classNames.js +29 -0
  543. package/dist/listgrid/utils/cn.d.ts +12 -0
  544. package/dist/listgrid/utils/cn.js +15 -0
  545. package/dist/listgrid/utils/hash.d.ts +1 -0
  546. package/dist/listgrid/utils/hash.js +15 -0
  547. package/dist/listgrid/utils/i18n.d.ts +16 -0
  548. package/dist/listgrid/utils/i18n.js +31 -0
  549. package/dist/listgrid/utils/index.d.ts +10 -0
  550. package/dist/listgrid/utils/index.js +17 -0
  551. package/dist/listgrid/utils/jsonUtils.d.ts +4 -0
  552. package/dist/listgrid/utils/jsonUtils.js +77 -0
  553. package/dist/listgrid/utils/lazy.d.ts +10 -0
  554. package/dist/listgrid/utils/lazy.js +13 -0
  555. package/dist/listgrid/utils/simpleCrypt.d.ts +4 -0
  556. package/dist/listgrid/utils/simpleCrypt.js +79 -0
  557. package/dist/listgrid/validations/CustomValidation.d.ts +8 -0
  558. package/dist/listgrid/validations/CustomValidation.js +10 -0
  559. package/dist/listgrid/validations/EmailValidation.d.ts +4 -0
  560. package/dist/listgrid/validations/EmailValidation.js +7 -0
  561. package/dist/listgrid/validations/IpAddressValidation.d.ts +26 -0
  562. package/dist/listgrid/validations/IpAddressValidation.js +57 -0
  563. package/dist/listgrid/validations/MinMaxNumberValidation.d.ts +14 -0
  564. package/dist/listgrid/validations/MinMaxNumberValidation.js +28 -0
  565. package/dist/listgrid/validations/PasswordValidation.d.ts +4 -0
  566. package/dist/listgrid/validations/PasswordValidation.js +7 -0
  567. package/dist/listgrid/validations/PhoneNumberValidation.d.ts +12 -0
  568. package/dist/listgrid/validations/PhoneNumberValidation.js +24 -0
  569. package/dist/listgrid/validations/RegexFormularValidation.d.ts +7 -0
  570. package/dist/listgrid/validations/RegexFormularValidation.js +28 -0
  571. package/dist/listgrid/validations/RegexValidation.d.ts +8 -0
  572. package/dist/listgrid/validations/RegexValidation.js +17 -0
  573. package/dist/listgrid/validations/RequiredValidation.d.ts +7 -0
  574. package/dist/listgrid/validations/RequiredValidation.js +12 -0
  575. package/dist/listgrid/validations/StringValidation.d.ts +17 -0
  576. package/dist/listgrid/validations/StringValidation.js +33 -0
  577. package/dist/listgrid/validations/TelephoneNumberValidation.d.ts +12 -0
  578. package/dist/listgrid/validations/TelephoneNumberValidation.js +24 -0
  579. package/dist/listgrid/validations/Validation.d.ts +63 -0
  580. package/dist/listgrid/validations/Validation.js +72 -0
  581. package/dist/listgrid/view/ViewEntityFormWrapper.d.ts +16 -0
  582. package/dist/listgrid/view/ViewEntityFormWrapper.js +98 -0
  583. package/dist/listgrid/view/ViewListGridWrapper.d.ts +10 -0
  584. package/dist/listgrid/view/ViewListGridWrapper.js +96 -0
  585. package/dist/styles/base.css +116 -0
  586. package/dist/styles/components.css +1404 -0
  587. package/dist/styles/layouts.css +3206 -0
  588. package/dist/styles/primitives.css +1542 -0
  589. package/dist/styles/tokens.css +218 -0
  590. package/dist/styles.css +6486 -0
  591. package/docs/PRIMITIVES.md +271 -0
  592. package/package.json +201 -0
@@ -0,0 +1,21 @@
1
+ import { ListableFormField } from '../../fields/abstract';
2
+ export interface MappedByFieldFilterOptions {
3
+ mappedBy: string;
4
+ includePatterns?: string[];
5
+ excludePatterns?: string[];
6
+ }
7
+ /**
8
+ * Filters out mappedBy related fields from a field array.
9
+ *
10
+ * For example, if mappedBy is "studentId":
11
+ * - "studentId" is filtered out
12
+ * - "student" is filtered out (base field without Id suffix)
13
+ * - "student.name", "student.id" etc. are filtered out (nested patterns)
14
+ *
15
+ * Unless they are explicitly included in includePatterns.
16
+ *
17
+ * @param fields The list of fields to filter
18
+ * @param options Filter options including mappedBy and optional include/exclude patterns
19
+ * @returns Filtered field array
20
+ */
21
+ export declare function filterMappedByFields(fields: ListableFormField<any>[], options: MappedByFieldFilterOptions): ListableFormField<any>[];
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Filters out mappedBy related fields from a field array.
3
+ *
4
+ * For example, if mappedBy is "studentId":
5
+ * - "studentId" is filtered out
6
+ * - "student" is filtered out (base field without Id suffix)
7
+ * - "student.name", "student.id" etc. are filtered out (nested patterns)
8
+ *
9
+ * Unless they are explicitly included in includePatterns.
10
+ *
11
+ * @param fields The list of fields to filter
12
+ * @param options Filter options including mappedBy and optional include/exclude patterns
13
+ * @returns Filtered field array
14
+ */
15
+ export function filterMappedByFields(fields, options) {
16
+ const { mappedBy, includePatterns = [], excludePatterns = [] } = options;
17
+ // Generate patterns to exclude
18
+ const patternsToExclude = new Set();
19
+ // 1. Exact mappedBy field (e.g., "studentId")
20
+ patternsToExclude.add(mappedBy);
21
+ // 2. Base field without Id/.id suffix
22
+ // Handle "studentId" format (camelCase Id suffix)
23
+ // Handle "enrollment.student.id" format (dot notation .id suffix)
24
+ let baseField = mappedBy;
25
+ if (mappedBy.endsWith('Id')) {
26
+ baseField = mappedBy.slice(0, -2);
27
+ }
28
+ else if (mappedBy.endsWith('.id')) {
29
+ baseField = mappedBy.slice(0, -3);
30
+ }
31
+ patternsToExclude.add(baseField);
32
+ // 3. Nested pattern (e.g., "student.*" from "studentId" or "enrollment.student.*" from "enrollment.student.id")
33
+ const nestedPattern = `${baseField}.`;
34
+ // 4. Add additional excludePatterns
35
+ excludePatterns.forEach((pattern) => patternsToExclude.add(pattern));
36
+ // Filter fields
37
+ return fields.filter((field) => {
38
+ const fieldName = field.name;
39
+ // Check if field is explicitly included
40
+ if (includePatterns.includes(fieldName)) {
41
+ return true;
42
+ }
43
+ // Check if field should be excluded
44
+ // Exact match
45
+ if (patternsToExclude.has(fieldName)) {
46
+ return false;
47
+ }
48
+ // Nested pattern match (field starts with baseField.)
49
+ if (fieldName.startsWith(nestedPattern)) {
50
+ return false;
51
+ }
52
+ return true;
53
+ });
54
+ }
@@ -0,0 +1,48 @@
1
+ /**
2
+ * ListGrid Performance Logger
3
+ *
4
+ * Enable/disable via environment variable:
5
+ * NEXT_PUBLIC_DEBUG_LISTGRID_PERFORMANCE=true (or false)
6
+ *
7
+ * To remove all performance logging:
8
+ * 1. Delete this file
9
+ * 2. Remove imports and usage from ViewListGrid.tsx and useListGridLogic.ts
10
+ */
11
+ export declare const perfLog: {
12
+ mounted: (duration: number, context: {
13
+ entityUrl?: string;
14
+ isSubCollection?: boolean;
15
+ }) => void;
16
+ unmounted: (context: {
17
+ entityUrl?: string;
18
+ }) => void;
19
+ rowsRendered: (context: {
20
+ entityUrl?: string;
21
+ rowCount: number;
22
+ totalCount?: number;
23
+ timeSinceMount: string;
24
+ }) => void;
25
+ loadingStarted: (context: {
26
+ entityUrl?: string;
27
+ }) => void;
28
+ loadingCompleted: (duration: number, context: {
29
+ entityUrl?: string;
30
+ rowCount: number;
31
+ totalCount?: number;
32
+ }) => void;
33
+ apiStarted: (context: {
34
+ entityUrl?: string;
35
+ page?: number;
36
+ pageSize?: number;
37
+ }) => void;
38
+ apiCompleted: (duration: number, context: {
39
+ entityUrl?: string;
40
+ rowCount: number;
41
+ totalCount?: number;
42
+ page?: number;
43
+ }) => void;
44
+ apiError: (duration: number, context: {
45
+ entityUrl?: string;
46
+ errors: string[];
47
+ }) => void;
48
+ };
@@ -0,0 +1,67 @@
1
+ /**
2
+ * ListGrid Performance Logger
3
+ *
4
+ * Enable/disable via environment variable:
5
+ * NEXT_PUBLIC_DEBUG_LISTGRID_PERFORMANCE=true (or false)
6
+ *
7
+ * To remove all performance logging:
8
+ * 1. Delete this file
9
+ * 2. Remove imports and usage from ViewListGrid.tsx and useListGridLogic.ts
10
+ */
11
+ import { getRuntimeConfig } from '../../../config/RuntimeConfig';
12
+ const isEnabled = () => {
13
+ if (typeof window === 'undefined')
14
+ return false;
15
+ const cfg = getRuntimeConfig();
16
+ if (cfg.debugListGridPerformance === false)
17
+ return false;
18
+ if (cfg.debugListGridPerformance === true)
19
+ return true;
20
+ return cfg.isDevelopment;
21
+ };
22
+ const PREFIX = '[ListGrid Performance]';
23
+ export const perfLog = {
24
+ // ==================== Component Lifecycle ====================
25
+ mounted: (duration, context) => {
26
+ if (!isEnabled())
27
+ return;
28
+ console.log(`${PREFIX} [Component] Mounted in ${duration.toFixed(2)}ms`, context);
29
+ },
30
+ unmounted: (context) => {
31
+ if (!isEnabled())
32
+ return;
33
+ console.log(`${PREFIX} [Component] Unmounted`, context);
34
+ },
35
+ rowsRendered: (context) => {
36
+ if (!isEnabled())
37
+ return;
38
+ console.log(`${PREFIX} [Component] Rows rendered`, context);
39
+ },
40
+ // ==================== Data Loading (React State) ====================
41
+ loadingStarted: (context) => {
42
+ if (!isEnabled())
43
+ return;
44
+ console.log(`${PREFIX} [State] Loading started`, context);
45
+ },
46
+ loadingCompleted: (duration, context) => {
47
+ if (!isEnabled())
48
+ return;
49
+ console.log(`${PREFIX} [State] Loading completed in ${duration.toFixed(2)}ms`, context);
50
+ },
51
+ // ==================== API Call (Network) ====================
52
+ apiStarted: (context) => {
53
+ if (!isEnabled())
54
+ return;
55
+ console.log(`${PREFIX} [API] Request started`, context);
56
+ },
57
+ apiCompleted: (duration, context) => {
58
+ if (!isEnabled())
59
+ return;
60
+ console.log(`${PREFIX} [API] Response received in ${duration.toFixed(2)}ms`, context);
61
+ },
62
+ apiError: (duration, context) => {
63
+ if (!isEnabled())
64
+ return;
65
+ console.log(`${PREFIX} [API] Error after ${duration.toFixed(2)}ms`, context);
66
+ },
67
+ };
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import { FormField, FormFieldProps } from '../fields/abstract';
3
+ import { FieldRenderParameters, FilterRenderParameters } from '../../config/EntityField';
4
+ interface RevisionFieldProps extends FormFieldProps {
5
+ }
6
+ export declare class RevisionField extends FormField<RevisionField> {
7
+ constructor(name: string, order: number);
8
+ protected createInstance(name: string, order: number): RevisionField;
9
+ protected renderInstance(params: FieldRenderParameters): Promise<React.ReactNode | null>;
10
+ protected renderListFilterInstance(params: FilterRenderParameters): Promise<React.ReactNode | null>;
11
+ static create(props: RevisionFieldProps): RevisionField;
12
+ }
13
+ export {};
@@ -0,0 +1,194 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useEffect, useState } from 'react';
4
+ import { FormField } from '../fields/abstract';
5
+ import { SearchForm } from '../../form/SearchForm';
6
+ import { PageResult } from '../../form/Type';
7
+ import { useModalManagerStore } from '../../store';
8
+ import { useSession } from '../../auth';
9
+ import { ViewEntityForm } from '../form/ViewEntityForm';
10
+ import { IconHistory } from '@tabler/icons-react';
11
+ import { fDateTime } from '../../misc';
12
+ import { Pagination } from '../../ui';
13
+ import { getTranslation } from '../../utils/i18n';
14
+ const revisionApiUrl = '/revision';
15
+ // Audit/timestamp fields excluded from diff (always change on every update)
16
+ const AUDIT_FIELD_NAMES = new Set([
17
+ 'updatedAt',
18
+ 'dateUpdated',
19
+ 'modifiedAt',
20
+ 'dateModified',
21
+ 'lastModified',
22
+ 'lastModifiedDate',
23
+ 'auditable',
24
+ ]);
25
+ /**
26
+ * Compare two revision data objects and return the set of field names that differ.
27
+ */
28
+ function getChangedFields(currentData, previousData) {
29
+ const changed = new Set();
30
+ const allKeys = new Set([...Object.keys(currentData), ...Object.keys(previousData)]);
31
+ for (const key of allKeys) {
32
+ if (JSON.stringify(currentData[key]) !== JSON.stringify(previousData[key])) {
33
+ changed.add(key);
34
+ }
35
+ }
36
+ return changed;
37
+ }
38
+ /**
39
+ * Wrapper component that injects CSS-based highlighting for changed fields.
40
+ * Uses data-field-name attribute selectors so highlighting applies automatically as fields render.
41
+ */
42
+ const RevisionDiffWrapper = ({ changedFields, fieldLabelMap, hasPreviousRevision, children }) => {
43
+ const containerId = 'revision-diff-container';
44
+ const selectors = changedFields.size > 0
45
+ ? Array.from(changedFields)
46
+ .map((name) => `#${containerId} [data-field-name="${name}"]`)
47
+ .join(',\n')
48
+ : '';
49
+ // Resolve display labels for changed fields (use label if available, skip otherwise)
50
+ const changedFieldLabels = Array.from(changedFields)
51
+ .map((name) => fieldLabelMap.get(name))
52
+ .filter((label) => !!label);
53
+ return (_jsxs("div", { id: containerId, className: "rcm-revision-diff-container", children: [changedFields.size > 0 && (_jsxs(_Fragment, { children: [_jsx("style", { children: `
54
+ ${selectors} {
55
+ background-color: rgba(251, 191, 36, 0.12);
56
+ border-left: 3px solid rgb(245, 158, 11);
57
+ padding-left: 8px;
58
+ border-radius: 4px;
59
+ }
60
+ ` }), _jsxs("div", { className: "rcm-revision-diff-banner rcm-revision-diff-banner-changed", children: [_jsxs("div", { className: "rcm-revision-diff-banner-row", children: [_jsx("span", { className: "rcm-icon-frame", "data-shape": "circle", "data-size": "xs", "data-color": "warning" }), _jsxs("span", { children: ["\uC774\uC804 \uBC84\uC804 \uB300\uBE44 ", _jsxs("strong", { children: [changedFields.size, "\uAC1C"] }), " \uD544\uB4DC\uAC00 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4"] })] }), changedFieldLabels.length > 0 && (_jsx("div", { className: "rcm-revision-diff-labels", children: changedFieldLabels.map((label, i) => (_jsx("span", { className: "rcm-tag", "data-color": "warning", children: label }, i))) }))] })] })), hasPreviousRevision && changedFields.size === 0 && (_jsx("div", { className: "rcm-revision-diff-banner rcm-revision-diff-banner-same", children: "\uC774\uC804 \uBC84\uC804\uACFC \uB3D9\uC77C\uD569\uB2C8\uB2E4" })), children] }));
61
+ };
62
+ export class RevisionField extends FormField {
63
+ constructor(name, order) {
64
+ super(name, order, 'revision');
65
+ }
66
+ createInstance(name, order) {
67
+ return new RevisionField(name, order);
68
+ }
69
+ async renderInstance(params) {
70
+ const { entityForm, subCollectionEntity } = params;
71
+ // subCollectionEntity인 경우 렌더링하지 않음
72
+ if (subCollectionEntity) {
73
+ return null;
74
+ }
75
+ // CREATE 모드에서는 렌더링하지 않음 (MODIFY_ONLY)
76
+ if (entityForm.getRenderType() === 'create') {
77
+ return null;
78
+ }
79
+ return _jsx(RevisionFieldRenderer, { entityForm: entityForm });
80
+ }
81
+ renderListFilterInstance(params) {
82
+ // 리스트 필터에서는 지원하지 않음
83
+ return Promise.resolve(null);
84
+ }
85
+ static create(props) {
86
+ return new RevisionField(props.name, props.order).copyFields(props, true);
87
+ }
88
+ }
89
+ const RevisionFieldRenderer = ({ entityForm }) => {
90
+ const [revisions, setRevisions] = useState([]);
91
+ const [loading, setLoading] = useState(false);
92
+ const [totalPage, setTotalPage] = useState(0);
93
+ const [currentPage, setCurrentPage] = useState(0);
94
+ const { openModal } = useModalManagerStore();
95
+ const session = useSession();
96
+ useEffect(() => {
97
+ loadRevisions(0);
98
+ }, [entityForm.id]);
99
+ const loadRevisions = async (page = 0) => {
100
+ if (!entityForm.id)
101
+ return;
102
+ setLoading(true);
103
+ try {
104
+ const entityId = entityForm.id;
105
+ // revisionEntityName 필터 제거 - entityId만으로 조회 (revisionEntityName 불일치 문제 해결)
106
+ const searchForm = new SearchForm()
107
+ .handleAndFilter('revisionEntityId', entityId)
108
+ .withSort('createdAt', 'DESC')
109
+ .withPage(page)
110
+ .withPageSize(10);
111
+ const searchResult = await PageResult.fetchListData(revisionApiUrl, searchForm);
112
+ if (searchResult && searchResult.list) {
113
+ setRevisions(searchResult.list);
114
+ setTotalPage(searchResult.totalPage);
115
+ setCurrentPage(page);
116
+ }
117
+ }
118
+ catch (error) {
119
+ console.error('[RevisionField] Failed to load revisions:', error);
120
+ }
121
+ finally {
122
+ setLoading(false);
123
+ }
124
+ };
125
+ const handlePageChange = (page) => {
126
+ loadRevisions(page - 1); // Pagination 컴포넌트는 1부터 시작, SearchForm은 0부터 시작
127
+ };
128
+ const handleRevisionClick = async (revision, index) => {
129
+ const modalId = `revision-modal-${entityForm.id}`;
130
+ // 리비전 데이터 파싱
131
+ const revisionData = JSON.parse(revision.json);
132
+ // 이전 리비전과 비교하여 변경된 필드 찾기
133
+ // DELETE 리비전은 json이 없으므로 건너뛰고 다음 유효한 리비전을 찾는다
134
+ let previousRevision;
135
+ for (let i = index + 1; i < revisions.length; i++) {
136
+ if (revisions[i].type !== 'DELETE' && revisions[i].json) {
137
+ previousRevision = revisions[i];
138
+ break;
139
+ }
140
+ }
141
+ let changedFields = new Set();
142
+ if (previousRevision) {
143
+ const previousData = JSON.parse(previousRevision.json);
144
+ changedFields = getChangedFields(revisionData, previousData);
145
+ // 수정일 등 항상 변경되는 감사(audit) 필드 제외
146
+ changedFields = new Set([...changedFields].filter((name) => !AUDIT_FIELD_NAMES.has(name)));
147
+ }
148
+ // EntityForm 복제 및 초기화
149
+ let revisionEntityForm = entityForm.clone(false);
150
+ // 서버 fetch 대신 설정한 데이터로 고정하기 위해 url 을 비워둔다.
151
+ revisionEntityForm.url = '';
152
+ revisionEntityForm.fields.delete('entityForm-revision'); // 리비전 필드는 보여주지 않는다.
153
+ revisionEntityForm.collections.clear(); // 컬렉션은 Revision 의 관리 대상이 아니다.
154
+ revisionEntityForm.buttons = []; // 기존 엔티티폼의 사용자정의 버튼도 모두 제거한다.
155
+ // 리비전 데이터로 값 설정
156
+ revisionEntityForm = await revisionEntityForm.setFetchedValues(revisionData);
157
+ // 변경 필드의 사용자 표시용 라벨 맵 구성
158
+ const { t } = getTranslation();
159
+ const fieldLabelMap = new Map();
160
+ for (const [key, field] of revisionEntityForm.fields) {
161
+ if (field instanceof FormField) {
162
+ const label = field.getLabel();
163
+ if (typeof label === 'string') {
164
+ fieldLabelMap.set(key, t(label));
165
+ }
166
+ }
167
+ }
168
+ openModal({
169
+ modalId,
170
+ title: `변경 이력 (${revision.name} / ${fDateTime(revision.createdAt, 'yyyy-MM-dd HH:mm:ss')})`,
171
+ size: 'full',
172
+ fullHeight: true,
173
+ content: (_jsx(RevisionDiffWrapper, { changedFields: changedFields, fieldLabelMap: fieldLabelMap, hasPreviousRevision: !!previousRevision, children: _jsx(ViewEntityForm, { readonly: true, entityForm: revisionEntityForm, ...(session !== undefined ? { session } : {}), hideTitle: true, hideAllButtons: true }) })),
174
+ });
175
+ };
176
+ if (loading) {
177
+ return (_jsxs("div", { className: "rcm-revision-state", children: [_jsx(IconHistory, { className: "rcm-icon rcm-revision-state-icon-spin", "data-size": "lg", "data-tone": "disabled" }), _jsx("span", { className: "rcm-text", "data-size": "sm", "data-tone": "muted", children: "\uBCC0\uACBD \uB0B4\uC5ED\uC744 \uBD88\uB7EC\uC624\uB294 \uC911..." })] }));
178
+ }
179
+ if (revisions.length === 0) {
180
+ return (_jsxs("div", { className: "rcm-revision-state rcm-revision-state-empty", children: [_jsx(IconHistory, { className: "rcm-icon", "data-size": "lg", "data-tone": "disabled" }), _jsx("span", { className: "rcm-text", "data-size": "sm", "data-tone": "muted", children: "\uBCC0\uACBD \uB0B4\uC5ED\uC774 \uC5C6\uC2B5\uB2C8\uB2E4." })] }));
181
+ }
182
+ return (_jsx("div", { className: "rcm-revision-wrap", children: _jsxs("div", { className: "rcm-revision-panel", children: [_jsx("div", { className: "rcm-revision-list", children: revisions.map((revision, index) => {
183
+ const isLatest = currentPage === 0 && index === 0;
184
+ const isDelete = revision.type === 'DELETE';
185
+ const isCreate = revision.type === 'CREATE';
186
+ const isClickable = !isDelete && !isCreate;
187
+ const itemClass = isLatest
188
+ ? 'rcm-revision-item rcm-revision-item-latest'
189
+ : isDelete || isCreate
190
+ ? 'rcm-revision-item rcm-revision-item-muted'
191
+ : 'rcm-revision-item rcm-revision-item-default';
192
+ return (_jsx("div", { className: itemClass, onClick: isClickable ? () => handleRevisionClick(revision, index) : undefined, children: _jsxs("div", { className: "rcm-revision-item-row", children: [_jsx("span", { className: "rcm-text", "data-weight": "medium", children: revision.name }), _jsx("span", { className: "rcm-text", "data-size": "xs", "data-tone": "muted", children: fDateTime(revision.createdAt, 'yyyy-MM-dd HH:mm:ss') }), isLatest && (_jsx("span", { className: "rcm-badge", "data-color": "info", children: "\uD604\uC7AC \uBC84\uC804" })), isCreate && (_jsx("span", { className: "rcm-badge", "data-color": "success", children: "\uC2E0\uADDC" })), isDelete && (_jsx("span", { className: "rcm-badge", "data-color": "error", children: entityForm.neverDelete ? '사용안함' : '삭제' }))] }) }, revision.id));
193
+ }) }), totalPage > 1 && (_jsx("div", { className: "rcm-revision-pagination", children: _jsx(Pagination, { total: totalPage, value: currentPage + 1, onChange: handlePageChange }) }))] }) }));
194
+ };
@@ -0,0 +1,3 @@
1
+ export declare function isOpenedAdvancedSearch(key: string, postFix?: string): boolean;
2
+ export declare function setOpenedAdvancedSearch(key: string, postFix?: string, opened?: boolean): void;
3
+ export declare function setClosedAdvancedSearch(key: string, postFix?: string): void;
@@ -0,0 +1,48 @@
1
+ import { parse, stringify } from '../utils/jsonUtils';
2
+ class CacheContext {
3
+ constructor() {
4
+ this.data = new Map();
5
+ }
6
+ static create(value) {
7
+ const cache = new CacheContext();
8
+ if (value) {
9
+ const data = parse(value);
10
+ cache.data = new Map(Object.entries(data.data));
11
+ }
12
+ return cache;
13
+ }
14
+ isOpened(key, postFix) {
15
+ const cacheKey = key + (postFix ? '_' + postFix : '');
16
+ return this.data.get(cacheKey) ?? false;
17
+ }
18
+ setOpened(key, postFix, opened = true) {
19
+ const cacheKey = key + (postFix ? '_' + postFix : '');
20
+ this.data.set(cacheKey, opened);
21
+ }
22
+ setClosed(key, postFix) {
23
+ this.setOpened(key, postFix, false);
24
+ }
25
+ toJson() {
26
+ return stringify(this);
27
+ }
28
+ }
29
+ export function isOpenedAdvancedSearch(key, postFix) {
30
+ if (typeof window === 'undefined')
31
+ return false;
32
+ const cache = CacheContext.create(localStorage.getItem('advancedSearchFormOpened'));
33
+ return cache.isOpened(key, postFix);
34
+ }
35
+ export function setOpenedAdvancedSearch(key, postFix, opened = true) {
36
+ if (typeof window === 'undefined')
37
+ return;
38
+ const cache = CacheContext.create(localStorage.getItem('advancedSearchFormOpened'));
39
+ cache.setOpened(key, postFix, opened);
40
+ localStorage.setItem('advancedSearchFormOpened', cache.toJson());
41
+ }
42
+ export function setClosedAdvancedSearch(key, postFix) {
43
+ if (typeof window === 'undefined')
44
+ return;
45
+ const cache = CacheContext.create(localStorage.getItem('advancedSearchFormOpened'));
46
+ cache.setClosed(key, postFix);
47
+ localStorage.setItem('advancedSearchFormOpened', cache.toJson());
48
+ }
@@ -0,0 +1,133 @@
1
+ import { EntityForm } from './EntityForm';
2
+ import { HelpTextType, HiddenType, LabelType, ReadOnlyType, TooltipType } from './Config';
3
+ import { ReactNode } from 'react';
4
+ import { FieldInfoParameters } from './EntityField';
5
+ import { Session } from '../auth/types';
6
+ import { FilterItem, SearchForm } from '../form/SearchForm';
7
+ import { SubCollectionField } from './SubCollectionField';
8
+ /**
9
+ * Columns configuration type
10
+ * - number: Field columns only, card grid is auto-calculated
11
+ * - {card, field}: Explicit card grid and field columns
12
+ */
13
+ export type ColumnsConfig = number | {
14
+ card: number;
15
+ field: number;
16
+ };
17
+ /**
18
+ * Card configuration for CardSubCollectionField
19
+ */
20
+ export interface CardConfig {
21
+ /**
22
+ * Column configuration for card grid and field layout
23
+ * - number: Field columns only (card grid auto-calculated based on layout)
24
+ * - {card, field}: Explicit card grid columns and field columns
25
+ * - Mobile is always 1 column for both cards and fields
26
+ * @default 2
27
+ */
28
+ columns?: ColumnsConfig;
29
+ /**
30
+ * Page size for client-side pagination
31
+ * - If set, enables client-side pagination with the specified page size
32
+ * - If not set or 0, all items are displayed without pagination
33
+ * @default undefined (no pagination)
34
+ */
35
+ pageSize?: number;
36
+ /** Fields to display on each card (whitelist) */
37
+ displayFields?: string[];
38
+ /** Fields to exclude from card display (blacklist) - useful when titleField is a function */
39
+ excludeFields?: string[];
40
+ /** Field name or function for card title */
41
+ titleField?: string | ((item: any) => string);
42
+ /** CSS class name for card container */
43
+ containerClassName?: string;
44
+ /** CSS class name for selected card container */
45
+ selectedContainerClassName?: string;
46
+ /** CSS class name for card title */
47
+ titleClassName?: string;
48
+ /** Custom render function for entire card */
49
+ renderCard?: (item: any, isSelected: boolean, onSelect: () => void) => ReactNode;
50
+ }
51
+ /**
52
+ * CardSubCollectionRelation configuration
53
+ * Defines the relationship between parent and child entities
54
+ */
55
+ export interface CardSubCollectionRelation {
56
+ /** ManyToOne field name in the child entity */
57
+ mappedBy: string;
58
+ /** Filter field name (defaults to mappedBy) */
59
+ filterBy?: string;
60
+ /** Property to get the value from parent entity (default: 'id') */
61
+ valueProperty?: string;
62
+ /** Additional attributes for the subcollection */
63
+ attributes?: Record<string, any>;
64
+ }
65
+ /**
66
+ * Filter configuration for CardSubCollectionField
67
+ * Same format as ViewListGridOptionProps.filters
68
+ */
69
+ export type CardSubCollectionFilters = (entityForm: EntityForm) => Promise<{
70
+ condition: 'AND' | 'OR';
71
+ items: FilterItem[];
72
+ }[]>;
73
+ /**
74
+ * Fetch options for CardSubCollectionField
75
+ * Controls how data is fetched (SearchForm-based vs simple URL)
76
+ */
77
+ export interface CardSubCollectionFetchOptions {
78
+ /** Whether to use SearchForm-based fetching (POST request) */
79
+ useSearchForm?: boolean;
80
+ /** Page size for fetching all data (default: 10000) */
81
+ pageSize?: number;
82
+ /** Whether to use viewDetail mode */
83
+ viewDetail?: boolean;
84
+ /** Additional filters to apply */
85
+ filters?: CardSubCollectionFilters;
86
+ }
87
+ /**
88
+ * CardSubCollectionField configuration
89
+ * Extends SubCollectionField to display items in a card grid format
90
+ */
91
+ export declare class CardSubCollectionField extends SubCollectionField {
92
+ tooltip?: TooltipType | undefined;
93
+ fetchUrl: string;
94
+ fetchUrlFunction?: ((parentEntityForm: EntityForm) => string) | undefined;
95
+ cardConfig?: CardConfig | undefined;
96
+ fetchOptions?: CardSubCollectionFetchOptions | undefined;
97
+ constructor(props: {
98
+ entityForm: EntityForm;
99
+ relation: CardSubCollectionRelation;
100
+ order: number;
101
+ name: string;
102
+ label?: LabelType | undefined;
103
+ helpText?: HelpTextType | undefined;
104
+ hidden?: HiddenType | undefined;
105
+ readonly?: ReadOnlyType | undefined;
106
+ fetchUrl?: string | ((parentEntityForm: EntityForm) => string) | undefined;
107
+ cardConfig?: CardConfig | undefined;
108
+ fetchOptions?: CardSubCollectionFetchOptions | undefined;
109
+ });
110
+ /**
111
+ * Override withTooltip to support tooltips (parent class doesn't support it)
112
+ */
113
+ withTooltip(tooltip?: TooltipType): this;
114
+ getTooltip(props: FieldInfoParameters): Promise<ReactNode>;
115
+ /**
116
+ * Override clone to include card-specific properties
117
+ */
118
+ clone(): CardSubCollectionField;
119
+ withFetchOptions(fetchOptions: CardSubCollectionFetchOptions): this;
120
+ withCardConfig(cardConfig: CardConfig): this;
121
+ /**
122
+ * Build the SearchForm for fetching data
123
+ * Note: getMappedByFilter() and getMappedByValue() are inherited from SubCollectionField
124
+ */
125
+ buildSearchForm(parentEntityForm: EntityForm): Promise<SearchForm>;
126
+ /**
127
+ * Override render to display card grid instead of list grid
128
+ */
129
+ render({ entityForm, session, }: {
130
+ entityForm: EntityForm;
131
+ session?: Session;
132
+ }): Promise<ReactNode | null>;
133
+ }