@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,102 @@
1
+ 'use client';
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { getExportFileName, } from '../transfer/Type';
4
+ import { SearchForm } from '../form/SearchForm';
5
+ import { useEffect, useState } from 'react';
6
+ import { getTranslation } from '../utils/i18n';
7
+ import DataExportService from '../transfer/DataExportService';
8
+ import { isBlank } from '../utils/StringUtil';
9
+ import { LinearIndicator } from '../ui';
10
+ import { Button } from '../ui';
11
+ import ExcelDownload from '../transfer/Provider/ExcelProvider';
12
+ import { LoadingOverlay } from '../ui';
13
+ export const DataExportProcessor = ({ process, url, fields, onProcessed, maxCount, countPerPage, searchForm, exportFileName, data: initialData, password, addedFields, overrideFormData, }) => {
14
+ const restrictCount = maxCount || 100;
15
+ const perPageCount = countPerPage || 100;
16
+ const maxLimitCount = restrictCount * perPageCount;
17
+ const editorFields = getEditorFields();
18
+ const [exportable, setExportable] = useState(true);
19
+ const [failedCount, setFailedCount] = useState(0);
20
+ const [error, setError] = useState('');
21
+ const [data, setData] = useState();
22
+ const { t } = getTranslation();
23
+ const [exportProgress, setExportProgress] = useState(0);
24
+ const fileName = getExportFileName(exportFileName, t);
25
+ const [onDownload, setOnDownload] = useState(false);
26
+ const service = new DataExportService({
27
+ searchForm: searchForm?.clone() ?? SearchForm.create(),
28
+ url: url,
29
+ fields: fields,
30
+ restrictCount: restrictCount,
31
+ pagePerCount: perPageCount,
32
+ setExportable: setExportable,
33
+ setFailedCount: setFailedCount,
34
+ setProgress: setExportProgress,
35
+ setData: setData,
36
+ data: initialData,
37
+ setError: setError,
38
+ editorFields: editorFields,
39
+ addedFields: addedFields,
40
+ });
41
+ useEffect(() => {
42
+ service.process();
43
+ }, []);
44
+ if (!process) {
45
+ return _jsx(_Fragment, {});
46
+ }
47
+ return (_jsxs(_Fragment, { children: [_jsx("h1", { className: 'text-xl mb-2', children: (function () {
48
+ if (exportProgress < 100) {
49
+ return t('form.list.dataTransfer.tab.export.processing');
50
+ }
51
+ else if (exportProgress >= 100) {
52
+ return t('form.list.dataTransfer.tab.export.processed');
53
+ }
54
+ return t('form.list.dataTransfer.tab.export.processing');
55
+ })() }), _jsxs("div", { children: [exportable && (_jsxs(_Fragment, { children: [isBlank(error) && (_jsxs(_Fragment, { children: [exportProgress < 100 && (_jsxs("div", { className: 'py-1 mb-3', children: [_jsx("div", { className: 'text-primary', children: t('form.list.dataTransfer.tab.export.onProcessing') }), _jsx(LinearIndicator, { value: exportProgress }, 'progress_indicator_' + exportProgress)] })), exportProgress >= 100 && (_jsx("div", { className: 'py-1 mb-3', children: _jsx("div", { className: 'text-success text-sm', children: t('form.list.dataTransfer.tab.export.fileCreated') }) }))] })), !isBlank(error) && (_jsx("div", { className: 'py-1 mb-3', children: _jsx("span", { className: 'text-danger', children: t(error) }) })), onDownload && (_jsxs("div", { className: 'relative', children: [_jsx(LoadingOverlay, { visible: true }), _jsx("div", { className: 'w-full h-[100px]' })] })), !onDownload && (_jsxs("div", { className: 'flex items-center justify-center space-x-2', children: [_jsx(Button, { variant: 'filled', onClick: () => {
56
+ setOnDownload(true);
57
+ try {
58
+ setTimeout(() => {
59
+ (async () => {
60
+ let fileData = [...(data ?? [])];
61
+ if (overrideFormData !== undefined && data !== undefined) {
62
+ const overrideFormDataResult = await overrideFormData(data);
63
+ fileData = Array.isArray(overrideFormDataResult)
64
+ ? overrideFormDataResult
65
+ : [overrideFormDataResult];
66
+ }
67
+ await ExcelDownload({
68
+ data: fileData,
69
+ fileName: fileName,
70
+ password: password,
71
+ fields: fields,
72
+ logOptions: {
73
+ condition: {
74
+ exportUrl: url,
75
+ fields: fields.map((f) => f.getName()),
76
+ },
77
+ },
78
+ });
79
+ onProcessed();
80
+ })();
81
+ }, 100);
82
+ }
83
+ catch (e) {
84
+ setOnDownload(false);
85
+ setError(t('form.list.dataTransfer.tab.export.error.download'));
86
+ }
87
+ }, disabled: exportProgress < 100 || !isBlank(error), style: { marginRight: 1 }, children: t('form.list.dataTransfer.tab.export.button.download') }), _jsx(Button, { variant: 'outline', onClick: () => {
88
+ setExportProgress(0);
89
+ onProcessed();
90
+ }, children: t('form.list.dataTransfer.tab.export.button.cancel') })] }))] })), !exportable && (_jsxs(_Fragment, { children: [_jsxs("div", { children: [_jsx("h3", { children: t('form.list.dataTransfer.tab.export.error.limit.retry') }), _jsxs("div", { children: [t('form.list.dataTransfer.tab.export.error.limit.cause'), ": ", failedCount] }), _jsxs("div", { children: [t('form.list.dataTransfer.tab.export.error.limit.warning'), ": ", maxLimitCount] })] }), _jsx("div", { className: 'text-center', children: _jsx(Button, { variant: 'outline', color: 'inherit', onClick: () => {
91
+ onProcessed();
92
+ }, children: t('form.list.dataTransfer.tab.export.button.close') }) })] }))] })] }));
93
+ function getEditorFields() {
94
+ const editorFields = [];
95
+ fields.forEach((field) => {
96
+ if (field.getType() === 'html' || field.getType() === 'markdown') {
97
+ editorFields.push(field.getName());
98
+ }
99
+ });
100
+ return editorFields;
101
+ }
102
+ };
@@ -0,0 +1,37 @@
1
+ import { SearchForm } from '../form/SearchForm';
2
+ import { DataExportCount, DataField, DataRow, DataRowSet, SampleDataItem } from '../transfer/Type';
3
+ export interface ExportServiceProps {
4
+ searchForm?: SearchForm | undefined;
5
+ url?: string | undefined;
6
+ fields: DataField[];
7
+ restrictCount?: number | undefined;
8
+ pagePerCount?: number | undefined;
9
+ setExportable?: ((exportable: boolean) => void) | undefined;
10
+ setFailedCount?: ((count: number) => void) | undefined;
11
+ setProgress?: ((progress: number) => void) | undefined;
12
+ data?: SampleDataItem[][] | undefined;
13
+ setData?: ((data: DataRowSet) => void) | undefined;
14
+ setError?: ((errorMessage: string) => void) | undefined;
15
+ editorFields?: string[] | undefined;
16
+ addedFields?: ((row: DataRow) => Promise<DataRow>) | undefined;
17
+ }
18
+ export declare class DataExportService {
19
+ searchForm?: SearchForm | undefined;
20
+ url?: string | undefined;
21
+ fields: DataField[];
22
+ restrictCount: number;
23
+ pagePerCount: number;
24
+ setExportable: (exportable: boolean) => void;
25
+ setFailedCount: (count: number) => void;
26
+ setProgress: (progress: number) => void;
27
+ data: SampleDataItem[][];
28
+ setData: (data: DataRowSet) => void;
29
+ setError: (errorMessage: string) => void;
30
+ processing: boolean;
31
+ total?: DataExportCount | undefined;
32
+ editorFields: string[];
33
+ addedFields?: ((row: DataRow) => Promise<DataRow>) | undefined;
34
+ constructor({ searchForm, url, fields, restrictCount, pagePerCount, setExportable, setFailedCount, setProgress, data, setData, setError, editorFields, addedFields, }: ExportServiceProps);
35
+ process(): (() => void) | undefined;
36
+ }
37
+ export default DataExportService;
@@ -0,0 +1,225 @@
1
+ import { createFieldMap, } from '../transfer/Type';
2
+ import { PageResult } from '../form/Type';
3
+ import { getPlainText } from '../ui';
4
+ import { isEmpty } from '../utils';
5
+ /**
6
+ * 중첩 객체에서 dot notation 경로로 값을 가져온다.
7
+ * 예: getNestedValue(item, 'semester.year') -> item.semester.year
8
+ */
9
+ function getNestedValue(obj, path) {
10
+ if (!obj || !path)
11
+ return undefined;
12
+ // dot notation이 아니면 직접 접근
13
+ if (!path.includes('.')) {
14
+ return obj[path];
15
+ }
16
+ // dot notation 경로를 따라 값을 가져옴
17
+ const keys = path.split('.');
18
+ let value = obj;
19
+ for (const key of keys) {
20
+ if (value === null || value === undefined) {
21
+ return undefined;
22
+ }
23
+ value = value[key];
24
+ }
25
+ return value;
26
+ }
27
+ export class DataExportService {
28
+ constructor({ searchForm, url, fields, restrictCount, pagePerCount, setExportable, setFailedCount, setProgress, data, setData, setError, editorFields, addedFields, }) {
29
+ this.processing = false;
30
+ this.editorFields = [];
31
+ this.searchForm = searchForm;
32
+ this.url = url;
33
+ this.fields = fields;
34
+ this.restrictCount = restrictCount ?? 5000;
35
+ this.pagePerCount = pagePerCount ?? 20;
36
+ this.setExportable =
37
+ setExportable ??
38
+ function (_exportable) {
39
+ // no-op default
40
+ };
41
+ this.setFailedCount =
42
+ setFailedCount ??
43
+ function (_count) {
44
+ // no-op default
45
+ };
46
+ this.setProgress =
47
+ setProgress ??
48
+ function (_progress) {
49
+ // no-op default
50
+ };
51
+ this.setData =
52
+ setData ??
53
+ function (_data) {
54
+ // no-op default
55
+ };
56
+ this.setError =
57
+ setError ??
58
+ function (_errorMessage) {
59
+ // no-op default
60
+ };
61
+ this.data = data ?? [];
62
+ if (data) {
63
+ this.restrictCount = data.length;
64
+ this.pagePerCount = data.length;
65
+ }
66
+ this.editorFields = editorFields ?? [];
67
+ }
68
+ process() {
69
+ if (this.processing) {
70
+ return;
71
+ }
72
+ this.processing = true;
73
+ let page = 0;
74
+ let currentProgress = 0;
75
+ let data = [];
76
+ const fieldMap = createFieldMap(...this.fields);
77
+ let timeoutId = null;
78
+ const exportData = async () => {
79
+ if (data.length === 0) {
80
+ let subject = [];
81
+ fieldMap.forEach((value, _key) => {
82
+ subject.push({ name: _key, value: value.getLabel() });
83
+ });
84
+ data.push(subject);
85
+ }
86
+ if (this.searchForm && this.url) {
87
+ if (!this.total) {
88
+ // total data 를 fetch 해야 한다. await 으로 처리해야 한다.
89
+ const pageResult = await PageResult.fetchListData(this.url, this.searchForm).catch((reason) => {
90
+ throw new Error(reason);
91
+ });
92
+ this.total = { totalPage: pageResult.totalPage || 0 };
93
+ if (this.total.totalPage > this.restrictCount) {
94
+ this.setExportable(false);
95
+ this.setFailedCount(this.total.totalPage * this.pagePerCount);
96
+ return 100;
97
+ }
98
+ else if (this.total.totalPage === 0) {
99
+ this.setExportable(false);
100
+ this.setFailedCount(0);
101
+ return 100;
102
+ }
103
+ }
104
+ if (currentProgress >= 100) {
105
+ return 100;
106
+ }
107
+ else {
108
+ if (page + 1 > this.total.totalPage) {
109
+ return 100;
110
+ }
111
+ this.searchForm.withPage(page); // page 변경
112
+ const pageResult = await PageResult.fetchListData(this.url, this.searchForm).catch((reason) => {
113
+ throw new Error(reason);
114
+ });
115
+ // 실제 데이터 페치 부분
116
+ await Promise.all(pageResult.list.map(async (item) => {
117
+ const row = [];
118
+ await Promise.all(Array.from(fieldMap.entries()).map(async ([key, value]) => {
119
+ const fieldValue = getNestedValue(item, key);
120
+ if (this.editorFields.includes(key)) {
121
+ row.push({ name: key, value: getPlainText(fieldValue) || '' });
122
+ }
123
+ else {
124
+ row.push({ name: key, value: await value.getValueOnExport(fieldValue) });
125
+ }
126
+ }));
127
+ if (this.addedFields !== undefined) {
128
+ const addedFields = await this.addedFields(row);
129
+ if (addedFields) {
130
+ await Promise.all(addedFields.map(async (column) => {
131
+ row.push(column);
132
+ }));
133
+ }
134
+ }
135
+ data.push(row);
136
+ }));
137
+ currentProgress = Math.floor(((page + 1) / this.total.totalPage) * 100);
138
+ page++;
139
+ return currentProgress;
140
+ }
141
+ }
142
+ else if (this.data && !isEmpty(this.data)) {
143
+ this.total = { totalPage: 1, totalCount: this.data.length };
144
+ try {
145
+ await Promise.all(this.data.map(async (item) => {
146
+ try {
147
+ const row = [];
148
+ await Promise.all(Array.from(fieldMap.entries()).map(async ([key, value]) => {
149
+ let cellValue = {};
150
+ for (const cell of item) {
151
+ if (cell.name === key) {
152
+ cellValue = cell.value;
153
+ break;
154
+ }
155
+ }
156
+ if (this.editorFields.includes(key)) {
157
+ row.push({ name: key, value: getPlainText(cellValue) || '' });
158
+ }
159
+ else {
160
+ row.push({ name: key, value: await value.getValueOnExport(cellValue) });
161
+ }
162
+ }));
163
+ if (this.addedFields) {
164
+ try {
165
+ const addedFields = await this.addedFields(row);
166
+ if (addedFields) {
167
+ await Promise.all(addedFields.map(async (column) => {
168
+ row.push(column);
169
+ }));
170
+ }
171
+ }
172
+ catch (error) {
173
+ console.error('Error in addedFields:', error);
174
+ throw error;
175
+ }
176
+ }
177
+ data.push(row);
178
+ }
179
+ catch (error) {
180
+ console.error('Error processing item:', error);
181
+ throw error;
182
+ }
183
+ }));
184
+ return 100;
185
+ }
186
+ catch (error) {
187
+ console.error('Error processing data:', error);
188
+ throw error;
189
+ }
190
+ }
191
+ else {
192
+ throw new Error('데이터를 검색할 수 없습니다.');
193
+ }
194
+ };
195
+ // setTimeout 재귀 방식: 이전 작업 완료 후 다음 타이머 설정
196
+ const processNext = async () => {
197
+ try {
198
+ if (currentProgress >= 100) {
199
+ return;
200
+ }
201
+ const value = await exportData();
202
+ currentProgress = value;
203
+ this.setProgress(currentProgress);
204
+ this.setData(data);
205
+ // 완료되지 않았으면 다음 작업 예약
206
+ if (currentProgress < 100) {
207
+ timeoutId = setTimeout(processNext, 100);
208
+ }
209
+ }
210
+ catch (e) {
211
+ console.error(e);
212
+ this.setProgress(100);
213
+ this.setError('form.list.dataTransfer.tab.export.error.fetch');
214
+ }
215
+ };
216
+ // 첫 번째 실행
217
+ processNext();
218
+ return () => {
219
+ if (timeoutId) {
220
+ clearTimeout(timeoutId);
221
+ }
222
+ };
223
+ }
224
+ }
225
+ export default DataExportService;
@@ -0,0 +1,10 @@
1
+ import { ExportTransferConfig } from '../transfer/Type';
2
+ import { SearchForm } from '../form/SearchForm';
3
+ interface ExporterProps {
4
+ config?: ExportTransferConfig;
5
+ fileName: string;
6
+ searchForm: SearchForm;
7
+ onClose: () => void;
8
+ }
9
+ export declare const DataExporter: ({ config, searchForm, fileName, onClose }: ExporterProps) => import("react/jsx-runtime").JSX.Element | null;
10
+ export {};
@@ -0,0 +1,85 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Modal } from '../ui';
4
+ import { getTranslation } from '../utils/i18n';
5
+ import { useEffect, useState } from 'react';
6
+ import { SimpleGrid } from '../ui';
7
+ import { DataExportProcessor } from '../transfer/DataExportProcessor';
8
+ import { Button } from '../ui';
9
+ import { ExcelPasswordField } from '../transfer/ExcelPasswordField';
10
+ export const DataExporter = ({ config, searchForm, fileName, onClose }) => {
11
+ const { t } = getTranslation();
12
+ const fields = config?.fields ?? [];
13
+ const [dataFields, setDataFields] = useState([...fields]);
14
+ const [ableToExport, setAbleToExport] = useState(true);
15
+ const [processing, setProcessing] = useState(false);
16
+ const [exportKey, setExportKey] = useState(Date.now());
17
+ const [mounted, setMounted] = useState(false);
18
+ const [password, setPassword] = useState('');
19
+ const [error, setError] = useState('');
20
+ useEffect(() => {
21
+ setMounted(true);
22
+ }, []);
23
+ if (config === undefined || !mounted)
24
+ return null;
25
+ const title = t('form.list.dataTransfer.tab.export.title') ?? '다운로드';
26
+ const instruction = t('form.list.dataTransfer.tab.export.message');
27
+ const description = config?.description ?? '';
28
+ const url = config.url;
29
+ return (_jsxs(_Fragment, { children: [_jsx(Modal, { size: '5xl', title: title, animation: 'none', closeOnClickOutside: false, closeOnEscape: false, opened: true, onClose: () => {
30
+ onClose();
31
+ }, children: _jsxs("div", { className: "rcm-dialog-body", children: [_jsxs("div", { className: "rcm-stack", children: [_jsx("div", { className: "rcm-notice", "data-tone": "info", style: { wordBreak: 'break-word', overflowWrap: 'break-word', whiteSpace: 'normal' }, children: _jsx("label", { className: "rcm-text-sm rcm-text-info rcm-text-emphasis", children: instruction }) }), _jsxs("div", { className: "rcm-panel", children: [_jsx("h3", { className: "rcm-heading-sm", children: "\uB2E4\uC6B4\uB85C\uB4DC\uD560 \uD544\uB4DC \uC120\uD0DD" }), _jsx(SimpleGrid, { cols: { base: 2, xs: 2, sm: 3, md: 4, lg: 5 }, spacing: "md", children: (function () {
32
+ const forms = [];
33
+ fields.forEach((field) => {
34
+ const fieldName = field.getName();
35
+ if (fieldName === 'id') {
36
+ return;
37
+ }
38
+ forms.push(_jsxs("div", { className: "rcm-checkbox-row", children: [_jsx("input", { type: "checkbox", id: fieldName, name: fieldName, defaultChecked: dataFields.some((item) => item.equals(field)), value: field.getName(), onChange: (event) => {
39
+ handleTargetFieldChange(field, event);
40
+ } }, fieldName), _jsx("label", { htmlFor: `${fieldName}`, className: "rcm-checkbox-label", children: field.getLabel() })] }, `fields_${fieldName}`));
41
+ });
42
+ return forms;
43
+ })() })] })] }), _jsx(ExcelPasswordField, { password: password, onPasswordChange: setPassword, error: error, onErrorChange: setError }), description && (_jsx("div", { className: "rcm-notice", "data-tone": "warning", children: _jsx("div", { className: "rcm-text-sm rcm-text-warning", children: description }) })), _jsx("div", { className: "rcm-action-bar", children: _jsx(Button, { variant: "filled", disabled: !ableToExport, className: "rcm-button", "data-variant": "primary", onClick: () => {
44
+ handleExport();
45
+ }, children: t('form.list.dataTransfer.tab.export.button.download') }) })] }) }), processing && (_jsx(Modal, { size: 'lg', title: `${title}`, opened: processing, closeOnClickOutside: false, closeOnEscape: false, onClose: () => {
46
+ setProcessing(false);
47
+ }, children: _jsx(DataExportProcessor, { url: url, fields: dataFields, searchForm: searchForm, exportFileName: fileName, addedFields: config?.addedFields, overrideFormData: config?.overrideFormData, process: processing, password: password, onProcessed: () => {
48
+ setExportKey(Date.now());
49
+ setProcessing(false);
50
+ } }, 'data_export_' + exportKey) }))] }));
51
+ function handleExport() {
52
+ setError('');
53
+ setProcessing(true);
54
+ }
55
+ function handleTargetFieldChange(targetField, event) {
56
+ const isChecked = event.target.checked;
57
+ const fieldExists = dataFields.some((item) => item.equals(targetField));
58
+ if (isChecked && !fieldExists) {
59
+ addExportField(targetField);
60
+ updateAbleToExport(true);
61
+ }
62
+ else if (!isChecked) {
63
+ removeExportField(targetField);
64
+ updateAbleToExportIfEmpty();
65
+ }
66
+ }
67
+ function addExportField(targetField) {
68
+ const newExportFields = [...dataFields, targetField];
69
+ setDataFields(newExportFields);
70
+ }
71
+ function removeExportField(targetField) {
72
+ const newExportFields = dataFields.filter((item) => !item.equals(targetField));
73
+ setDataFields(newExportFields);
74
+ }
75
+ function updateAbleToExport(value) {
76
+ if (!ableToExport) {
77
+ setAbleToExport(value);
78
+ }
79
+ }
80
+ function updateAbleToExportIfEmpty() {
81
+ if (dataFields.length === 1) {
82
+ setAbleToExport(false);
83
+ }
84
+ }
85
+ };
@@ -0,0 +1,8 @@
1
+ import { ReactNode } from 'react';
2
+ import { DataField } from '../transfer/Type';
3
+ interface DataImportDescriptionProps {
4
+ title?: ReactNode;
5
+ data: DataField[];
6
+ }
7
+ export declare const DataImportDescription: ({ title, data }: DataImportDescriptionProps) => import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Table } from '../ui';
3
+ import { SafePerfectScrollbar } from '../ui';
4
+ import { Box } from '../ui';
5
+ import { Flex } from '../ui';
6
+ import { defaultString } from '../utils/StringUtil';
7
+ // CSS module removed in Stage 8 (host app supplies styling)
8
+ const styles = {};
9
+ import clsx from 'clsx';
10
+ import { Tooltip } from '../ui';
11
+ export const DataImportDescription = ({ title, data }) => {
12
+ return (_jsxs(Box, { style: { marginTop: `1rem`, paddingTop: `1.5rem` }, children: [_jsx(Flex, { align: 'center', justify: 'flex-end', children: title ? (title) : (_jsxs(Box, { children: [_jsx("span", { style: { color: `#f00`, marginRight: `4px` }, children: "*" }), " \uD45C\uC2DC\uAC00 \uB41C \uD544\uB4DC\uB294 \uD544\uC218\uAC12\uC785\uB2C8\uB2E4."] })) }), _jsx(SafePerfectScrollbar, { style: { height: '350px' }, children: _jsxs(Table, { stickyHeader: true, striped: 'odd', withColumnBorders: true, highlightOnHover: true, children: [_jsx(Table.Thead, { children: _jsxs(Table.Tr, { children: [_jsx(Table.Th, { w: `30%`, className: clsx(styles.header, styles.headerLeft), children: "\uD544\uB4DC" }), _jsx(Table.Th, { w: `70%`, className: clsx(styles.header, styles.headerRight), children: "\uC124\uBA85" })] }) }), _jsx(Table.Tbody, { children: data.map((field) => {
13
+ if (defaultString(field.getDescription()) === '') {
14
+ return null;
15
+ }
16
+ return (_jsxs(Table.Tr, { children: [_jsxs(Table.Td, { className: clsx(styles.body, styles.bodyLeft), children: [field.getLabel(), field.isRequired() && (_jsx(Tooltip, { label: '필수', children: _jsx("span", { style: { color: `#f00`, marginRight: `4px` }, children: " *" }) }))] }), _jsx(Table.Td, { className: clsx(styles.body, styles.bodyRight), children: field.getDescription() })] }, field.getName()));
17
+ }) })] }) })] }));
18
+ };
@@ -0,0 +1,24 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { DataField, DataTransferResult } from '../transfer/Type';
3
+ import { DataRowSet } from './Type';
4
+ interface DataImportPreviewViewerProps {
5
+ resultView: boolean;
6
+ data: DataRowSet;
7
+ fields: DataField[];
8
+ onSubmit: () => void;
9
+ cancelImport: () => void;
10
+ onImportSuccess?: (() => void) | undefined;
11
+ importResult?: DataTransferResult | undefined;
12
+ preview: boolean;
13
+ importError?: string | undefined;
14
+ errorMessage?: string | undefined;
15
+ viewError: boolean;
16
+ importErrorView?: ReactNode | undefined;
17
+ }
18
+ export declare const DataImportProcessor: ({ resultView, data, importResult, onSubmit, cancelImport, onImportSuccess, viewError, importErrorView, importError, errorMessage, preview, ...props }: DataImportPreviewViewerProps) => import("react/jsx-runtime").JSX.Element;
19
+ export interface DataImportPreviewProps {
20
+ fields: DataField[];
21
+ data: DataRowSet;
22
+ }
23
+ export declare const DataImportPreview: FC<DataImportPreviewProps>;
24
+ export {};
@@ -0,0 +1,59 @@
1
+ 'use client';
2
+ import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Table } from '../ui';
4
+ import { SafePerfectScrollbar } from '../ui';
5
+ import { Box } from '../ui';
6
+ import { Flex } from '../ui';
7
+ import { Grid } from '../ui';
8
+ import { Paper } from '../ui';
9
+ import { useEffect, useState } from 'react';
10
+ // CSS module removed in Stage 8 (host app supplies styling)
11
+ const classes = {};
12
+ import { DataImportResultView, ImportErrorView } from '../transfer/DataImportResultView';
13
+ import { defaultString } from '../utils/StringUtil';
14
+ import { isEmpty } from '../utils';
15
+ export const DataImportProcessor = ({ resultView, data, importResult, onSubmit, cancelImport, onImportSuccess, viewError, importErrorView, importError, errorMessage, preview, ...props }) => {
16
+ const [fields, setFields] = useState([]);
17
+ useEffect(() => {
18
+ if (data && !isEmpty(data) && props.fields && !isEmpty(props.fields)) {
19
+ const fields = props.fields.filter((field) => {
20
+ // 첫줄은 헤더로 {id: '아이디', name: '이름', ...} 형식으로 데이터가 들어 온다.
21
+ const header = data[0];
22
+ return header[field.getName()] !== undefined;
23
+ });
24
+ setFields(fields);
25
+ }
26
+ }, [props.fields, data]);
27
+ if (isEmpty(fields)) {
28
+ return _jsx(_Fragment, {});
29
+ }
30
+ return (_jsx(_Fragment, { children: _jsxs(Box, { children: [resultView && (_jsxs(Box, { children: [_jsx(Box, { style: { padding: `2rem` }, children: _jsx(DataImportResultView, { result: importResult, fields: fields }) }), _jsx(Flex, { align: 'center', style: { width: '100%', paddingTop: 2 }, justify: 'center', children: _jsx("button", { type: "button", className: "rcm-button", "data-variant": "outline", onClick: () => {
31
+ cancelImport();
32
+ onImportSuccess?.call(this);
33
+ }, children: "\uD655\uC778" }) })] })), !resultView && (_jsxs(Box, { children: [viewError && (_jsxs(Box, { style: { padding: `2rem` }, children: [_jsx(ImportErrorView, { importError: importError, importErrorView: importErrorView, errorMessage: errorMessage }), _jsx(Flex, { align: 'center', style: { width: '100%', marginTop: `2rem` }, justify: 'center', children: _jsx("button", { type: "button", className: "rcm-button", "data-variant": "ghost", onClick: () => {
34
+ cancelImport();
35
+ }, children: "\uB2EB\uAE30" }) })] })), preview && (_jsxs(Box, { style: { padding: `2rem` }, children: [_jsx(DataImportPreview, { data: data, fields: fields }), _jsxs(Flex, { gap: 10, align: 'center', style: { width: '100%', marginTop: `2rem` }, justify: 'center', children: [_jsx("button", { type: "button", className: "rcm-button", "data-variant": "primary", onClick: () => {
36
+ onSubmit();
37
+ }, children: "\uC5C5\uB85C\uB4DC" }), _jsx("button", { type: "button", className: "rcm-button", "data-variant": "outline", onClick: () => {
38
+ cancelImport();
39
+ }, children: "\uCDE8\uC18C" })] })] }))] }))] }) }));
40
+ };
41
+ export const DataImportPreview = ({ fields, data }) => {
42
+ function showRows() {
43
+ let rowFields = [];
44
+ data?.forEach((row, index) => {
45
+ if (index > 0) {
46
+ rowFields.push(_jsxs(Table.Tr, { children: [_jsx(Table.Td, { className: classes.row, children: index }, 'cell_index_' + index), (function () {
47
+ const cells = [];
48
+ fields.map((field, index) => {
49
+ const fieldName = field.getName();
50
+ cells.push(_jsx(Table.Td, { className: classes.row, children: defaultString(row.find((r) => r.name === fieldName)?.value) }, 'cell_' + fieldName + '_' + index));
51
+ });
52
+ return cells;
53
+ })()] }, 'row_' + index));
54
+ }
55
+ });
56
+ return rowFields;
57
+ }
58
+ return (_jsx(Grid, { children: _jsx(Grid.Col, { span: 12, children: _jsx(Paper, { style: { padding: 2, width: '100%' }, children: _jsx(SafePerfectScrollbar, { children: _jsxs(Table, { border: 1, borderColor: '#ff0', children: [_jsx(Table.Thead, { children: _jsxs(Table.Tr, { children: [_jsx(Table.Th, { className: classes.header, children: "#" }, 'body_header_index'), fields.map((field, index) => (_jsx("th", { className: classes.header, children: _jsxs("div", { children: [_jsxs("div", { children: ["[", field.getName(), "]"] }), field.getLabel()] }) }, 'body_' + field + '_' + index)))] }) }), _jsx(Table.Tbody, { children: _jsx(_Fragment, { children: showRows() }) })] }) }) }) }) }));
59
+ };
@@ -0,0 +1,13 @@
1
+ import { FC, ReactNode } from 'react';
2
+ import { DataField, DataTransferResult } from '../transfer/Type';
3
+ export interface DataImportResultViewProps {
4
+ result: DataTransferResult;
5
+ fields: DataField[];
6
+ }
7
+ export declare const DataImportResultView: FC<DataImportResultViewProps>;
8
+ export interface ImportErrorViewProps {
9
+ importError?: string | undefined;
10
+ errorMessage?: string | undefined;
11
+ importErrorView?: ReactNode | undefined;
12
+ }
13
+ export declare const ImportErrorView: FC<ImportErrorViewProps>;