@talxis/base-controls 1.2601.3 → 1.2601.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetControl.js","sources":["../../../src/components/DatasetControl/DatasetControl.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { useControl } from \"../../hooks\";\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { datasetControlTranslations } from \"./translations\";\nimport { useRerender } from \"@talxis/react-components\";\nimport { DatasetControlModel } from \"./DatasetControlModel\";\nimport { ModelContext } from \"./useModel\";\nimport { Pagination } from \"./Pagination/Pagination\";\nimport { getDatasetControlStyles } from \"./styles\";\nimport { Header } from \"./Header/Header\";\nimport { useEventEmitter } from \"../../hooks/useEventEmitter\";\nimport { IDataProviderEventListeners } from \"@talxis/client-libraries\";\nimport { IDatasetControlProps } from \"./interfaces\";\nimport { IDatasetControlEvents } from \"../../utils/dataset-control\";\n\nexport const DatasetControl = (props: IDatasetControlProps) => {\n const { labels, theme } = useControl('DatasetControl', {\n ...props,\n context: props.onGetDatasetControlInstance().getPcfContext(),\n parameters: props.onGetDatasetControlInstance().getParameters(),\n }, datasetControlTranslations);\n \n const propsRef = useRef<IDatasetControlProps>(props);\n propsRef.current = props;\n const datasetControl = propsRef.current.onGetDatasetControlInstance();\n const model = useMemo(() => new DatasetControlModel({\n datasetControl: datasetControl,\n getLabels: () => labels,\n }), []);\n useMemo(() => props.onGetDatasetControlInstance().init(), []);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n const rerender = useRerender();\n const styles = useMemo(() => getDatasetControlStyles(datasetControl.getHeight()), [datasetControl.getHeight()]);\n const dataset = datasetControl.getDataset();\n\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onNewDataLoaded', rerender);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onRenderRequested', rerender);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onBeforeNewDataLoaded', rerender);\n\n\n const componentProps = onOverrideComponentProps({\n onRender: (props, defaultRender) => defaultRender(props),\n })\n\n const isFooterVisible = () => {\n switch (true) {\n case datasetControl.isPaginationVisible():\n case datasetControl.isRecordCountVisible():\n case datasetControl.isPageSizeSwitcherVisible():\n return true;\n default:\n return false;\n }\n }\n\n const isPaginationVisible = () => {\n return isFooterVisible();\n }\n\n useEffect(() => {\n return () => {\n datasetControl.destroy();\n }\n }, []);\n\n return <ModelContext.Provider value={model}>\n {componentProps.onRender({\n container: {\n theme: theme,\n className: styles.datasetControlRoot\n },\n onRenderHeader: (props, defaultRender) => defaultRender(props),\n onRenderFooter: (props, defaultRender) => defaultRender(props),\n onRenderControlContainer: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <ThemeProvider {...props.container}>\n <Header onRenderHeader={props.onRenderHeader} />\n {props.onRenderControlContainer({\n controlContainerProps: {\n className: styles.controlContainer\n },\n\n }, (props) => {\n const { onOverrideComponentProps, ...filteredProps } = propsRef.current;\n return <div {...props.controlContainerProps}>\n {propsRef.current.onGetControlComponent({\n ...filteredProps,\n parameters: datasetControl.getParameters(),\n context: datasetControl.getPcfContext(),\n state: datasetControl.getState()\n })}\n </div>\n })}\n {props.onRenderFooter({\n footerContainerProps: {\n className: styles.footer\n },\n onRenderPagination: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n if (!isFooterVisible()) {\n return <></>\n }\n return <div {...props.footerContainerProps}>\n {isPaginationVisible() &&\n <Pagination onRenderPagination={props.onRenderPagination} />\n }\n </div>\n })}\n </ThemeProvider>\n })}\n </ModelContext.Provider>\n}"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"DatasetControl.js","sources":["../../../src/components/DatasetControl/DatasetControl.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { useControl } from \"../../hooks\";\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { datasetControlTranslations } from \"./translations\";\nimport { useRerender } from \"@talxis/react-components\";\nimport { DatasetControlModel } from \"./DatasetControlModel\";\nimport { ModelContext } from \"./useModel\";\nimport { Pagination } from \"./Pagination/Pagination\";\nimport { getDatasetControlStyles } from \"./styles\";\nimport { Header } from \"./Header/Header\";\nimport { useEventEmitter } from \"../../hooks/useEventEmitter\";\nimport { IDataProviderEventListeners } from \"@talxis/client-libraries\";\nimport { IDatasetControlProps } from \"./interfaces\";\n\nexport const DatasetControl = (props: IDatasetControlProps) => {\n const { labels, theme } = useControl('DatasetControl', {\n ...props,\n context: props.onGetDatasetControlInstance().getPcfContext(),\n parameters: props.onGetDatasetControlInstance().getParameters(),\n }, datasetControlTranslations);\n \n const propsRef = useRef<IDatasetControlProps>(props);\n propsRef.current = props;\n const datasetControl = propsRef.current.onGetDatasetControlInstance();\n const model = useMemo(() => new DatasetControlModel({\n datasetControl: datasetControl,\n getLabels: () => labels,\n }), []);\n useMemo(() => props.onGetDatasetControlInstance().init(), []);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n const rerender = useRerender();\n const styles = useMemo(() => getDatasetControlStyles(datasetControl.getHeight()), [datasetControl.getHeight()]);\n const dataset = datasetControl.getDataset();\n\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onNewDataLoaded', rerender);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onRenderRequested', rerender);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onBeforeNewDataLoaded', rerender);\n\n\n const componentProps = onOverrideComponentProps({\n onRender: (props, defaultRender) => defaultRender(props),\n })\n\n const isFooterVisible = () => {\n switch (true) {\n case datasetControl.isPaginationVisible():\n case datasetControl.isRecordCountVisible():\n case datasetControl.isPageSizeSwitcherVisible():\n return true;\n default:\n return false;\n }\n }\n\n const isPaginationVisible = () => {\n return isFooterVisible();\n }\n\n useEffect(() => {\n return () => {\n datasetControl.destroy();\n }\n }, []);\n\n return <ModelContext.Provider value={model}>\n {componentProps.onRender({\n container: {\n theme: theme,\n className: styles.datasetControlRoot\n },\n onRenderHeader: (props, defaultRender) => defaultRender(props),\n onRenderFooter: (props, defaultRender) => defaultRender(props),\n onRenderControlContainer: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <ThemeProvider {...props.container}>\n <Header onRenderHeader={props.onRenderHeader} />\n {props.onRenderControlContainer({\n controlContainerProps: {\n className: styles.controlContainer\n },\n\n }, (props) => {\n const { onOverrideComponentProps, ...filteredProps } = propsRef.current;\n return <div {...props.controlContainerProps}>\n {propsRef.current.onGetControlComponent({\n ...filteredProps,\n parameters: datasetControl.getParameters(),\n context: datasetControl.getPcfContext(),\n state: datasetControl.getState()\n })}\n </div>\n })}\n {props.onRenderFooter({\n footerContainerProps: {\n className: styles.footer\n },\n onRenderPagination: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n if (!isFooterVisible()) {\n return <></>\n }\n return <div {...props.footerContainerProps}>\n {isPaginationVisible() &&\n <Pagination onRenderPagination={props.onRenderPagination} />\n }\n </div>\n })}\n </ThemeProvider>\n })}\n </ModelContext.Provider>\n}"],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import { jsx } from 'react/jsx-runtime';
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { useState, useMemo, useEffect } from 'react';
3
3
  import { useModel } from '../useModel.js';
4
4
  import { TextField } from '@talxis/react-components';
5
5
  import { getQuickFindStyles } from './styles.js';
6
+ import { Callout, Text, FontIcon } from '@fluentui/react';
6
7
 
7
8
  const QuickFind = (props) => {
8
9
  const [query, setQuery] = useState('');
@@ -11,10 +12,15 @@ const QuickFind = (props) => {
11
12
  const dataProvider = dataset.getDataProvider();
12
13
  const labels = model.getLabels();
13
14
  const styles = useMemo(() => getQuickFindStyles(), []);
15
+ const id = useMemo(() => `quickfind-${crypto.randomUUID()}`, []);
16
+ const [isCalloutVisible, setIsCalloutVisible] = useState(false);
17
+ const quickFindColumns = dataProvider.getQuickFindColumns();
18
+ const isLikeQuery = query.startsWith('*');
14
19
  const onSearch = (query) => {
15
20
  dataProvider.executeWithUnsavedChangesBlocker(() => {
16
21
  setQuery(query ?? '');
17
22
  dataset.setSearchQuery?.(query ?? '');
23
+ setIsCalloutVisible(false);
18
24
  dataset.refresh();
19
25
  });
20
26
  };
@@ -27,36 +33,90 @@ const QuickFind = (props) => {
27
33
  setQuery(dataset.getSearchQuery?.() ?? '');
28
34
  }, [dataset.getSearchQuery?.()]);
29
35
  return props.onRenderQuickFind({
36
+ containerProps: {
37
+ id: id,
38
+ },
30
39
  onRenderTextField: (props, defaultRender) => defaultRender(props),
31
- textFieldProps: {
32
- value: query,
33
- placeholder: `${labels.search()} ${dataset.getMetadata()?.DisplayCollectionName ?? labels.records()}...`,
34
- styles: {
35
- root: styles.textFieldRoot,
36
- fieldGroup: styles.fieldGroup
37
- },
38
- disabled: dataset.loading,
39
- onChange: (e, newValue) => setQuery(newValue ?? ''),
40
- onKeyUp: onKeyUp,
41
- ...(query ? {
42
- deleteButtonProps: {
43
- key: 'delete',
44
- iconProps: {
45
- iconName: 'Cancel'
46
- },
47
- onClick: () => onSearch(undefined)
48
- }
49
- } : {}),
50
- suffixItems: [{
51
- key: 'search',
52
- iconProps: {
53
- iconName: 'Search'
54
- },
55
- onClick: () => onSearch(query)
56
- }]
57
- }
40
+ onRenderCalloutContainer: (props, defaultRender) => defaultRender(props),
58
41
  }, (props) => {
59
- return jsx(TextField, { ...props.textFieldProps });
42
+ return jsxs("div", { ...props.containerProps, children: [props.onRenderTextField({
43
+ value: query,
44
+ placeholder: `${labels.search()} ${dataset.getMetadata()?.DisplayCollectionName ?? labels.records()}...`,
45
+ styles: {
46
+ root: styles.textFieldRoot,
47
+ fieldGroup: styles.fieldGroup
48
+ },
49
+ disabled: dataset.loading || quickFindColumns.length === 0,
50
+ onClick: () => setIsCalloutVisible(true),
51
+ onBlur: () => setIsCalloutVisible(false),
52
+ onChange: (e, newValue) => setQuery(newValue ?? ''),
53
+ onKeyUp: onKeyUp,
54
+ ...(query ? {
55
+ deleteButtonProps: {
56
+ key: 'delete',
57
+ iconProps: {
58
+ iconName: 'Cancel'
59
+ },
60
+ onClick: () => onSearch(undefined)
61
+ }
62
+ } : {}),
63
+ suffixItems: [{
64
+ key: 'search',
65
+ iconProps: {
66
+ iconName: 'Search'
67
+ },
68
+ onClick: () => onSearch(query)
69
+ }]
70
+ }, (props) => {
71
+ return jsx(TextField, { ...props });
72
+ }), props.onRenderCalloutContainer({
73
+ style: { position: 'absolute' },
74
+ onRenderCallout: (props, defaultRender) => defaultRender(props),
75
+ isVisible: isCalloutVisible
76
+ }, (props) => {
77
+ if (props.isVisible) {
78
+ const { onRenderCallout, isVisible, ...divProps } = props;
79
+ return jsx("div", { ...divProps, children: onRenderCallout({
80
+ target: `#${id}`,
81
+ isVisible: isCalloutVisible && (quickFindColumns.length > 0 || isLikeQuery),
82
+ calloutMaxWidth: 250,
83
+ isLikeQuery: isLikeQuery,
84
+ styles: {
85
+ calloutMain: styles.calloutMain
86
+ },
87
+ hidden: false,
88
+ onDismiss: () => setIsCalloutVisible(false),
89
+ onRenderLikeOperatorWarning: (props, defaultRender) => defaultRender(props),
90
+ onRenderBegingsWithFilterInfo: (props, defaultRender) => defaultRender(props),
91
+ onRenderColumnsList: (props, defaultRender) => defaultRender(props)
92
+ }, (props) => {
93
+ const { onRenderLikeOperatorWarning, onRenderBegingsWithFilterInfo, onRenderColumnsList, isLikeQuery, ...calloutProps } = props;
94
+ return jsxs(Callout, { ...calloutProps, children: [props.isLikeQuery &&
95
+ props.onRenderLikeOperatorWarning({}, (props) => {
96
+ return jsxs(Text, { ...props, children: [jsx(FontIcon, { className: styles.calloutWarningIcon, iconName: "Warning" }), labels["quickfind-like-warning"]()] });
97
+ }), !props.isLikeQuery &&
98
+ props.onRenderBegingsWithFilterInfo({}, (props) => {
99
+ return jsxs(Text, { ...props, children: [labels["quickfind-search-use-filter"](), " ", jsx("span", { className: styles.calloutBoldText, children: labels["quickfind-search-starts-with"]() }), " ", labels["quickfind-search-on-these-columns"]()] });
100
+ }), props.onRenderColumnsList({
101
+ className: styles.calloutColumnsWrapper,
102
+ columns: quickFindColumns,
103
+ onRenderColumnLabel: (props, defaultRender) => defaultRender(props)
104
+ }, (props) => {
105
+ const { onRenderColumnLabel, columns, ...divProps } = props;
106
+ return jsx("div", { ...divProps, children: props.columns.map(col => {
107
+ return props.onRenderColumnLabel({
108
+ key: col.name
109
+ }, (props) => {
110
+ return jsx(Text, { ...props, children: jsx("span", { className: styles.calloutBoldText, children: col.displayName }) });
111
+ });
112
+ }) });
113
+ })] });
114
+ }) });
115
+ }
116
+ else {
117
+ return jsx(Fragment, {});
118
+ }
119
+ })] });
60
120
  });
61
121
  };
62
122
 
@@ -1 +1 @@
1
- {"version":3,"file":"QuickFind.js","sources":["../../../../src/components/DatasetControl/QuickFind/QuickFind.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { IRibbonQuickFindWrapperProps } from \"../interfaces\";\nimport { useModel } from \"../useModel\";\nimport { TextField } from \"@talxis/react-components\";\nimport { getQuickFindStyles } from \"./styles\";\nimport { IInternalDataProvider } from \"@talxis/client-libraries\";\n\nexport const QuickFind = (props: { onRenderQuickFind: IRibbonQuickFindWrapperProps['onRenderQuickFind'] }) => {\n const [query, setQuery] = useState<string>('');\n const model = useModel();\n const dataset = model.getDatasetControl().getDataset();\n const dataProvider = dataset.getDataProvider() as IInternalDataProvider;\n const labels = model.getLabels();\n const styles = useMemo(() => getQuickFindStyles(), []);\n\n const onSearch = (query?: string) => {\n dataProvider.executeWithUnsavedChangesBlocker(() => {\n setQuery(query ?? '');\n dataset.setSearchQuery?.(query ?? '');\n dataset.refresh();\n })\n }\n\n const onKeyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch(query);\n }\n }\n\n useEffect(() => {\n setQuery(dataset.getSearchQuery?.() ?? '');\n }, [dataset.getSearchQuery?.()])\n\n return props.onRenderQuickFind({\n onRenderTextField: (props, defaultRender) => defaultRender(props),\n textFieldProps: {\n value: query,\n placeholder: `${labels.search()} ${dataset.getMetadata()?.DisplayCollectionName ?? labels.records()}...`,\n styles: {\n root: styles.textFieldRoot,\n fieldGroup: styles.fieldGroup\n },\n disabled: dataset.loading,\n onChange: (e, newValue) => setQuery(newValue ?? ''),\n onKeyUp: onKeyUp,\n ...(query ? {\n deleteButtonProps: {\n key: 'delete',\n iconProps: {\n iconName: 'Cancel'\n },\n onClick: () => onSearch(undefined)\n }\n } : {}),\n suffixItems: [{\n key: 'search',\n iconProps: {\n iconName: 'Search'\n },\n onClick: () => onSearch(query)\n }]\n\n\n }\n }, (props) => {\n return <TextField {...props.textFieldProps} />\n })\n}"],"names":["_jsx"],"mappings":";;;;;;AAOa,MAAA,SAAS,GAAG,CAAC,KAA+E,KAAI;IAC3G,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,EAAE,CAAC,CAAC;AAC/C,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC,UAAU,EAAE,CAAC;AACvD,IAAA,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAA2B,CAAC;AACxE,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;AACjC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;AAEvD,IAAA,MAAM,QAAQ,GAAG,CAAC,KAAc,KAAI;AAClC,QAAA,YAAY,CAAC,gCAAgC,CAAC,MAAK;AACjD,YAAA,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACtB,OAAO,CAAC,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;YACtC,OAAO,CAAC,OAAO,EAAE,CAAC;AACpB,SAAC,CAAC,CAAA;AACJ,KAAC,CAAA;AAED,IAAA,MAAM,OAAO,GAAG,CAAC,CAAwC,KAAI;AAC3D,QAAA,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACrB,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjB,SAAA;AACH,KAAC,CAAA;IAED,SAAS,CAAC,MAAK;QACb,QAAQ,CAAC,OAAO,CAAC,cAAc,IAAI,IAAI,EAAE,CAAC,CAAC;KAC5C,EAAE,CAAC,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC,CAAA;IAEhC,OAAO,KAAK,CAAC,iBAAiB,CAAC;QAC7B,iBAAiB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;AACjE,QAAA,cAAc,EAAE;AACd,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,WAAW,EAAE,CAAG,EAAA,MAAM,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,WAAW,EAAE,EAAE,qBAAqB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAK,GAAA,CAAA;AACxG,YAAA,MAAM,EAAE;gBACN,IAAI,EAAE,MAAM,CAAC,aAAa;gBAC1B,UAAU,EAAE,MAAM,CAAC,UAAU;AAC9B,aAAA;YACD,QAAQ,EAAE,OAAO,CAAC,OAAO;AACzB,YAAA,QAAQ,EAAE,CAAC,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;AACnD,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,IAAI,KAAK,GAAG;AACV,gBAAA,iBAAiB,EAAE;AACjB,oBAAA,GAAG,EAAE,QAAQ;AACb,oBAAA,SAAS,EAAE;AACT,wBAAA,QAAQ,EAAE,QAAQ;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE,MAAM,QAAQ,CAAC,SAAS,CAAC;AACnC,iBAAA;aACF,GAAG,EAAE,CAAC;AACP,YAAA,WAAW,EAAE,CAAC;AACZ,oBAAA,GAAG,EAAE,QAAQ;AACb,oBAAA,SAAS,EAAE;AACT,wBAAA,QAAQ,EAAE,QAAQ;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE,MAAM,QAAQ,CAAC,KAAK,CAAC;iBAC/B,CAAC;AAGH,SAAA;KACF,EAAE,CAAC,KAAK,KAAI;AACX,QAAA,OAAOA,IAAC,SAAS,EAAA,EAAA,GAAK,KAAK,CAAC,cAAc,GAAI,CAAA;AAChD,KAAC,CAAC,CAAA;AACJ;;;;"}
1
+ {"version":3,"file":"QuickFind.js","sources":["../../../../src/components/DatasetControl/QuickFind/QuickFind.tsx"],"sourcesContent":["import { useEffect, useMemo, useState } from \"react\";\nimport { IRibbonQuickFindWrapperProps } from \"../interfaces\";\nimport { useModel } from \"../useModel\";\nimport { TextField } from \"@talxis/react-components\";\nimport { getQuickFindStyles } from \"./styles\";\nimport { IInternalDataProvider } from \"@talxis/client-libraries\";\nimport { Callout, FontIcon } from \"@fluentui/react\";\nimport { Text } from \"@fluentui/react\";\n\nexport const QuickFind = (props: { onRenderQuickFind: IRibbonQuickFindWrapperProps['onRenderQuickFind'] }) => {\n const [query, setQuery] = useState<string>('');\n const model = useModel();\n const dataset = model.getDatasetControl().getDataset();\n const dataProvider = dataset.getDataProvider() as IInternalDataProvider;\n const labels = model.getLabels();\n const styles = useMemo(() => getQuickFindStyles(), []);\n const id = useMemo(() => `quickfind-${crypto.randomUUID()}`, []);\n const [isCalloutVisible, setIsCalloutVisible] = useState<boolean>(false);\n const quickFindColumns = dataProvider.getQuickFindColumns();\n const isLikeQuery = query.startsWith('*');\n\n const onSearch = (query?: string) => {\n dataProvider.executeWithUnsavedChangesBlocker(() => {\n setQuery(query ?? '');\n dataset.setSearchQuery?.(query ?? '');\n setIsCalloutVisible(false);\n dataset.refresh();\n })\n }\n\n const onKeyUp = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter') {\n onSearch(query);\n }\n }\n\n useEffect(() => {\n setQuery(dataset.getSearchQuery?.() ?? '');\n }, [dataset.getSearchQuery?.()])\n\n return props.onRenderQuickFind({\n containerProps: {\n id: id,\n },\n onRenderTextField: (props, defaultRender) => defaultRender(props),\n onRenderCalloutContainer: (props, defaultRender) => defaultRender(props),\n }, (props) => {\n return <div {...props.containerProps}>\n {props.onRenderTextField({\n value: query,\n placeholder: `${labels.search()} ${dataset.getMetadata()?.DisplayCollectionName ?? labels.records()}...`,\n styles: {\n root: styles.textFieldRoot,\n fieldGroup: styles.fieldGroup\n },\n disabled: dataset.loading || quickFindColumns.length === 0,\n onClick: () => setIsCalloutVisible(true),\n onBlur: () => setIsCalloutVisible(false),\n onChange: (e, newValue) => setQuery(newValue ?? ''),\n onKeyUp: onKeyUp,\n ...(query ? {\n deleteButtonProps: {\n key: 'delete',\n iconProps: {\n iconName: 'Cancel'\n },\n onClick: () => onSearch(undefined)\n }\n } : {}),\n suffixItems: [{\n key: 'search',\n iconProps: {\n iconName: 'Search'\n },\n onClick: () => onSearch(query)\n }]\n }, (props) => {\n return <TextField {...props} />\n })}\n {props.onRenderCalloutContainer({\n style: { position: 'absolute' },\n onRenderCallout: (props, defaultRender) => defaultRender(props),\n isVisible: isCalloutVisible\n }, (props) => {\n if (props.isVisible) {\n const { onRenderCallout, isVisible, ...divProps } = props;\n return <div {...divProps}>\n {onRenderCallout({\n target: `#${id}`,\n isVisible: isCalloutVisible && (quickFindColumns.length > 0 || isLikeQuery),\n calloutMaxWidth: 250,\n isLikeQuery: isLikeQuery,\n styles: {\n calloutMain: styles.calloutMain\n },\n hidden: false,\n onDismiss: () => setIsCalloutVisible(false),\n onRenderLikeOperatorWarning: (props, defaultRender) => defaultRender(props),\n onRenderBegingsWithFilterInfo: (props, defaultRender) => defaultRender(props),\n onRenderColumnsList: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n const { onRenderLikeOperatorWarning, onRenderBegingsWithFilterInfo, onRenderColumnsList, isLikeQuery, ...calloutProps } = props;\n return <Callout {...calloutProps}>\n {props.isLikeQuery &&\n props.onRenderLikeOperatorWarning({}, (props) => {\n return <Text {...props}><FontIcon className={styles.calloutWarningIcon} iconName=\"Warning\" />{labels[\"quickfind-like-warning\"]()}</Text>\n })\n }\n {!props.isLikeQuery && \n props.onRenderBegingsWithFilterInfo({}, (props) => {\n return <Text {...props}>{labels[\"quickfind-search-use-filter\"]()} <span className={styles.calloutBoldText}>{labels[\"quickfind-search-starts-with\"]()}</span> {labels[\"quickfind-search-on-these-columns\"]()}</Text>\n })\n }\n {props.onRenderColumnsList({\n className: styles.calloutColumnsWrapper,\n columns: quickFindColumns,\n onRenderColumnLabel: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n const { onRenderColumnLabel, columns, ...divProps } = props;\n return <div {...divProps}>\n {props.columns.map(col => {\n return props.onRenderColumnLabel({\n key: col.name\n }, (props) => {\n return <Text {...props}><span className={styles.calloutBoldText}>{col.displayName}</span></Text>\n })\n })}\n </div>\n })}\n </Callout>\n })}\n </div>\n }\n else {\n return <></>\n }\n })}\n </div>\n })\n}"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -5,4 +5,20 @@ export declare const getQuickFindStyles: () => import("@fluentui/react").IProces
5
5
  fieldGroup: {
6
6
  width: number;
7
7
  };
8
+ calloutMain: {
9
+ padding: number;
10
+ };
11
+ calloutBoldText: {
12
+ fontWeight: number;
13
+ };
14
+ calloutColumnsWrapper: {
15
+ display: string;
16
+ flexDirection: string;
17
+ marginTop: number;
18
+ };
19
+ calloutWarningIcon: {
20
+ position: string;
21
+ top: number;
22
+ marginRight: number;
23
+ };
8
24
  }>;
@@ -7,6 +7,22 @@ const getQuickFindStyles = () => {
7
7
  },
8
8
  fieldGroup: {
9
9
  width: 230,
10
+ },
11
+ calloutMain: {
12
+ padding: 8
13
+ },
14
+ calloutBoldText: {
15
+ fontWeight: 600
16
+ },
17
+ calloutColumnsWrapper: {
18
+ display: 'flex',
19
+ flexDirection: 'column',
20
+ marginTop: 4
21
+ },
22
+ calloutWarningIcon: {
23
+ position: 'relative',
24
+ top: 1,
25
+ marginRight: 4
10
26
  }
11
27
  });
12
28
  };
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../../src/components/DatasetControl/QuickFind/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\n\nexport const getQuickFindStyles = () => {\n return mergeStyleSets({\n textFieldRoot: {\n marginLeft: 'auto'\n },\n fieldGroup: {\n width: 230,\n }\n })\n}"],"names":[],"mappings":";;AAEO,MAAM,kBAAkB,GAAG,MAAK;AACnC,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,aAAa,EAAE;AACX,YAAA,UAAU,EAAE,MAAM;AACrB,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,KAAK,EAAE,GAAG;AACb,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../../src/components/DatasetControl/QuickFind/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\n\nexport const getQuickFindStyles = () => {\n return mergeStyleSets({\n textFieldRoot: {\n marginLeft: 'auto'\n },\n fieldGroup: {\n width: 230,\n },\n calloutMain: {\n padding: 8\n },\n calloutBoldText: {\n fontWeight: 600\n },\n calloutColumnsWrapper: {\n display: 'flex',\n flexDirection: 'column',\n marginTop: 4\n },\n calloutWarningIcon: {\n position: 'relative',\n top: 1,\n marginRight: 4\n }\n })\n}"],"names":[],"mappings":";;AAEO,MAAM,kBAAkB,GAAG,MAAK;AACnC,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,aAAa,EAAE;AACX,YAAA,UAAU,EAAE,MAAM;AACrB,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,KAAK,EAAE,GAAG;AACb,SAAA;AACD,QAAA,WAAW,EAAE;AACT,YAAA,OAAO,EAAE,CAAC;AACb,SAAA;AACD,QAAA,eAAe,EAAE;AACb,YAAA,UAAU,EAAE,GAAG;AAClB,SAAA;AACD,QAAA,qBAAqB,EAAE;AACnB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,SAAS,EAAE,CAAC;AACf,SAAA;AACD,QAAA,kBAAkB,EAAE;AAChB,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,WAAW,EAAE,CAAC;AACjB,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}
@@ -1,14 +1,15 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
- import { IButtonProps, IMessageBarProps, ThemeProviderProps } from "@fluentui/react";
2
+ import { IButtonProps, IMessageBarProps, ITextProps, ThemeProviderProps } from "@fluentui/react";
3
3
  import { ITranslation } from "../../hooks";
4
4
  import { IControl, IStringProperty } from "../../interfaces";
5
5
  import { IGridOutputs, IGridParameters } from "../Grid";
6
6
  import { gridTranslations } from "../Grid/translations";
7
7
  import { datasetControlTranslations } from "./translations";
8
- import { ICommandBarProps, ITextFieldProps } from "@talxis/react-components";
8
+ import { ICalloutProps as ICalloutPropsBase, ICommandBarProps, ITextFieldProps } from "@talxis/react-components";
9
9
  import React from "react";
10
10
  import { IRibbonComponentProps } from "../Ribbon/interfaces";
11
11
  import { IDatasetControl } from "../../utils/dataset-control";
12
+ import { IColumn } from "@talxis/client-libraries";
12
13
  export interface IDatasetControlProps extends Omit<IControl<IDatasetControlParameters, IGridOutputs, Partial<ITranslation<typeof datasetControlTranslations & typeof gridTranslations>>, IDatasetControlComponentProps>, 'parameters' | 'context' | 'state'> {
13
14
  /**
14
15
  * Used to provide the Dataset control instance.
@@ -72,8 +73,26 @@ interface IUnsavedChangesMesssageBarProps {
72
73
  onRenderSaveBtn: (props: IButtonProps, defaultRender: (props: IButtonProps) => React.ReactElement) => React.ReactElement;
73
74
  onRenderDiscardBtn: (props: IButtonProps, defaultRender: (props: IButtonProps) => React.ReactElement) => React.ReactElement;
74
75
  }
76
+ interface IColumnList extends React.HTMLAttributes<HTMLDivElement> {
77
+ columns: IColumn[];
78
+ onRenderColumnLabel: (props: ITextProps & {
79
+ key: string;
80
+ }, defaultRender: (props: ITextProps) => React.ReactElement) => React.ReactElement;
81
+ }
82
+ interface ICalloutProps extends ICalloutPropsBase {
83
+ isVisible: boolean;
84
+ isLikeQuery: boolean;
85
+ onRenderLikeOperatorWarning: (props: ITextProps, defaultRender: (props: ITextProps) => React.ReactElement) => React.ReactElement;
86
+ onRenderBegingsWithFilterInfo: (props: ITextProps, defaultRender: (props: ITextProps) => React.ReactElement) => React.ReactElement;
87
+ onRenderColumnsList: (props: IColumnList, defaultRender: (props: IColumnList) => React.ReactElement) => React.ReactElement;
88
+ }
89
+ interface ICalloutContainer extends React.HTMLAttributes<HTMLDivElement> {
90
+ isVisible: boolean;
91
+ onRenderCallout: (props: ICalloutProps, defaultRender: (props: ICalloutProps) => React.ReactElement) => React.ReactElement;
92
+ }
75
93
  export interface IQuickFindProps {
76
- textFieldProps: ITextFieldProps;
94
+ containerProps: React.HTMLAttributes<HTMLDivElement>;
77
95
  onRenderTextField: (props: ITextFieldProps, defaultRender: (props: ITextFieldProps) => React.ReactElement) => React.ReactElement;
96
+ onRenderCalloutContainer: (props: ICalloutContainer, defaultRender: (props: ICalloutContainer) => React.ReactElement) => React.ReactElement;
78
97
  }
79
98
  export {};
@@ -59,4 +59,20 @@ export declare const datasetControlTranslations: {
59
59
  1029: string;
60
60
  1033: string;
61
61
  };
62
+ "quickfind-like-warning": {
63
+ 1029: string;
64
+ 1033: string;
65
+ };
66
+ "quickfind-search-use-filter": {
67
+ 1029: string;
68
+ 1033: string;
69
+ };
70
+ "quickfind-search-starts-with": {
71
+ 1029: string;
72
+ 1033: string;
73
+ };
74
+ "quickfind-search-on-these-columns": {
75
+ 1029: string;
76
+ 1033: string;
77
+ };
62
78
  };
@@ -16,7 +16,11 @@ const datasetControlTranslations = {
16
16
  "paging-lastpage": { 1029: "Poslední strana", 1033: "Last page" },
17
17
  "paging-pages": { 1029: "{{start}} - {{end}}", 1033: "{{start}} - {{end}}" },
18
18
  "paging-pages-totalcount": { 1029: "z {{recordcount}}", 1033: "of {{recordcount}}" },
19
- "page-record-count": { 1029: 'Počet záznamů na stránce', 1033: 'Records per page' }
19
+ "page-record-count": { 1029: 'Počet záznamů na stránce', 1033: 'Records per page' },
20
+ "quickfind-like-warning": { 1029: "Pokud chcete výsledky získat rychleji, nezačínejte hvězdičkou (*)", 1033: "For faster results, don't start with an asterisk (*)" },
21
+ "quickfind-search-use-filter": { 1029: "Použít filtr", 1033: "Apply" },
22
+ "quickfind-search-starts-with": { 1029: "začíná na", 1033: "begins with" },
23
+ "quickfind-search-on-these-columns": { 1029: "na tyto sloupce:", 1033: "filter on these columns:" }
20
24
  };
21
25
 
22
26
  export { datasetControlTranslations };
@@ -1 +1 @@
1
- {"version":3,"file":"translations.js","sources":["../../../src/components/DatasetControl/translations.ts"],"sourcesContent":["export const datasetControlTranslations = {\n \"search\": { 1029: \"Vyhledat\", 1033: \"Search\" },\n \"records\": { 1029: \"záznamy\", 1033: \"records\" },\n \"generalError\": { 1029: \"Během načítání ovládacího prvku došlo k nečekané chybě\", 1033: \"An unexpected error occurred while loading the control.\" },\n \"reload\": { 1029: \"Obnovit\", 1033: \"Reload\" },\n \"unsaved-changes\": { 1029: \"Počet upravených záznamů: <b>{{numOfChanges}}</b>.\", 1033: \"Number of updated records: <b>{{numOfChanges}}</b>.\" },\n \"saving-discard-all-confirmation\": {\n 1029: \"Tato akce zruší všechny neuložené změny. Chcete pokračovat?\",\n 1033: \"This action will discard all unsaved changes. Would you like to continue?\"\n },\n \"paging-of\": { 1029: \"z\", 1033: \"of\" },\n \"paging-firstpage\": { 1029: \"První strana\", 1033: \"First page\" },\n \"paging-previouspage\": { 1029: \"Předchozí\", 1033: \"Previous\" },\n \"paging-page\": { 1029: \"Strana\", 1033: \"Page\" },\n \"paging-nextpage\": { 1029: \"Další\", 1033: \"Next\" },\n \"paging-lastpage\": { 1029: \"Poslední strana\", 1033: \"Last page\" },\n \"paging-pages\": { 1029: \"{{start}} - {{end}}\", 1033: \"{{start}} - {{end}}\" },\n \"paging-pages-totalcount\": { 1029: \"z {{recordcount}}\", 1033: \"of {{recordcount}}\" },\n \"page-record-count\": { 1029: 'Počet záznamů na stránce', 1033: 'Records per page' }\n};\n\n"],"names":[],"mappings":"AAAa,MAAA,0BAA0B,GAAG;IACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/C,cAAc,EAAE,EAAE,IAAI,EAAE,wDAAwD,EAAE,IAAI,EAAE,yDAAyD,EAAE;IACnJ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7C,iBAAiB,EAAE,EAAE,IAAI,EAAE,oDAAoD,EAAE,IAAI,EAAE,qDAAqD,EAAE;AAC9I,IAAA,iCAAiC,EAAE;AAC/B,QAAA,IAAI,EAAE,6DAA6D;AACnE,QAAA,IAAI,EAAE,2EAA2E;AACpF,KAAA;IACD,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE;IAChE,qBAAqB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE;IAC9D,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/C,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE;IACjE,cAAc,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC5E,yBAAyB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACpF,mBAAmB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE;;;;;"}
1
+ {"version":3,"file":"translations.js","sources":["../../../src/components/DatasetControl/translations.ts"],"sourcesContent":["export const datasetControlTranslations = {\n \"search\": { 1029: \"Vyhledat\", 1033: \"Search\" },\n \"records\": { 1029: \"záznamy\", 1033: \"records\" },\n \"generalError\": { 1029: \"Během načítání ovládacího prvku došlo k nečekané chybě\", 1033: \"An unexpected error occurred while loading the control.\" },\n \"reload\": { 1029: \"Obnovit\", 1033: \"Reload\" },\n \"unsaved-changes\": { 1029: \"Počet upravených záznamů: <b>{{numOfChanges}}</b>.\", 1033: \"Number of updated records: <b>{{numOfChanges}}</b>.\" },\n \"saving-discard-all-confirmation\": {\n 1029: \"Tato akce zruší všechny neuložené změny. Chcete pokračovat?\",\n 1033: \"This action will discard all unsaved changes. Would you like to continue?\"\n },\n \"paging-of\": { 1029: \"z\", 1033: \"of\" },\n \"paging-firstpage\": { 1029: \"První strana\", 1033: \"First page\" },\n \"paging-previouspage\": { 1029: \"Předchozí\", 1033: \"Previous\" },\n \"paging-page\": { 1029: \"Strana\", 1033: \"Page\" },\n \"paging-nextpage\": { 1029: \"Další\", 1033: \"Next\" },\n \"paging-lastpage\": { 1029: \"Poslední strana\", 1033: \"Last page\" },\n \"paging-pages\": { 1029: \"{{start}} - {{end}}\", 1033: \"{{start}} - {{end}}\" },\n \"paging-pages-totalcount\": { 1029: \"z {{recordcount}}\", 1033: \"of {{recordcount}}\" },\n \"page-record-count\": { 1029: 'Počet záznamů na stránce', 1033: 'Records per page' },\n \"quickfind-like-warning\": { 1029: \"Pokud chcete výsledky získat rychleji, nezačínejte hvězdičkou (*)\", 1033: \"For faster results, don't start with an asterisk (*)\"},\n \"quickfind-search-use-filter\": { 1029: \"Použít filtr\", 1033: \"Apply\" },\n \"quickfind-search-starts-with\": { 1029: \"začíná na\", 1033: \"begins with\" },\n \"quickfind-search-on-these-columns\": { 1029: \"na tyto sloupce:\", 1033: \"filter on these columns:\" }\n};\n\n"],"names":[],"mappings":"AAAa,MAAA,0BAA0B,GAAG;IACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/C,cAAc,EAAE,EAAE,IAAI,EAAE,wDAAwD,EAAE,IAAI,EAAE,yDAAyD,EAAE;IACnJ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7C,iBAAiB,EAAE,EAAE,IAAI,EAAE,oDAAoD,EAAE,IAAI,EAAE,qDAAqD,EAAE;AAC9I,IAAA,iCAAiC,EAAE;AAC/B,QAAA,IAAI,EAAE,6DAA6D;AACnE,QAAA,IAAI,EAAE,2EAA2E;AACpF,KAAA;IACD,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE;IAChE,qBAAqB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE;IAC9D,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/C,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE;IACjE,cAAc,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC5E,yBAAyB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACpF,mBAAmB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACnF,wBAAwB,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,IAAI,EAAE,sDAAsD,EAAC;IACpK,6BAA6B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;IACtE,8BAA8B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE;IAC1E,mCAAmC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE;;;;;"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
2
  /// <reference types="react" />
3
- import { ITheme, ICommandBarProps, ITextFieldProps, IDatePickerProps, ITagPickerProps, IComboBoxProps } from '@talxis/react-components';
4
- import { DeepPartial, DataType, IDataset, EventEmitter, IInterceptor, ICommand, AggregationFunction, IColumn, IRecord, Dataset, IDataProvider, IRawRecord, IEventEmitter } from '@talxis/client-libraries';
5
- import { ITheme as ITheme$1, ThemeProviderProps, IShimmerProps, IButtonProps, IMessageBarProps, ILabelProps, IIconProps, ITextProps, ILinkProps, IImageProps, ISpinnerProps, IMessageBar, IToggleProps } from '@fluentui/react';
3
+ import { ITheme, ICommandBarProps, ITextFieldProps, ICalloutProps as ICalloutProps$1, IDatePickerProps, ITagPickerProps, IComboBoxProps } from '@talxis/react-components';
4
+ import { DeepPartial, DataType, IDataset, EventEmitter, IInterceptor, ICommand, IColumn, AggregationFunction, IRecord, Dataset, IDataProvider, IRawRecord, IEventEmitter } from '@talxis/client-libraries';
5
+ import { ITheme as ITheme$1, ThemeProviderProps, IShimmerProps, IButtonProps, IMessageBarProps, ITextProps, ILabelProps, IIconProps, ILinkProps, IImageProps, ISpinnerProps, IMessageBar, IToggleProps } from '@fluentui/react';
6
6
  import React$1 from 'react';
7
7
  import { AgGridReactProps } from '@ag-grid-community/react';
8
8
 
@@ -436,6 +436,22 @@ declare const datasetControlTranslations: {
436
436
  1029: string;
437
437
  1033: string;
438
438
  };
439
+ "quickfind-like-warning": {
440
+ 1029: string;
441
+ 1033: string;
442
+ };
443
+ "quickfind-search-use-filter": {
444
+ 1029: string;
445
+ 1033: string;
446
+ };
447
+ "quickfind-search-starts-with": {
448
+ 1029: string;
449
+ 1033: string;
450
+ };
451
+ "quickfind-search-on-these-columns": {
452
+ 1029: string;
453
+ 1033: string;
454
+ };
439
455
  };
440
456
 
441
457
  interface IRibbonComponentProps {
@@ -539,9 +555,27 @@ interface IUnsavedChangesMesssageBarProps {
539
555
  onRenderSaveBtn: (props: IButtonProps, defaultRender: (props: IButtonProps) => React$1.ReactElement) => React$1.ReactElement;
540
556
  onRenderDiscardBtn: (props: IButtonProps, defaultRender: (props: IButtonProps) => React$1.ReactElement) => React$1.ReactElement;
541
557
  }
558
+ interface IColumnList extends React$1.HTMLAttributes<HTMLDivElement> {
559
+ columns: IColumn[];
560
+ onRenderColumnLabel: (props: ITextProps & {
561
+ key: string;
562
+ }, defaultRender: (props: ITextProps) => React$1.ReactElement) => React$1.ReactElement;
563
+ }
564
+ interface ICalloutProps extends ICalloutProps$1 {
565
+ isVisible: boolean;
566
+ isLikeQuery: boolean;
567
+ onRenderLikeOperatorWarning: (props: ITextProps, defaultRender: (props: ITextProps) => React$1.ReactElement) => React$1.ReactElement;
568
+ onRenderBegingsWithFilterInfo: (props: ITextProps, defaultRender: (props: ITextProps) => React$1.ReactElement) => React$1.ReactElement;
569
+ onRenderColumnsList: (props: IColumnList, defaultRender: (props: IColumnList) => React$1.ReactElement) => React$1.ReactElement;
570
+ }
571
+ interface ICalloutContainer extends React$1.HTMLAttributes<HTMLDivElement> {
572
+ isVisible: boolean;
573
+ onRenderCallout: (props: ICalloutProps, defaultRender: (props: ICalloutProps) => React$1.ReactElement) => React$1.ReactElement;
574
+ }
542
575
  interface IQuickFindProps {
543
- textFieldProps: ITextFieldProps;
576
+ containerProps: React$1.HTMLAttributes<HTMLDivElement>;
544
577
  onRenderTextField: (props: ITextFieldProps, defaultRender: (props: ITextFieldProps) => React$1.ReactElement) => React$1.ReactElement;
578
+ onRenderCalloutContainer: (props: ICalloutContainer, defaultRender: (props: ICalloutContainer) => React$1.ReactElement) => React$1.ReactElement;
545
579
  }
546
580
 
547
581
  declare const DatasetControl: (props: IDatasetControlProps) => JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talxis/base-controls",
3
- "version": "1.2601.3",
3
+ "version": "1.2601.4",
4
4
  "description": "Set of React components that natively work with Power Apps Component Framework APIs.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -94,8 +94,8 @@
94
94
  },
95
95
  "peerDependencies": {
96
96
  "@fluentui/react": "<=8.121.5",
97
- "@talxis/client-libraries": "1.2601.3",
98
97
  "@talxis/react-components": "1.2505.2",
98
+ "@talxis/client-libraries": "1.2601.4",
99
99
  "react": "^16.8.6 || ^17.0.2",
100
100
  "react-dom": "^16.8.6 || ^17.0.2"
101
101
  }