@headless-adminapp/fluent 0.0.17-alpha.52 → 0.0.17-alpha.53

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 (174) hide show
  1. package/App/App.js +7 -11
  2. package/App/AppHeaderContianer.js +38 -42
  3. package/App/AppLogo.js +8 -12
  4. package/App/AppStringContext.js +9 -13
  5. package/App/AppUI.js +11 -15
  6. package/App/LayoutProvider.js +11 -15
  7. package/App/NavigationContainer.js +25 -29
  8. package/App/QuickActionItem.js +5 -9
  9. package/App/index.js +1 -5
  10. package/App/utils.js +1 -4
  11. package/CommandBar/Button.js +14 -17
  12. package/CommandBar/Divider.js +6 -9
  13. package/CommandBar/IconButton.js +13 -16
  14. package/CommandBar/Label.js +8 -11
  15. package/CommandBar/MenuButton.js +17 -20
  16. package/CommandBar/MenuItem.js +15 -18
  17. package/CommandBar/MenuItems.js +8 -11
  18. package/CommandBar/MenuList.js +9 -12
  19. package/CommandBar/Wrapper.js +7 -10
  20. package/CommandBar/index.js +13 -15
  21. package/DataForm/SectionControl.js +4 -7
  22. package/DataGrid/ActionCell.js +11 -14
  23. package/DataGrid/CommandContainer.js +6 -10
  24. package/DataGrid/CustomizeColumns/AddColumns.js +34 -37
  25. package/DataGrid/CustomizeColumns/ColumnItem.js +19 -23
  26. package/DataGrid/CustomizeColumns/CustomizeColumns.js +36 -42
  27. package/DataGrid/CustomizeColumns/index.js +1 -5
  28. package/DataGrid/FormSubgridCommandContainer.js +13 -17
  29. package/DataGrid/FormSubgridViewSelector.js +18 -22
  30. package/DataGrid/GridColumnHeader/ConditionValueControl.js +14 -20
  31. package/DataGrid/GridColumnHeader/FilterForm.js +23 -27
  32. package/DataGrid/GridColumnHeader/OperatorSelect.js +13 -19
  33. package/DataGrid/GridColumnHeader/TableHeaderFilterCell.js +28 -32
  34. package/DataGrid/GridColumnHeader/index.js +1 -5
  35. package/DataGrid/GridColumnHeader/utils.js +2 -6
  36. package/DataGrid/GridHeaderContainer.js +4 -8
  37. package/DataGrid/GridHeaderDesktop.js +26 -30
  38. package/DataGrid/GridHeaderMobile.js +17 -21
  39. package/DataGrid/GridListContainer.js +39 -43
  40. package/DataGrid/GridPaginationContainer.js +12 -16
  41. package/DataGrid/GridTableContainer.js +74 -78
  42. package/DataGrid/TableCell/TableCellAction.js +11 -15
  43. package/DataGrid/TableCell/TableCellBase.js +4 -8
  44. package/DataGrid/TableCell/TableCellCheckbox.js +7 -10
  45. package/DataGrid/TableCell/TableCellChoice.js +11 -14
  46. package/DataGrid/TableCell/TableCellLink.d.ts +1 -1
  47. package/DataGrid/TableCell/TableCellLink.js +13 -12
  48. package/DataGrid/TableCell/TableCellText.js +7 -10
  49. package/DataGrid/TableCell/index.js +4 -20
  50. package/DataGrid/index.js +4 -11
  51. package/DataGrid/types.js +1 -2
  52. package/DataGrid/useTableColumns.js +139 -90
  53. package/DataGrid/utils.js +1 -5
  54. package/DialogContainer/AlertDialog.js +5 -8
  55. package/DialogContainer/ConfirmDialog.js +6 -9
  56. package/DialogContainer/DialogContainer.js +14 -18
  57. package/DialogContainer/ErrorDialog.js +9 -12
  58. package/DialogContainer/PromptDialog.js +30 -57
  59. package/DialogContainer/index.js +1 -5
  60. package/Insights/CommandBarContainer.js +11 -14
  61. package/Insights/FilterBarContainer.js +17 -20
  62. package/Insights/Grid.js +9 -13
  63. package/Insights/InsightsContainer.js +19 -22
  64. package/Insights/WidgetChartContainer.js +30 -34
  65. package/Insights/WidgetDataGridContainer.js +32 -35
  66. package/Insights/WidgetTableContainer.js +24 -28
  67. package/Insights/WidgetTileContainer.js +12 -16
  68. package/Insights/WidgetTitleBar.js +9 -15
  69. package/Insights/Widgets.js +25 -28
  70. package/Insights/charts/AreaChart.js +12 -15
  71. package/Insights/charts/BarChart.js +12 -15
  72. package/Insights/charts/ComposedChart.js +12 -15
  73. package/Insights/charts/CustomTooltipContent.js +8 -12
  74. package/Insights/charts/GaugeChart.js +3 -6
  75. package/Insights/charts/LineChart.js +12 -15
  76. package/Insights/charts/OhlcChart.js +36 -41
  77. package/Insights/charts/PieChart.js +23 -26
  78. package/Insights/charts/RadarChart.js +16 -19
  79. package/Insights/charts/ScatterChart.js +23 -26
  80. package/Insights/charts/constants.js +1 -4
  81. package/Insights/charts/formatters.js +17 -29
  82. package/Insights/charts/index.js +1 -2
  83. package/Insights/charts/renderers.js +25 -36
  84. package/Insights/hooks/useQueriesData.js +19 -25
  85. package/Insights/hooks/useWidgetDetail.js +13 -16
  86. package/OverflowCommandBar/OverflowCommandBar.js +12 -19
  87. package/OverflowCommandBar/OverflowMenu.js +16 -20
  88. package/OverflowCommandBar/OverflowMenuDivider.js +6 -10
  89. package/OverflowCommandBar/index.js +3 -9
  90. package/OverflowCommandBar/render.js +9 -15
  91. package/OverflowCommandBar/utils.js +1 -4
  92. package/PageBoard/BoardColumn.js +5 -8
  93. package/PageBoard/BoardColumnCard.js +12 -15
  94. package/PageBoard/BoardColumnUI.js +34 -38
  95. package/PageBoard/BoardingColumnCardLoading.js +10 -13
  96. package/PageBoard/Header.js +16 -20
  97. package/PageBoard/PageBoard.d.ts +1 -1
  98. package/PageBoard/PageBoard.js +26 -29
  99. package/PageBoard/index.js +1 -5
  100. package/PageEntityForm/CommandContainer.js +21 -25
  101. package/PageEntityForm/FormTabRelated.js +17 -20
  102. package/PageEntityForm/PageEntityForm.js +16 -20
  103. package/PageEntityForm/PageEntityFormDesktopContainer.js +68 -72
  104. package/PageEntityForm/PageEntityFormStringContext.js +5 -9
  105. package/PageEntityForm/ProcessFlow.js +21 -24
  106. package/PageEntityForm/RecordCard.js +21 -24
  107. package/PageEntityForm/RecordCardLoading.js +10 -13
  108. package/PageEntityForm/RecordSetNavigatorContainer.js +30 -34
  109. package/PageEntityForm/RelatedViewSelector.js +28 -31
  110. package/PageEntityForm/SectionContainer.js +25 -28
  111. package/PageEntityForm/StandardControl.d.ts +3 -3
  112. package/PageEntityForm/StandardControl.js +74 -81
  113. package/PageEntityForm/SubgridControl.js +20 -23
  114. package/PageEntityForm/index.js +1 -5
  115. package/PageEntityView/FormSubgridContainer.js +22 -26
  116. package/PageEntityView/PageEntityView.js +15 -19
  117. package/PageEntityView/PageEntityViewDesktopContainer.js +9 -13
  118. package/PageEntityView/PageEntityViewDesktopFrame.js +17 -21
  119. package/PageEntityView/PageEntityViewMobileContainer.js +9 -13
  120. package/PageEntityView/PageEntityViewStringContext.js +5 -9
  121. package/PageEntityView/index.js +1 -5
  122. package/PageInsights/PageInsights.js +9 -13
  123. package/PageInsights/index.js +1 -6
  124. package/ProgressIndicatorContainer/index.js +10 -14
  125. package/ToastNotificationContainer/index.js +14 -18
  126. package/componentStore.js +2 -5
  127. package/components/BodyLoading.js +7 -11
  128. package/components/DialogLogin.js +5 -8
  129. package/components/LoginForm.js +21 -47
  130. package/components/PageBroken.js +5 -8
  131. package/components/PageLoading.js +5 -8
  132. package/components/PageLogin.js +14 -17
  133. package/form/FormControl.js +39 -44
  134. package/form/FormControlLoading.js +4 -8
  135. package/form/controls/AttachmentControl.js +56 -60
  136. package/form/controls/AttachmentsControl.js +15 -19
  137. package/form/controls/CurrencyControl.js +10 -13
  138. package/form/controls/DateControl.js +18 -24
  139. package/form/controls/DateRangeControl.js +14 -20
  140. package/form/controls/DateTimeControl.js +39 -45
  141. package/form/controls/DecimalControl.js +8 -11
  142. package/form/controls/DurationControl.js +11 -15
  143. package/form/controls/EmailControl.js +7 -10
  144. package/form/controls/IntegerControl.js +4 -7
  145. package/form/controls/LookupControl.d.ts +1 -0
  146. package/form/controls/LookupControl.js +75 -38
  147. package/form/controls/MultiSelectControl.js +8 -11
  148. package/form/controls/MultiSelectLookupControl.js +40 -43
  149. package/form/controls/PasswordControl.js +8 -11
  150. package/form/controls/RichTextControl.js +5 -32
  151. package/form/controls/SelectControl.js +8 -11
  152. package/form/controls/SwitchControl.js +4 -7
  153. package/form/controls/TelephoneControl.js +7 -10
  154. package/form/controls/TextAreaControl.js +4 -7
  155. package/form/controls/TextControl.js +5 -8
  156. package/form/controls/UrlControl.js +7 -10
  157. package/form/controls/types.js +1 -2
  158. package/form/controls/useLookupData.js +14 -18
  159. package/form/layout/FormBody/FormBody.js +6 -10
  160. package/form/layout/FormBody/index.js +1 -17
  161. package/form/layout/FormSection/FormSection.js +18 -22
  162. package/form/layout/FormSection/FormSectionColumn.js +3 -7
  163. package/form/layout/FormSection/FormSectionLoading.js +1 -5
  164. package/form/layout/FormSection/index.js +1 -5
  165. package/form/layout/FormTab/FormTab.js +16 -20
  166. package/form/layout/FormTab/FormTabColumn.js +5 -9
  167. package/form/layout/FormTab/index.js +1 -5
  168. package/form/layout/TabContext.js +2 -5
  169. package/form/layout/index.js +3 -9
  170. package/form/types.js +1 -2
  171. package/package.json +3 -2
  172. package/types/index.js +1 -2
  173. package/utils/avatar.d.ts +2 -0
  174. package/utils/avatar.js +42 -0
@@ -1,9 +1,5 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GridHeaderContainer = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const GridHeaderDesktop_1 = require("./GridHeaderDesktop");
6
- const GridHeaderContainer = () => {
7
- return (0, jsx_runtime_1.jsx)(GridHeaderDesktop_1.GridHeaderDesktop, {});
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { GridHeaderDesktop } from './GridHeaderDesktop';
3
+ export const GridHeaderContainer = () => {
4
+ return _jsx(GridHeaderDesktop, {});
8
5
  };
9
- exports.GridHeaderContainer = GridHeaderContainer;
@@ -1,42 +1,38 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GridHeaderDesktop = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_components_1 = require("@fluentui/react-components");
6
- const hooks_1 = require("@headless-adminapp/app/datagrid/hooks");
7
- const locale_1 = require("@headless-adminapp/app/locale");
8
- const icons_1 = require("@headless-adminapp/icons");
9
- const react_1 = require("react");
10
- const AppStringContext_1 = require("../App/AppStringContext");
11
- const PageEntityViewStringContext_1 = require("../PageEntityView/PageEntityViewStringContext");
12
- const CustomizeColumns_1 = require("./CustomizeColumns");
13
- const GridHeaderDesktop = (props) => {
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Input, Menu, MenuItem, MenuList, MenuPopover, MenuTrigger, tokens, } from '@fluentui/react-components';
3
+ import { useChangeView, useGridViewLookupData, useSearchText, useSelectedView, } from '@headless-adminapp/app/datagrid/hooks';
4
+ import { useLocale } from '@headless-adminapp/app/locale';
5
+ import { Icons } from '@headless-adminapp/icons';
6
+ import { useState } from 'react';
7
+ import { useAppStrings } from '../App/AppStringContext';
8
+ import { usePageEntityViewStrings } from '../PageEntityView/PageEntityViewStringContext';
9
+ import { CustomizeColumns } from './CustomizeColumns';
10
+ export const GridHeaderDesktop = (props) => {
14
11
  var _a, _b;
15
- const viewLookup = (0, hooks_1.useGridViewLookupData)();
16
- const selectedView = (0, hooks_1.useSelectedView)();
17
- const changeView = (0, hooks_1.useChangeView)();
18
- const [searchText, setSearchText] = (0, hooks_1.useSearchText)();
19
- const [isColumnCustomizationOpen, setIsColumnCustomizationOpen] = (0, react_1.useState)(false);
20
- const { language } = (0, locale_1.useLocale)();
21
- const strings = (0, PageEntityViewStringContext_1.usePageEntityViewStrings)();
22
- const appStrings = (0, AppStringContext_1.useAppStrings)();
23
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
12
+ const viewLookup = useGridViewLookupData();
13
+ const selectedView = useSelectedView();
14
+ const changeView = useChangeView();
15
+ const [searchText, setSearchText] = useSearchText();
16
+ const [isColumnCustomizationOpen, setIsColumnCustomizationOpen] = useState(false);
17
+ const { language } = useLocale();
18
+ const strings = usePageEntityViewStrings();
19
+ const appStrings = useAppStrings();
20
+ return (_jsxs("div", { style: {
24
21
  alignItems: 'center',
25
22
  paddingInline: 8,
26
23
  gap: 16,
27
24
  display: 'flex',
28
- }, children: [(0, jsx_runtime_1.jsx)(CustomizeColumns_1.CustomizeColumns, { opened: isColumnCustomizationOpen, onClose: () => setIsColumnCustomizationOpen(false) }), (0, jsx_runtime_1.jsx)("div", { style: {
25
+ }, children: [_jsx(CustomizeColumns, { opened: isColumnCustomizationOpen, onClose: () => setIsColumnCustomizationOpen(false) }), _jsx("div", { style: {
29
26
  flex: 1,
30
27
  alignItems: 'center',
31
28
  gap: 16,
32
29
  justifyContent: 'space-between',
33
30
  display: 'flex',
34
- }, children: (0, jsx_runtime_1.jsxs)(react_components_1.Menu, { children: [(0, jsx_runtime_1.jsx)(react_components_1.MenuTrigger, { children: (0, jsx_runtime_1.jsx)(react_components_1.Button, { appearance: "subtle", icon: (0, jsx_runtime_1.jsx)(icons_1.Icons.ChevronDown, {}), iconPosition: "after", style: {
35
- fontSize: react_components_1.tokens.fontSizeBase400,
36
- fontWeight: react_components_1.tokens.fontWeightMedium,
37
- }, children: (_b = (_a = selectedView.localizedNames) === null || _a === void 0 ? void 0 : _a[language]) !== null && _b !== void 0 ? _b : selectedView.name }) }), (0, jsx_runtime_1.jsx)(react_components_1.MenuPopover, { children: (0, jsx_runtime_1.jsx)(react_components_1.MenuList, { children: viewLookup.map((view) => {
31
+ }, children: _jsxs(Menu, { children: [_jsx(MenuTrigger, { children: _jsx(Button, { appearance: "subtle", icon: _jsx(Icons.ChevronDown, {}), iconPosition: "after", style: {
32
+ fontSize: tokens.fontSizeBase400,
33
+ fontWeight: tokens.fontWeightMedium,
34
+ }, children: (_b = (_a = selectedView.localizedNames) === null || _a === void 0 ? void 0 : _a[language]) !== null && _b !== void 0 ? _b : selectedView.name }) }), _jsx(MenuPopover, { children: _jsx(MenuList, { children: viewLookup.map((view) => {
38
35
  var _a, _b;
39
- return ((0, jsx_runtime_1.jsx)(react_components_1.MenuItem, { onClick: () => changeView(view.id), children: (_b = (_a = view.localizedNames) === null || _a === void 0 ? void 0 : _a[language]) !== null && _b !== void 0 ? _b : view.name }, view.id));
40
- }) }) })] }) }), (0, jsx_runtime_1.jsxs)("div", { style: { alignItems: 'center', display: 'flex', gap: 16 }, children: [props.headingRight, (0, jsx_runtime_1.jsx)(react_components_1.Button, { appearance: "subtle", icon: (0, jsx_runtime_1.jsx)(icons_1.Icons.EditColumns, { size: 24 }), onClick: () => setIsColumnCustomizationOpen(true), children: strings.editColumns }), (0, jsx_runtime_1.jsx)(react_components_1.Input, { contentBefore: (0, jsx_runtime_1.jsx)(icons_1.Icons.Search, { size: 16 }), placeholder: appStrings.searchPlaceholder, value: searchText, onChange: (e) => setSearchText(e.target.value), appearance: "filled-darker" })] })] }));
36
+ return (_jsx(MenuItem, { onClick: () => changeView(view.id), children: (_b = (_a = view.localizedNames) === null || _a === void 0 ? void 0 : _a[language]) !== null && _b !== void 0 ? _b : view.name }, view.id));
37
+ }) }) })] }) }), _jsxs("div", { style: { alignItems: 'center', display: 'flex', gap: 16 }, children: [props.headingRight, _jsx(Button, { appearance: "subtle", icon: _jsx(Icons.EditColumns, { size: 24 }), onClick: () => setIsColumnCustomizationOpen(true), children: strings.editColumns }), _jsx(Input, { contentBefore: _jsx(Icons.Search, { size: 16 }), placeholder: appStrings.searchPlaceholder, value: searchText, onChange: (e) => setSearchText(e.target.value), appearance: "filled-darker" })] })] }));
41
38
  };
42
- exports.GridHeaderDesktop = GridHeaderDesktop;
@@ -1,32 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GridHeaderMobile = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_components_1 = require("@fluentui/react-components");
6
- const hooks_1 = require("@headless-adminapp/app/datagrid/hooks");
7
- const locale_1 = require("@headless-adminapp/app/locale");
8
- const icons_1 = require("@headless-adminapp/icons");
9
- const AppStringContext_1 = require("../App/AppStringContext");
10
- const GridHeaderMobile = () => {
11
- const viewLookup = (0, hooks_1.useGridViewLookupData)();
12
- const selectedView = (0, hooks_1.useSelectedView)();
13
- const changeView = (0, hooks_1.useChangeView)();
14
- const [searchText, setSearchText] = (0, hooks_1.useSearchText)();
15
- const { language } = (0, locale_1.useLocale)();
16
- const appStrings = (0, AppStringContext_1.useAppStrings)();
17
- return ((0, jsx_runtime_1.jsxs)("div", { style: {
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Input, Menu, MenuItem, MenuList, MenuPopover, MenuTrigger, } from '@fluentui/react-components';
3
+ import { useChangeView, useGridViewLookupData, useSearchText, useSelectedView, } from '@headless-adminapp/app/datagrid/hooks';
4
+ import { useLocale } from '@headless-adminapp/app/locale';
5
+ import { Icons } from '@headless-adminapp/icons';
6
+ import { useAppStrings } from '../App/AppStringContext';
7
+ export const GridHeaderMobile = () => {
8
+ const viewLookup = useGridViewLookupData();
9
+ const selectedView = useSelectedView();
10
+ const changeView = useChangeView();
11
+ const [searchText, setSearchText] = useSearchText();
12
+ const { language } = useLocale();
13
+ const appStrings = useAppStrings();
14
+ return (_jsxs("div", { style: {
18
15
  alignItems: 'center',
19
16
  paddingInline: 8,
20
17
  gap: 8,
21
18
  display: 'flex',
22
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: { alignItems: 'center', display: 'flex', gap: 16, flex: 1 }, children: (0, jsx_runtime_1.jsx)(react_components_1.Input, { contentBefore: (0, jsx_runtime_1.jsx)(icons_1.Icons.Search, { size: 16 }), placeholder: appStrings.searchPlaceholder, value: searchText, onChange: (e) => setSearchText(e.target.value), style: { flex: 1 } }) }), (0, jsx_runtime_1.jsx)("div", { style: {
19
+ }, children: [_jsx("div", { style: { alignItems: 'center', display: 'flex', gap: 16, flex: 1 }, children: _jsx(Input, { contentBefore: _jsx(Icons.Search, { size: 16 }), placeholder: appStrings.searchPlaceholder, value: searchText, onChange: (e) => setSearchText(e.target.value), style: { flex: 1 } }) }), _jsx("div", { style: {
23
20
  alignItems: 'center',
24
21
  gap: 16,
25
22
  justifyContent: 'space-between',
26
23
  display: 'flex',
27
- }, children: (0, jsx_runtime_1.jsxs)(react_components_1.Menu, { hasIcons: true, children: [(0, jsx_runtime_1.jsx)(react_components_1.MenuTrigger, { children: (0, jsx_runtime_1.jsx)(react_components_1.Button, { appearance: "subtle", icon: (0, jsx_runtime_1.jsx)(icons_1.Icons.Filter, {}), iconPosition: "after" }) }), (0, jsx_runtime_1.jsx)(react_components_1.MenuPopover, { children: (0, jsx_runtime_1.jsx)(react_components_1.MenuList, { children: viewLookup.map((view) => {
24
+ }, children: _jsxs(Menu, { hasIcons: true, children: [_jsx(MenuTrigger, { children: _jsx(Button, { appearance: "subtle", icon: _jsx(Icons.Filter, {}), iconPosition: "after" }) }), _jsx(MenuPopover, { children: _jsx(MenuList, { children: viewLookup.map((view) => {
28
25
  var _a, _b;
29
- return ((0, jsx_runtime_1.jsx)(react_components_1.MenuItem, { onClick: () => changeView(view.id), icon: selectedView.id === view.id ? ((0, jsx_runtime_1.jsx)(icons_1.Icons.Checkmark, {})) : undefined, children: (_b = (_a = view.localizedNames) === null || _a === void 0 ? void 0 : _a[language]) !== null && _b !== void 0 ? _b : view.name }, view.id));
26
+ return (_jsx(MenuItem, { onClick: () => changeView(view.id), icon: selectedView.id === view.id ? (_jsx(Icons.Checkmark, {})) : undefined, children: (_b = (_a = view.localizedNames) === null || _a === void 0 ? void 0 : _a[language]) !== null && _b !== void 0 ? _b : view.name }, view.id));
30
27
  }) }) })] }) })] }));
31
28
  };
32
- exports.GridHeaderMobile = GridHeaderMobile;
@@ -1,45 +1,42 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GridListContainer = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_components_1 = require("@fluentui/react-components");
6
- const ScrollbarWithMoreDataRequest_1 = require("@headless-adminapp/app/components/ScrollbarWithMoreDataRequest");
7
- const datagrid_1 = require("@headless-adminapp/app/datagrid");
8
- const hooks_1 = require("@headless-adminapp/app/datagrid/hooks");
9
- const locale_1 = require("@headless-adminapp/app/locale");
10
- const mutable_1 = require("@headless-adminapp/app/mutable");
11
- const navigation_1 = require("@headless-adminapp/app/navigation");
12
- const hooks_2 = require("@headless-adminapp/app/recordset/hooks");
13
- const react_virtual_1 = require("@tanstack/react-virtual");
14
- const react_1 = require("react");
15
- const uuid_1 = require("uuid");
16
- const RecordCard_1 = require("../PageEntityForm/RecordCard");
17
- const RecordCardLoading_1 = require("../PageEntityForm/RecordCardLoading");
18
- const useStyles = (0, react_components_1.makeStyles)({
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { makeStyles, mergeClasses, tokens } from '@fluentui/react-components';
3
+ import { ScrollbarWithMoreDataRequest } from '@headless-adminapp/app/components/ScrollbarWithMoreDataRequest';
4
+ import { GridContext } from '@headless-adminapp/app/datagrid';
5
+ import { useDataGridSchema, useGridData, useGridDataState, useSelectedView, } from '@headless-adminapp/app/datagrid/hooks';
6
+ import { useLocale } from '@headless-adminapp/app/locale';
7
+ import { useContextSelector } from '@headless-adminapp/app/mutable';
8
+ import { useOpenForm } from '@headless-adminapp/app/navigation';
9
+ import { useRecordSetSetter } from '@headless-adminapp/app/recordset/hooks';
10
+ import { useVirtualizer } from '@tanstack/react-virtual';
11
+ import { useCallback, useMemo, useRef } from 'react';
12
+ import { v4 as uuid } from 'uuid';
13
+ import { RecordCard } from '../PageEntityForm/RecordCard';
14
+ import { RecordCardLoading } from '../PageEntityForm/RecordCardLoading';
15
+ const useStyles = makeStyles({
19
16
  root: {
20
17
  '&:hover': {
21
- background: react_components_1.tokens.colorNeutralBackground1Hover,
18
+ background: tokens.colorNeutralBackground1Hover,
22
19
  },
23
20
  },
24
21
  });
25
22
  const fallbackData = [];
26
- const GridListContainer = () => {
23
+ export const GridListContainer = () => {
27
24
  const styles = useStyles();
28
- const data = (0, hooks_1.useGridData)();
29
- const dataState = (0, hooks_1.useGridDataState)();
30
- const fetchNextPage = (0, mutable_1.useContextSelector)(datagrid_1.GridContext, (state) => state.fetchNextPage);
31
- const schema = (0, hooks_1.useDataGridSchema)();
32
- const view = (0, hooks_1.useSelectedView)();
33
- const tableWrapperRef = (0, react_1.useRef)(null);
34
- const { direction } = (0, locale_1.useLocale)();
35
- const dataRef = (0, react_1.useRef)(data);
25
+ const data = useGridData();
26
+ const dataState = useGridDataState();
27
+ const fetchNextPage = useContextSelector(GridContext, (state) => state.fetchNextPage);
28
+ const schema = useDataGridSchema();
29
+ const view = useSelectedView();
30
+ const tableWrapperRef = useRef(null);
31
+ const { direction } = useLocale();
32
+ const dataRef = useRef(data);
36
33
  dataRef.current = data;
37
- const uniqueRecords = (0, react_1.useMemo)(() => {
34
+ const uniqueRecords = useMemo(() => {
38
35
  var _a;
39
- return ((_a = data === null || data === void 0 ? void 0 : data.records.map((record) => (Object.assign(Object.assign({}, record), { __uuid: (0, uuid_1.v4)() })))) !== null && _a !== void 0 ? _a : fallbackData);
36
+ return ((_a = data === null || data === void 0 ? void 0 : data.records.map((record) => (Object.assign(Object.assign({}, record), { __uuid: uuid() })))) !== null && _a !== void 0 ? _a : fallbackData);
40
37
  }, [data === null || data === void 0 ? void 0 : data.records]);
41
38
  const rows = uniqueRecords;
42
- const virtualizer = (0, react_virtual_1.useVirtualizer)({
39
+ const virtualizer = useVirtualizer({
43
40
  count: rows.length,
44
41
  getScrollElement: () => { var _a, _b; return (_b = (_a = tableWrapperRef.current) === null || _a === void 0 ? void 0 : _a.parentElement) === null || _b === void 0 ? void 0 : _b.parentElement; },
45
42
  estimateSize: () => 40,
@@ -48,9 +45,9 @@ const GridListContainer = () => {
48
45
  });
49
46
  const virtualItems = virtualizer.getVirtualItems();
50
47
  const virtualSize = virtualizer.getTotalSize();
51
- const recordSetSetter = (0, hooks_2.useRecordSetSetter)();
52
- const openFormInternal = (0, navigation_1.useOpenForm)();
53
- const openRecord = (0, react_1.useCallback)((id) => {
48
+ const recordSetSetter = useRecordSetSetter();
49
+ const openFormInternal = useOpenForm();
50
+ const openRecord = useCallback((id) => {
54
51
  var _a, _b;
55
52
  recordSetSetter(schema.logicalName, (_b = (_a = dataRef.current) === null || _a === void 0 ? void 0 : _a.records.map((x) => x[schema.idAttribute])) !== null && _b !== void 0 ? _b : []);
56
53
  openFormInternal({
@@ -58,34 +55,33 @@ const GridListContainer = () => {
58
55
  id,
59
56
  });
60
57
  }, [openFormInternal, recordSetSetter, schema.idAttribute, schema.logicalName]);
61
- return ((0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flex: 1, flexDirection: 'column' }, children: (0, jsx_runtime_1.jsx)(ScrollbarWithMoreDataRequest_1.ScrollbarWithMoreDataRequest, { data: data === null || data === void 0 ? void 0 : data.records, hasMore: dataState === null || dataState === void 0 ? void 0 : dataState.hasNextPage, rtl: direction === 'rtl', onRequestMore: () => {
58
+ return (_jsx("div", { style: { display: 'flex', flex: 1, flexDirection: 'column' }, children: _jsx(ScrollbarWithMoreDataRequest, { data: data === null || data === void 0 ? void 0 : data.records, hasMore: dataState === null || dataState === void 0 ? void 0 : dataState.hasNextPage, rtl: direction === 'rtl', onRequestMore: () => {
62
59
  fetchNextPage();
63
- }, children: (0, jsx_runtime_1.jsx)("div", { style: {
60
+ }, children: _jsx("div", { style: {
64
61
  position: 'relative',
65
- }, ref: tableWrapperRef, children: (0, jsx_runtime_1.jsxs)("div", { style: {
62
+ }, ref: tableWrapperRef, children: _jsxs("div", { style: {
66
63
  display: 'flex',
67
64
  flexDirection: 'column',
68
65
  width: '100%',
69
66
  height: virtualizer.getTotalSize(),
70
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
67
+ }, children: [_jsx("div", { style: {
71
68
  display: 'flex',
72
69
  flexDirection: 'column',
73
70
  }, children: virtualItems.map((virtualRow) => {
74
71
  const row = rows[virtualRow.index];
75
- return ((0, jsx_runtime_1.jsx)("div", { ref: virtualizer.measureElement, "data-index": virtualRow.index, className: (0, react_components_1.mergeClasses)(styles.root), style: {
72
+ return (_jsx("div", { ref: virtualizer.measureElement, "data-index": virtualRow.index, className: mergeClasses(styles.root), style: {
76
73
  width: '100%',
77
74
  position: 'absolute',
78
75
  transform: `translateY(${virtualRow.start}px)`,
79
76
  }, onClick: () => {
80
77
  const id = row[schema.idAttribute];
81
78
  openRecord(id);
82
- }, children: (0, jsx_runtime_1.jsx)(RecordCard_1.RecordCard, { cardView: view.experience.card, record: row, schema: schema, selected: false }) }, virtualRow.key));
83
- }) }), dataState.isFetching && ((0, jsx_runtime_1.jsx)("div", { style: {
79
+ }, children: _jsx(RecordCard, { cardView: view.experience.card, record: row, schema: schema, selected: false }) }, virtualRow.key));
80
+ }) }), dataState.isFetching && (_jsx("div", { style: {
84
81
  display: 'flex',
85
82
  flexDirection: 'column',
86
83
  width: '100%',
87
84
  position: 'absolute',
88
85
  transform: `translateY(${virtualSize}px)`,
89
- }, children: Array.from({ length: 10 }).map((_, index) => ((0, jsx_runtime_1.jsx)(RecordCardLoading_1.RecordCardLoading, { cardView: view.experience.card, schema: schema }, index))) }))] }) }) }) }));
86
+ }, children: Array.from({ length: 10 }).map((_, index) => (_jsx(RecordCardLoading, { cardView: view.experience.card, schema: schema }, index))) }))] }) }) }) }));
90
87
  };
91
- exports.GridListContainer = GridListContainer;
@@ -1,20 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GridPaginationContainer = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
- const react_components_1 = require("@fluentui/react-components");
6
- const hooks_1 = require("@headless-adminapp/app/datagrid/hooks");
7
- const react_1 = require("react");
8
- const PageEntityViewStringContext_1 = require("../PageEntityView/PageEntityViewStringContext");
9
- const GridPaginationContainer = () => {
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Body1, tokens } from '@fluentui/react-components';
3
+ import { useGridData, useGridSelection, } from '@headless-adminapp/app/datagrid/hooks';
4
+ import { Fragment } from 'react';
5
+ import { usePageEntityViewStrings } from '../PageEntityView/PageEntityViewStringContext';
6
+ export const GridPaginationContainer = () => {
10
7
  var _a, _b, _c;
11
- const data = (0, hooks_1.useGridData)();
12
- const [selectedIds] = (0, hooks_1.useGridSelection)();
13
- const strings = (0, PageEntityViewStringContext_1.usePageEntityViewStrings)();
14
- return ((0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)(react_components_1.Body1, { style: {
15
- color: react_components_1.tokens.colorNeutralForeground3,
8
+ const data = useGridData();
9
+ const [selectedIds] = useGridSelection();
10
+ const strings = usePageEntityViewStrings();
11
+ return (_jsx("div", { children: _jsxs(Body1, { style: {
12
+ color: tokens.colorNeutralForeground3,
16
13
  display: 'flex',
17
14
  gap: 8,
18
- }, children: [(0, jsx_runtime_1.jsxs)("span", { children: [strings.records, ": ", (_a = data === null || data === void 0 ? void 0 : data.count) !== null && _a !== void 0 ? _a : '-'] }), (0, jsx_runtime_1.jsx)("span", { children: "|" }), (0, jsx_runtime_1.jsxs)("span", { children: [strings.loaded, ": ", (_b = data === null || data === void 0 ? void 0 : data.records.length) !== null && _b !== void 0 ? _b : '-'] }), (selectedIds.length > 0 || ((_c = data === null || data === void 0 ? void 0 : data.count) !== null && _c !== void 0 ? _c : 0) > 0) && ((0, jsx_runtime_1.jsxs)(react_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("span", { children: "|" }), (0, jsx_runtime_1.jsxs)("span", { children: [strings.selected, ": ", selectedIds.length] })] }))] }) }));
15
+ }, children: [_jsxs("span", { children: [strings.records, ": ", (_a = data === null || data === void 0 ? void 0 : data.count) !== null && _a !== void 0 ? _a : '-'] }), _jsx("span", { children: "|" }), _jsxs("span", { children: [strings.loaded, ": ", (_b = data === null || data === void 0 ? void 0 : data.records.length) !== null && _b !== void 0 ? _b : '-'] }), (selectedIds.length > 0 || ((_c = data === null || data === void 0 ? void 0 : data.count) !== null && _c !== void 0 ? _c : 0) > 0) && (_jsxs(Fragment, { children: [_jsx("span", { children: "|" }), _jsxs("span", { children: [strings.selected, ": ", selectedIds.length] })] }))] }) }));
19
16
  };
20
- exports.GridPaginationContainer = GridPaginationContainer;