@talxis/base-controls 1.2509.1-alpha.4 → 1.2509.1-alpha.5
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.
|
@@ -17,6 +17,7 @@ const ColumnHeader = (props) => {
|
|
|
17
17
|
const buttonRef = useRef(null);
|
|
18
18
|
const rerender = useRerender();
|
|
19
19
|
useEventEmitter(agGrid, 'onRefresh', rerender);
|
|
20
|
+
//needs to be called with onTouchEnd as well since ag grid cancels the click event on them
|
|
20
21
|
const onClick = () => {
|
|
21
22
|
if ((!column.isFilterable && column.disableSorting && !column.canBeAggregated)) {
|
|
22
23
|
return;
|
|
@@ -52,7 +53,7 @@ const ColumnHeader = (props) => {
|
|
|
52
53
|
}
|
|
53
54
|
return false;
|
|
54
55
|
};
|
|
55
|
-
return (jsxs(Fragment, { children: [jsx("div", { ref: buttonRef, onClick: onClick, children: jsx(NestedControlRenderer, { context: grid.getPcfContext(), parameters: {
|
|
56
|
+
return (jsxs(Fragment, { children: [jsx("div", { ref: buttonRef, onClick: onClick, onTouchEnd: onClick, children: jsx(NestedControlRenderer, { context: grid.getPcfContext(), parameters: {
|
|
56
57
|
ControlName: 'GridColumnHeader',
|
|
57
58
|
Bindings: {
|
|
58
59
|
Column: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnHeader.js","sources":["../../../../../src/components/Grid/column-headers/column-header/ColumnHeader.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CommandBarButton, Icon, Label, useTheme } from '@fluentui/react';\nimport React from 'react';\nimport { useGridInstance } from '../../grid/useGridInstance';\nimport { IGridColumn } from '../../grid/GridModel';\nimport { ColumnHeaderContextualMenu, IColumnHeaderContextualMenuProps } from './ColumnHeaderContextualMenu';\nimport { FilterCallout } from './FilterCallout';\nimport { NestedControlRenderer } from '../../../NestedControlRenderer';\nimport { useRerender } from '@talxis/react-components';\nimport { useAgGridInstance } from '../../grid/ag-grid/useAgGridInstance';\nimport { useEventEmitter } from '../../../../hooks/useEventEmitter';\nimport { IAgGridModelEvents } from '../../grid/ag-grid/AgGridModel';\n\nexport interface IColumnHeader {\n baseColumn: IGridColumn;\n}\n\nexport const ColumnHeader = (props: IColumnHeader) => {\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const column = grid.getGridColumnByName(props.baseColumn.name);\n const [columnHeaderContextualMenuProps, setColumnHeaderContextualMenuProps] = useState<IColumnHeaderContextualMenuProps | null>(null);\n const [filterCalloutProps, setFilterCalloutProps] = useState<any | null>(null);\n const buttonRef = useRef<HTMLDivElement>(null);\n const rerender = useRerender();\n useEventEmitter<IAgGridModelEvents>(agGrid, 'onRefresh', rerender);\n\n const onClick = () => {\n if ((!column.isFilterable && column.disableSorting && !column.canBeAggregated)) {\n return;\n }\n setColumnHeaderContextualMenuProps({\n column: column,\n onDismiss: (e, dismissAll, showFilterCallout) => {\n setColumnHeaderContextualMenuProps(null);\n if (!showFilterCallout) {\n return;\n }\n setFilterCalloutProps({\n column: column,\n onDismiss: () => {\n setFilterCalloutProps(null)\n }\n })\n }\n });\n }\n const preventDismissOnEvent = (e: Event | React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element> | React.FocusEvent<Element, Element>) => {\n if (e.type !== 'scroll') {\n return false;\n }\n const target = e.target as HTMLElement;\n //check for vertical scroll\n if (target?.classList?.contains('ag-body-viewport') || target?.classList?.contains('ag-body-vertical-scroll-viewport')) {\n return true;\n }\n //ios outputs horizontal scroll if focused in callout btn which would result in dismiss of callout\n if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n return true;\n }\n return false;\n }\n return (\n <>\n <div ref={buttonRef} onClick={onClick}>\n <NestedControlRenderer\n context={grid.getPcfContext()}\n parameters={{\n ControlName: 'GridColumnHeader',\n Bindings: {\n Column: {\n isStatic: true,\n value: column,\n type: 'Object',\n },\n Dataset: {\n value: grid.getDataset(),\n isStatic: true,\n type: 'Object',\n },\n EnableEditing: {\n isStatic: true,\n value: grid.isEditingEnabled(),\n type: 'TwoOptions'\n }\n }\n }}\n />\n </div>\n {columnHeaderContextualMenuProps &&\n <ColumnHeaderContextualMenu\n target={buttonRef}\n calloutProps={{\n preventDismissOnEvent: preventDismissOnEvent\n }}\n {...columnHeaderContextualMenuProps} />\n }\n {filterCalloutProps &&\n <FilterCallout preventDismissOnEvent={preventDismissOnEvent} target={buttonRef} {...filterCalloutProps} />\n }\n </>\n )\n};"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;AAiBa,MAAA,YAAY,GAAG,CAAC,KAAoB,KAAI;AACjD,IAAA,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;AAC/B,IAAA,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;AACnC,IAAA,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,CAAC,+BAA+B,EAAE,kCAAkC,CAAC,GAAG,QAAQ,CAA0C,IAAI,CAAC,CAAC;IACtI,MAAM,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,GAAG,QAAQ,CAAa,IAAI,CAAC,CAAC;AAC/E,IAAA,MAAM,SAAS,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;AAC/C,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;AAC/B,IAAA,eAAe,CAAqB,MAAM,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"ColumnHeader.js","sources":["../../../../../src/components/Grid/column-headers/column-header/ColumnHeader.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CommandBarButton, Icon, Label, useTheme } from '@fluentui/react';\nimport React from 'react';\nimport { useGridInstance } from '../../grid/useGridInstance';\nimport { IGridColumn } from '../../grid/GridModel';\nimport { ColumnHeaderContextualMenu, IColumnHeaderContextualMenuProps } from './ColumnHeaderContextualMenu';\nimport { FilterCallout } from './FilterCallout';\nimport { NestedControlRenderer } from '../../../NestedControlRenderer';\nimport { useRerender } from '@talxis/react-components';\nimport { useAgGridInstance } from '../../grid/ag-grid/useAgGridInstance';\nimport { useEventEmitter } from '../../../../hooks/useEventEmitter';\nimport { IAgGridModelEvents } from '../../grid/ag-grid/AgGridModel';\n\nexport interface IColumnHeader {\n baseColumn: IGridColumn;\n}\n\nexport const ColumnHeader = (props: IColumnHeader) => {\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const column = grid.getGridColumnByName(props.baseColumn.name);\n const [columnHeaderContextualMenuProps, setColumnHeaderContextualMenuProps] = useState<IColumnHeaderContextualMenuProps | null>(null);\n const [filterCalloutProps, setFilterCalloutProps] = useState<any | null>(null);\n const buttonRef = useRef<HTMLDivElement>(null);\n const rerender = useRerender();\n useEventEmitter<IAgGridModelEvents>(agGrid, 'onRefresh', rerender);\n\n\n //needs to be called with onTouchEnd as well since ag grid cancels the click event on them\n const onClick = () => {\n if ((!column.isFilterable && column.disableSorting && !column.canBeAggregated)) {\n return;\n }\n setColumnHeaderContextualMenuProps({\n column: column,\n onDismiss: (e, dismissAll, showFilterCallout) => {\n setColumnHeaderContextualMenuProps(null);\n if (!showFilterCallout) {\n return;\n }\n setFilterCalloutProps({\n column: column,\n onDismiss: () => {\n setFilterCalloutProps(null)\n }\n })\n }\n });\n }\n const preventDismissOnEvent = (e: Event | React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element> | React.FocusEvent<Element, Element>) => {\n if (e.type !== 'scroll') {\n return false;\n }\n const target = e.target as HTMLElement;\n //check for vertical scroll\n if (target?.classList?.contains('ag-body-viewport') || target?.classList?.contains('ag-body-vertical-scroll-viewport')) {\n return true;\n }\n //ios outputs horizontal scroll if focused in callout btn which would result in dismiss of callout\n if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n return true;\n }\n return false;\n }\n return (\n <>\n <div ref={buttonRef} onClick={onClick} onTouchEnd={onClick}>\n <NestedControlRenderer\n context={grid.getPcfContext()}\n parameters={{\n ControlName: 'GridColumnHeader',\n Bindings: {\n Column: {\n isStatic: true,\n value: column,\n type: 'Object',\n },\n Dataset: {\n value: grid.getDataset(),\n isStatic: true,\n type: 'Object',\n },\n EnableEditing: {\n isStatic: true,\n value: grid.isEditingEnabled(),\n type: 'TwoOptions'\n }\n }\n }}\n />\n </div>\n {columnHeaderContextualMenuProps &&\n <ColumnHeaderContextualMenu\n target={buttonRef}\n calloutProps={{\n preventDismissOnEvent: preventDismissOnEvent\n }}\n {...columnHeaderContextualMenuProps} />\n }\n {filterCalloutProps &&\n <FilterCallout preventDismissOnEvent={preventDismissOnEvent} target={buttonRef} {...filterCalloutProps} />\n }\n </>\n )\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
package/package.json
CHANGED