@elliemae/ds-search-field 2.2.2-rc.1 → 2.3.0-alpha.10
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.
- package/dist/cjs/DSSearchField.js +133 -0
- package/dist/cjs/DSSearchField.js.map +7 -0
- package/dist/cjs/impl/DSSeachFieldImpl.js +212 -0
- package/dist/cjs/impl/DSSeachFieldImpl.js.map +7 -0
- package/dist/cjs/impl/components/AdvanceSearchOption/AdvanceSearchOption.js +44 -0
- package/dist/cjs/impl/components/AdvanceSearchOption/AdvanceSearchOption.js.map +7 -0
- package/dist/cjs/impl/components/LookupIndicator/LookupIndicator.js +50 -0
- package/dist/cjs/impl/components/LookupIndicator/LookupIndicator.js.map +7 -0
- package/dist/cjs/impl/components/ModalSearchField/DataGridSearch.js +107 -0
- package/dist/cjs/impl/components/ModalSearchField/DataGridSearch.js.map +7 -0
- package/dist/cjs/impl/components/ModalSearchField/ModalSearchField.js +94 -0
- package/dist/cjs/impl/components/ModalSearchField/ModalSearchField.js.map +7 -0
- package/dist/cjs/index.js +37 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/esm/DSSearchField.js +104 -0
- package/dist/esm/DSSearchField.js.map +7 -0
- package/dist/esm/impl/DSSeachFieldImpl.js +183 -0
- package/dist/esm/impl/DSSeachFieldImpl.js.map +7 -0
- package/dist/esm/impl/components/AdvanceSearchOption/AdvanceSearchOption.js +15 -0
- package/dist/esm/impl/components/AdvanceSearchOption/AdvanceSearchOption.js.map +7 -0
- package/dist/esm/impl/components/LookupIndicator/LookupIndicator.js +21 -0
- package/dist/esm/impl/components/LookupIndicator/LookupIndicator.js.map +7 -0
- package/dist/esm/impl/components/ModalSearchField/DataGridSearch.js +78 -0
- package/dist/esm/impl/components/ModalSearchField/DataGridSearch.js.map +7 -0
- package/dist/esm/impl/components/ModalSearchField/ModalSearchField.js +65 -0
- package/dist/esm/impl/components/ModalSearchField/ModalSearchField.js.map +7 -0
- package/dist/esm/index.js +12 -0
- package/dist/esm/index.js.map +7 -0
- package/{types → dist/types}/DSSearchField.d.ts +0 -0
- package/{types → dist/types}/impl/DSSeachFieldImpl.d.ts +0 -0
- package/{types → dist/types}/impl/components/AdvanceSearchOption/AdvanceSearchOption.d.ts +0 -0
- package/{types → dist/types}/impl/components/LookupIndicator/LookupIndicator.d.ts +0 -0
- package/{types → dist/types}/impl/components/ModalSearchField/DataGridSearch.d.ts +0 -0
- package/{types → dist/types}/impl/components/ModalSearchField/ModalSearchField.d.ts +0 -0
- package/{types → dist/types}/index.d.ts +0 -0
- package/package.json +39 -37
- package/cjs/DSSearchField.js +0 -169
- package/cjs/impl/DSSeachFieldImpl.js +0 -243
- package/cjs/impl/components/AdvanceSearchOption/AdvanceSearchOption.js +0 -26
- package/cjs/impl/components/LookupIndicator/LookupIndicator.js +0 -34
- package/cjs/impl/components/ModalSearchField/DataGridSearch.js +0 -117
- package/cjs/impl/components/ModalSearchField/ModalSearchField.js +0 -83
- package/cjs/index.js +0 -12
- package/esm/DSSearchField.js +0 -159
- package/esm/impl/DSSeachFieldImpl.js +0 -234
- package/esm/impl/components/AdvanceSearchOption/AdvanceSearchOption.js +0 -19
- package/esm/impl/components/LookupIndicator/LookupIndicator.js +0 -27
- package/esm/impl/components/ModalSearchField/DataGridSearch.js +0 -108
- package/esm/impl/components/ModalSearchField/ModalSearchField.js +0 -76
- package/esm/index.js +0 -2
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __reExport = (target, module2, copyDefault, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
16
|
+
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (module2, isNodeMode) => {
|
|
21
|
+
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
+
};
|
|
23
|
+
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
+
return (module2, temp) => {
|
|
25
|
+
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
+
};
|
|
27
|
+
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
+
var ModalSearchField_exports = {};
|
|
29
|
+
__export(ModalSearchField_exports, {
|
|
30
|
+
default: () => ModalSearchField_default
|
|
31
|
+
});
|
|
32
|
+
var React = __toESM(require("react"));
|
|
33
|
+
var import_react = __toESM(require("react"));
|
|
34
|
+
var import_ds_modal = __toESM(require("@elliemae/ds-modal"));
|
|
35
|
+
var import_ds_tabs = require("@elliemae/ds-tabs");
|
|
36
|
+
var import_DataGridSearch = __toESM(require("./DataGridSearch"));
|
|
37
|
+
const ModalSearchField = ({
|
|
38
|
+
isOpen = false,
|
|
39
|
+
onClose = () => null,
|
|
40
|
+
modalTitle = "Search Field ID",
|
|
41
|
+
modalSize = "x-large",
|
|
42
|
+
tabsAnimated = true,
|
|
43
|
+
tabsEnableMouseEvents = true,
|
|
44
|
+
tabType = import_ds_tabs.TabTypes.NORMAL,
|
|
45
|
+
tabData = [],
|
|
46
|
+
searchFilters = true,
|
|
47
|
+
searchGrid = false,
|
|
48
|
+
confirmLabel = "Apply",
|
|
49
|
+
rejectLabel = "Cancel",
|
|
50
|
+
modalType = "confirm",
|
|
51
|
+
onConfirmField = () => null,
|
|
52
|
+
onRejectField = () => null,
|
|
53
|
+
handleSelect = () => null,
|
|
54
|
+
onTabChange = () => null,
|
|
55
|
+
appElement = null,
|
|
56
|
+
customDataGridOptions = {}
|
|
57
|
+
}) => /* @__PURE__ */ import_react.default.createElement(import_ds_modal.default, {
|
|
58
|
+
dataTestId: "ds-searchfield-modal",
|
|
59
|
+
appElement,
|
|
60
|
+
centered: false,
|
|
61
|
+
className: "modal-search-field",
|
|
62
|
+
confirmLabel,
|
|
63
|
+
isOpen,
|
|
64
|
+
modalTitle,
|
|
65
|
+
modalType,
|
|
66
|
+
onClose,
|
|
67
|
+
onConfirm: onConfirmField,
|
|
68
|
+
onReject: onRejectField,
|
|
69
|
+
rejectLabel,
|
|
70
|
+
size: modalSize
|
|
71
|
+
}, tabData.length > 0 && /* @__PURE__ */ import_react.default.createElement(import_ds_tabs.DSTabs, {
|
|
72
|
+
animated: tabsAnimated,
|
|
73
|
+
enableMouseEvents: tabsEnableMouseEvents,
|
|
74
|
+
onlyRenderActiveTab: true,
|
|
75
|
+
onTabChange,
|
|
76
|
+
type: tabType
|
|
77
|
+
}, tabData.map(({ tabId, tabTitle, columns, rows, boundFetchRows }) => /* @__PURE__ */ import_react.default.createElement(import_ds_tabs.DSTab, {
|
|
78
|
+
key: tabId,
|
|
79
|
+
className: "tab-content",
|
|
80
|
+
tabId,
|
|
81
|
+
title: tabTitle
|
|
82
|
+
}, /* @__PURE__ */ import_react.default.createElement(import_DataGridSearch.default, {
|
|
83
|
+
boundFetchRows,
|
|
84
|
+
columns,
|
|
85
|
+
customDataGridOptions,
|
|
86
|
+
handleSelect,
|
|
87
|
+
id: `datagrid_search_field_${tabId}`,
|
|
88
|
+
rows,
|
|
89
|
+
searchFilters,
|
|
90
|
+
searchGrid
|
|
91
|
+
})))));
|
|
92
|
+
var ModalSearchField_default = ModalSearchField;
|
|
93
|
+
module.exports = __toCommonJS(ModalSearchField_exports);
|
|
94
|
+
//# sourceMappingURL=ModalSearchField.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../src/impl/components/ModalSearchField/ModalSearchField.tsx", "../../../../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["import React from 'react';\nimport DSModal from '@elliemae/ds-modal';\nimport { DSTabs, DSTab, TabTypes } from '@elliemae/ds-tabs';\nimport DataGridSearch from './DataGridSearch';\n\nconst ModalSearchField = ({\n isOpen = false,\n onClose = () => null,\n modalTitle = 'Search Field ID',\n modalSize = 'x-large',\n tabsAnimated = true,\n tabsEnableMouseEvents = true,\n tabType = TabTypes.NORMAL,\n tabData = [],\n searchFilters = true,\n searchGrid = false,\n confirmLabel = 'Apply',\n rejectLabel = 'Cancel',\n modalType = 'confirm',\n onConfirmField = () => null,\n onRejectField = () => null,\n handleSelect = () => null,\n onTabChange = () => null,\n appElement = null,\n customDataGridOptions = {},\n}) => (\n <DSModal\n dataTestId=\"ds-searchfield-modal\"\n appElement={appElement}\n centered={false}\n className=\"modal-search-field\"\n confirmLabel={confirmLabel}\n isOpen={isOpen}\n modalTitle={modalTitle}\n modalType={modalType}\n onClose={onClose}\n onConfirm={onConfirmField}\n onReject={onRejectField}\n rejectLabel={rejectLabel}\n size={modalSize}\n >\n {tabData.length > 0 && (\n <DSTabs\n animated={tabsAnimated}\n enableMouseEvents={tabsEnableMouseEvents}\n onlyRenderActiveTab\n onTabChange={onTabChange}\n type={tabType}\n >\n {tabData.map(({ tabId, tabTitle, columns, rows, boundFetchRows }) => (\n <DSTab key={tabId} className=\"tab-content\" tabId={tabId} title={tabTitle}>\n <DataGridSearch\n boundFetchRows={boundFetchRows}\n columns={columns}\n customDataGridOptions={customDataGridOptions}\n handleSelect={handleSelect}\n id={`datagrid_search_field_${tabId}`}\n rows={rows}\n searchFilters={searchFilters}\n searchGrid={searchGrid}\n />\n </DSTab>\n ))}\n </DSTabs>\n )}\n </DSModal>\n);\n\nexport default ModalSearchField;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,mBAAkB;AAClB,sBAAoB;AACpB,qBAAwC;AACxC,4BAA2B;AAE3B,MAAM,mBAAmB,CAAC;AAAA,EACxB,SAAS;AAAA,EACT,UAAU,MAAM;AAAA,EAChB,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,wBAAwB;AAAA,EACxB,UAAU,wBAAS;AAAA,EACnB,UAAU;AAAA,EACV,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,eAAe;AAAA,EACf,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,iBAAiB,MAAM;AAAA,EACvB,gBAAgB,MAAM;AAAA,EACtB,eAAe,MAAM;AAAA,EACrB,cAAc,MAAM;AAAA,EACpB,aAAa;AAAA,EACb,wBAAwB;AAAA,MAExB,mDAAC,yBAAD;AAAA,EACE,YAAW;AAAA,EACX;AAAA,EACA,UAAU;AAAA,EACV,WAAU;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,UAAU;AAAA,EACV;AAAA,EACA,MAAM;AAAA,GAEL,QAAQ,SAAS,KAChB,mDAAC,uBAAD;AAAA,EACE,UAAU;AAAA,EACV,mBAAmB;AAAA,EACnB,qBAAmB;AAAA,EACnB;AAAA,EACA,MAAM;AAAA,GAEL,QAAQ,IAAI,CAAC,EAAE,OAAO,UAAU,SAAS,MAAM,qBAC9C,mDAAC,sBAAD;AAAA,EAAO,KAAK;AAAA,EAAO,WAAU;AAAA,EAAc;AAAA,EAAc,OAAO;AAAA,GAC9D,mDAAC,+BAAD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,yBAAyB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA;AASd,IAAO,2BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __reExport = (target, module2, copyDefault, desc) => {
|
|
13
|
+
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(module2))
|
|
15
|
+
if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
|
|
16
|
+
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return target;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (module2, isNodeMode) => {
|
|
21
|
+
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
22
|
+
};
|
|
23
|
+
var __toCommonJS = /* @__PURE__ */ ((cache) => {
|
|
24
|
+
return (module2, temp) => {
|
|
25
|
+
return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
|
|
26
|
+
};
|
|
27
|
+
})(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
|
|
28
|
+
var src_exports = {};
|
|
29
|
+
__export(src_exports, {
|
|
30
|
+
DSModalSearchField: () => import_DSSearchField.DSModalSearchField,
|
|
31
|
+
DSSearchFieldWithSchema: () => import_DSSearchField.DSSearchFieldWithSchema,
|
|
32
|
+
default: () => import_DSSearchField.default
|
|
33
|
+
});
|
|
34
|
+
var React = __toESM(require("react"));
|
|
35
|
+
var import_DSSearchField = __toESM(require("./DSSearchField"));
|
|
36
|
+
module.exports = __toCommonJS(src_exports);
|
|
37
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/index.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
+
"sourcesContent": ["export {\n default,\n DSModalSearchField,\n DSSearchFieldWithSchema,\n} from './DSSearchField';\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA,YAAuB;ADAvB,2BAIO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import { describe, PropTypes } from "react-desc";
|
|
4
|
+
import { TabTypes } from "@elliemae/ds-tabs";
|
|
5
|
+
import DSSeachFieldImpl, { DSModalSearchField } from "./impl/DSSeachFieldImpl";
|
|
6
|
+
const DSSearchField = ({
|
|
7
|
+
containerProps = {},
|
|
8
|
+
onChange = () => null,
|
|
9
|
+
searchOptionLabel = "Advanced Search",
|
|
10
|
+
placeholder = "Select field",
|
|
11
|
+
modalSize = "x-large",
|
|
12
|
+
modalTitle = "Search Field ID",
|
|
13
|
+
tabsAnimated = true,
|
|
14
|
+
tabsEnableMouseEvents = true,
|
|
15
|
+
tabType = TabTypes.NORMAL,
|
|
16
|
+
tabData = [],
|
|
17
|
+
searchGrid = false,
|
|
18
|
+
searchFilters = true,
|
|
19
|
+
confirmLabel = "Apply",
|
|
20
|
+
rejectLabel = "Cancel",
|
|
21
|
+
modalType = "confirm",
|
|
22
|
+
onConfirmField = () => null,
|
|
23
|
+
onRejectField = () => null,
|
|
24
|
+
onTabChange = () => null,
|
|
25
|
+
appElement = "#root",
|
|
26
|
+
value = null,
|
|
27
|
+
additionalInfo = null,
|
|
28
|
+
displayProperty = "name",
|
|
29
|
+
dropdownOptions = [],
|
|
30
|
+
customDataGridOptions = {},
|
|
31
|
+
customDropdownOptions = {},
|
|
32
|
+
useLookupIndicator = true,
|
|
33
|
+
searchable = false
|
|
34
|
+
}) => /* @__PURE__ */ React2.createElement(DSSeachFieldImpl, {
|
|
35
|
+
additionalInfo,
|
|
36
|
+
appElement,
|
|
37
|
+
searchable,
|
|
38
|
+
confirmLabel,
|
|
39
|
+
containerProps,
|
|
40
|
+
customDataGridOptions,
|
|
41
|
+
customDropdownOptions,
|
|
42
|
+
displayProperty,
|
|
43
|
+
dropdownOptions,
|
|
44
|
+
modalSize,
|
|
45
|
+
modalTitle,
|
|
46
|
+
modalType,
|
|
47
|
+
onChange,
|
|
48
|
+
onConfirmField,
|
|
49
|
+
onRejectField,
|
|
50
|
+
onTabChange,
|
|
51
|
+
placeholder,
|
|
52
|
+
rejectLabel,
|
|
53
|
+
searchFilters,
|
|
54
|
+
searchGrid,
|
|
55
|
+
searchOptionLabel,
|
|
56
|
+
tabData,
|
|
57
|
+
tabsAnimated,
|
|
58
|
+
tabsEnableMouseEvents,
|
|
59
|
+
tabType,
|
|
60
|
+
useLookupIndicator,
|
|
61
|
+
value
|
|
62
|
+
});
|
|
63
|
+
const props = {
|
|
64
|
+
searchable: PropTypes.bool.description("Enable the user to search on combobox"),
|
|
65
|
+
containerProps: PropTypes.object.description("inject props to wrapper"),
|
|
66
|
+
onChange: PropTypes.func.description("change handler"),
|
|
67
|
+
searchOptionLabel: PropTypes.string.description("search option label"),
|
|
68
|
+
placeholder: PropTypes.string.description("placeholder for search input"),
|
|
69
|
+
modalSize: PropTypes.oneOf(["x-large", "large", "medium"]).description("search modal size"),
|
|
70
|
+
modalTitle: PropTypes.string.description("search modal title"),
|
|
71
|
+
tabsAnimated: PropTypes.bool.description("animate modal tabs"),
|
|
72
|
+
tabsEnableMouseEvents: PropTypes.bool.description("enable mouse event on tabs"),
|
|
73
|
+
tabType: PropTypes.oneOf([TabTypes.NORMAL, TabTypes.SUBTABS]).description("tab types on modal"),
|
|
74
|
+
tabData: PropTypes.array.description("data for modal tabs"),
|
|
75
|
+
searchGrid: PropTypes.bool.description("use search grid"),
|
|
76
|
+
searchFilters: PropTypes.bool.description("add search filters"),
|
|
77
|
+
confirmLabel: PropTypes.string.description("confirm modal label"),
|
|
78
|
+
rejectLabel: PropTypes.string.description("reject modal label"),
|
|
79
|
+
modalType: PropTypes.oneOf(["alert", "confirm"]).description("modal type"),
|
|
80
|
+
onConfirmField: PropTypes.func.description("on confirm handler"),
|
|
81
|
+
onRejectField: PropTypes.func.description("on cancel handler"),
|
|
82
|
+
onTabChange: PropTypes.func.description("tab change handler"),
|
|
83
|
+
appElement: PropTypes.string.description("app element"),
|
|
84
|
+
value: PropTypes.string.description("value for search"),
|
|
85
|
+
additionalInfo: PropTypes.object.description("additional info"),
|
|
86
|
+
displayProperty: PropTypes.string.description("display property"),
|
|
87
|
+
dropdownOptions: PropTypes.arrayOf(PropTypes.shape({
|
|
88
|
+
label: PropTypes.string,
|
|
89
|
+
value: PropTypes.string
|
|
90
|
+
})).description("options for dropdown"),
|
|
91
|
+
customDataGridOptions: PropTypes.object.description("pass down props for datagrid in modal"),
|
|
92
|
+
customDropdownOptions: PropTypes.object.description("custom props for dropdown"),
|
|
93
|
+
useLookupIndicator: PropTypes.bool.description("enable lookup")
|
|
94
|
+
};
|
|
95
|
+
DSSearchField.propTypes = props;
|
|
96
|
+
const DSSearchFieldWithSchema = describe(DSSearchField);
|
|
97
|
+
DSSearchFieldWithSchema.propTypes = props;
|
|
98
|
+
var DSSearchField_default = DSSearchField;
|
|
99
|
+
export {
|
|
100
|
+
DSModalSearchField,
|
|
101
|
+
DSSearchFieldWithSchema,
|
|
102
|
+
DSSearchField_default as default
|
|
103
|
+
};
|
|
104
|
+
//# sourceMappingURL=DSSearchField.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSSearchField.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { TabTypes } from '@elliemae/ds-tabs';\nimport DSSeachFieldImpl, { DSModalSearchField } from './impl/DSSeachFieldImpl';\n\nconst DSSearchField = ({\n containerProps = {},\n onChange = () => null,\n searchOptionLabel = 'Advanced Search',\n placeholder = 'Select field',\n modalSize = 'x-large',\n modalTitle = 'Search Field ID',\n tabsAnimated = true,\n tabsEnableMouseEvents = true,\n tabType = TabTypes.NORMAL,\n tabData = [],\n searchGrid = false,\n searchFilters = true,\n confirmLabel = 'Apply',\n rejectLabel = 'Cancel',\n modalType = 'confirm',\n onConfirmField = () => null,\n onRejectField = () => null,\n onTabChange = () => null,\n appElement = '#root',\n value = null,\n additionalInfo = null,\n displayProperty = 'name',\n dropdownOptions = [],\n customDataGridOptions = {},\n customDropdownOptions = {},\n useLookupIndicator = true,\n searchable = false,\n}) => (\n <DSSeachFieldImpl\n additionalInfo={additionalInfo}\n appElement={appElement}\n searchable={searchable}\n confirmLabel={confirmLabel}\n containerProps={containerProps}\n customDataGridOptions={customDataGridOptions}\n customDropdownOptions={customDropdownOptions}\n displayProperty={displayProperty}\n dropdownOptions={dropdownOptions}\n modalSize={modalSize}\n modalTitle={modalTitle}\n modalType={modalType}\n onChange={onChange}\n onConfirmField={onConfirmField}\n onRejectField={onRejectField}\n onTabChange={onTabChange}\n placeholder={placeholder}\n rejectLabel={rejectLabel}\n searchFilters={searchFilters}\n searchGrid={searchGrid}\n searchOptionLabel={searchOptionLabel}\n tabData={tabData}\n tabsAnimated={tabsAnimated}\n tabsEnableMouseEvents={tabsEnableMouseEvents}\n tabType={tabType}\n useLookupIndicator={useLookupIndicator}\n value={value}\n />\n);\n\nconst props = {\n /*\n Enable the user to search on combobox\n */\n searchable: PropTypes.bool.description('Enable the user to search on combobox'),\n /** inject props to wrapper */\n containerProps: PropTypes.object.description('inject props to wrapper'),\n /** change handler */\n onChange: PropTypes.func.description('change handler'),\n /** search option label */\n searchOptionLabel: PropTypes.string.description('search option label'),\n /** placeholder for search input */\n placeholder: PropTypes.string.description('placeholder for search input'),\n /** search modal size */\n modalSize: PropTypes.oneOf(['x-large', 'large', 'medium']).description('search modal size'),\n /** search modal title */\n modalTitle: PropTypes.string.description('search modal title'),\n /** animate modal tabs */\n tabsAnimated: PropTypes.bool.description('animate modal tabs'),\n /** enable mouse event on tabs */\n tabsEnableMouseEvents: PropTypes.bool.description('enable mouse event on tabs'),\n /** tab types on modal */\n tabType: PropTypes.oneOf([TabTypes.NORMAL, TabTypes.SUBTABS]).description('tab types on modal'),\n /** data for modal tabs */\n tabData: PropTypes.array.description('data for modal tabs'),\n /** use search grid */\n searchGrid: PropTypes.bool.description('use search grid'),\n /** add search filters */\n searchFilters: PropTypes.bool.description('add search filters'),\n /** confirm modal label */\n confirmLabel: PropTypes.string.description('confirm modal label'),\n /** reject modal label */\n rejectLabel: PropTypes.string.description('reject modal label'),\n /** modal type */\n modalType: PropTypes.oneOf(['alert', 'confirm']).description('modal type'),\n /** on confirm handler */\n onConfirmField: PropTypes.func.description('on confirm handler'),\n /** on cancel handler */\n onRejectField: PropTypes.func.description('on cancel handler'),\n /** tab change handler */\n onTabChange: PropTypes.func.description('tab change handler'),\n /** app element */\n appElement: PropTypes.string.description('app element'),\n /** value for search */\n value: PropTypes.string.description('value for search'),\n /** additional info */\n additionalInfo: PropTypes.object.description('additional info'),\n /** display property */\n displayProperty: PropTypes.string.description('display property'),\n /** options for dropdown */\n dropdownOptions: PropTypes.arrayOf(\n PropTypes.shape({\n label: PropTypes.string,\n value: PropTypes.string,\n }),\n ).description('options for dropdown'),\n /** pass down props for datagrid in modal */\n customDataGridOptions: PropTypes.object.description('pass down props for datagrid in modal'),\n /** custom props for dropdown */\n customDropdownOptions: PropTypes.object.description('custom props for dropdown'),\n /** enable lookup */\n useLookupIndicator: PropTypes.bool.description('enable lookup'),\n};\n\nDSSearchField.propTypes = props;\n\nconst DSSearchFieldWithSchema = describe(DSSearchField);\nDSSearchFieldWithSchema.propTypes = props;\n\nexport { DSModalSearchField, DSSearchFieldWithSchema };\nexport default DSSearchField;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AAEA,MAAM,gBAAgB,CAAC;AAAA,EACrB,iBAAiB;AAAA,EACjB,WAAW,MAAM;AAAA,EACjB,oBAAoB;AAAA,EACpB,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,eAAe;AAAA,EACf,wBAAwB;AAAA,EACxB,UAAU,SAAS;AAAA,EACnB,UAAU;AAAA,EACV,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,iBAAiB,MAAM;AAAA,EACvB,gBAAgB,MAAM;AAAA,EACtB,cAAc,MAAM;AAAA,EACpB,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,iBAAiB;AAAA,EACjB,kBAAkB;AAAA,EAClB,kBAAkB;AAAA,EAClB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,qBAAqB;AAAA,EACrB,aAAa;AAAA,MAEb,qCAAC,kBAAD;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAIJ,MAAM,QAAQ;AAAA,EAIZ,YAAY,UAAU,KAAK,YAAY;AAAA,EAEvC,gBAAgB,UAAU,OAAO,YAAY;AAAA,EAE7C,UAAU,UAAU,KAAK,YAAY;AAAA,EAErC,mBAAmB,UAAU,OAAO,YAAY;AAAA,EAEhD,aAAa,UAAU,OAAO,YAAY;AAAA,EAE1C,WAAW,UAAU,MAAM,CAAC,WAAW,SAAS,WAAW,YAAY;AAAA,EAEvE,YAAY,UAAU,OAAO,YAAY;AAAA,EAEzC,cAAc,UAAU,KAAK,YAAY;AAAA,EAEzC,uBAAuB,UAAU,KAAK,YAAY;AAAA,EAElD,SAAS,UAAU,MAAM,CAAC,SAAS,QAAQ,SAAS,UAAU,YAAY;AAAA,EAE1E,SAAS,UAAU,MAAM,YAAY;AAAA,EAErC,YAAY,UAAU,KAAK,YAAY;AAAA,EAEvC,eAAe,UAAU,KAAK,YAAY;AAAA,EAE1C,cAAc,UAAU,OAAO,YAAY;AAAA,EAE3C,aAAa,UAAU,OAAO,YAAY;AAAA,EAE1C,WAAW,UAAU,MAAM,CAAC,SAAS,YAAY,YAAY;AAAA,EAE7D,gBAAgB,UAAU,KAAK,YAAY;AAAA,EAE3C,eAAe,UAAU,KAAK,YAAY;AAAA,EAE1C,aAAa,UAAU,KAAK,YAAY;AAAA,EAExC,YAAY,UAAU,OAAO,YAAY;AAAA,EAEzC,OAAO,UAAU,OAAO,YAAY;AAAA,EAEpC,gBAAgB,UAAU,OAAO,YAAY;AAAA,EAE7C,iBAAiB,UAAU,OAAO,YAAY;AAAA,EAE9C,iBAAiB,UAAU,QACzB,UAAU,MAAM;AAAA,IACd,OAAO,UAAU;AAAA,IACjB,OAAO,UAAU;AAAA,MAEnB,YAAY;AAAA,EAEd,uBAAuB,UAAU,OAAO,YAAY;AAAA,EAEpD,uBAAuB,UAAU,OAAO,YAAY;AAAA,EAEpD,oBAAoB,UAAU,KAAK,YAAY;AAAA;AAGjD,cAAc,YAAY;AAE1B,MAAM,0BAA0B,SAAS;AACzC,wBAAwB,YAAY;AAGpC,IAAO,wBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { Component } from "react";
|
|
3
|
+
import { components } from "react-select";
|
|
4
|
+
import { convertPropToCssClassName } from "@elliemae/ds-classnames";
|
|
5
|
+
import { DSComboBox2 } from "@elliemae/ds-form";
|
|
6
|
+
import DSModalSearchField from "./components/ModalSearchField/ModalSearchField";
|
|
7
|
+
import AdvanceSearchOption from "./components/AdvanceSearchOption/AdvanceSearchOption";
|
|
8
|
+
import LookupIndicator from "./components/LookupIndicator/LookupIndicator";
|
|
9
|
+
const advanceOption = {
|
|
10
|
+
className: "advanced-search-option",
|
|
11
|
+
label: "Advanced search",
|
|
12
|
+
value: "search-field-advance-option",
|
|
13
|
+
isAdvance: true
|
|
14
|
+
};
|
|
15
|
+
const { cssClassName, classNameElement, classNameModifier, classNameBlock } = convertPropToCssClassName("query-builder-addon-search-field");
|
|
16
|
+
class DSSearchFieldImpl extends Component {
|
|
17
|
+
constructor(props) {
|
|
18
|
+
super(props);
|
|
19
|
+
this.onChange = () => {
|
|
20
|
+
const {
|
|
21
|
+
selected: id,
|
|
22
|
+
additionalInfo: [row]
|
|
23
|
+
} = this.state;
|
|
24
|
+
const { onChange } = this.props;
|
|
25
|
+
onChange(id, row);
|
|
26
|
+
};
|
|
27
|
+
this.onChangeDropdown = (value) => {
|
|
28
|
+
const { dropdownOptions } = this.props;
|
|
29
|
+
const selected = dropdownOptions.find((op) => op.value === value);
|
|
30
|
+
const { onChange, displayProperty } = this.props;
|
|
31
|
+
if (selected)
|
|
32
|
+
onChange(value, { [displayProperty]: selected.label });
|
|
33
|
+
};
|
|
34
|
+
this.onKeyDown = (event) => {
|
|
35
|
+
setTimeout(() => {
|
|
36
|
+
const { keycode } = event;
|
|
37
|
+
const { value } = this.props;
|
|
38
|
+
if (value && keycode === 13)
|
|
39
|
+
this.handleCloseModal();
|
|
40
|
+
}, 0);
|
|
41
|
+
};
|
|
42
|
+
this.handleSelect = (selectedRow, rows) => {
|
|
43
|
+
let selected = selectedRow;
|
|
44
|
+
if (!selected)
|
|
45
|
+
return;
|
|
46
|
+
if (selected.id)
|
|
47
|
+
selected = selected.id;
|
|
48
|
+
else if (selected[0] && selected[0].id)
|
|
49
|
+
selected = selected[0].id;
|
|
50
|
+
const additionalInfo = rows.filter((row) => selected === row.id);
|
|
51
|
+
this.setState({ selected, additionalInfo });
|
|
52
|
+
};
|
|
53
|
+
this.handleConfirm = () => {
|
|
54
|
+
const { onConfirmField } = this.props;
|
|
55
|
+
this.onChange();
|
|
56
|
+
this.handleCloseModal();
|
|
57
|
+
onConfirmField();
|
|
58
|
+
};
|
|
59
|
+
this.handleReject = () => {
|
|
60
|
+
const { onRejectField } = this.props;
|
|
61
|
+
this.handleCloseModal();
|
|
62
|
+
onRejectField();
|
|
63
|
+
};
|
|
64
|
+
this.handleOpenModal = () => {
|
|
65
|
+
this.setState({ openModal: true });
|
|
66
|
+
};
|
|
67
|
+
this.handleCloseModal = () => this.setState({
|
|
68
|
+
openModal: false,
|
|
69
|
+
selected: [],
|
|
70
|
+
additionalInfo: []
|
|
71
|
+
});
|
|
72
|
+
advanceOption.label = props.searchOptionLabel;
|
|
73
|
+
this.state = {
|
|
74
|
+
openModal: false,
|
|
75
|
+
selected: null,
|
|
76
|
+
additionalInfo: []
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
render() {
|
|
80
|
+
const {
|
|
81
|
+
placeholder,
|
|
82
|
+
modalTitle,
|
|
83
|
+
modalSize,
|
|
84
|
+
tabsAnimated,
|
|
85
|
+
tabsEnableMouseEvents,
|
|
86
|
+
tabType,
|
|
87
|
+
tabData,
|
|
88
|
+
searchFilters,
|
|
89
|
+
searchGrid,
|
|
90
|
+
confirmLabel,
|
|
91
|
+
rejectLabel,
|
|
92
|
+
modalType,
|
|
93
|
+
appElement,
|
|
94
|
+
value,
|
|
95
|
+
additionalInfo,
|
|
96
|
+
displayProperty,
|
|
97
|
+
dropdownOptions,
|
|
98
|
+
searchOptionLabel,
|
|
99
|
+
customDataGridOptions,
|
|
100
|
+
customDropdownOptions,
|
|
101
|
+
useLookupIndicator,
|
|
102
|
+
onTabChange,
|
|
103
|
+
containerProps,
|
|
104
|
+
searchable
|
|
105
|
+
} = this.props;
|
|
106
|
+
const { openModal } = this.state;
|
|
107
|
+
let options = [...dropdownOptions, advanceOption];
|
|
108
|
+
let displayValue = !value ? placeholder : value;
|
|
109
|
+
if (additionalInfo && additionalInfo[displayProperty])
|
|
110
|
+
displayValue = additionalInfo[displayProperty];
|
|
111
|
+
const defaultoption = { value, label: displayValue };
|
|
112
|
+
const customComponents = {
|
|
113
|
+
Option: (props) => {
|
|
114
|
+
props.innerProps.className = "em-ds-combobox__option";
|
|
115
|
+
if (props.data.isAdvance) {
|
|
116
|
+
props.innerProps.onClick = this.handleOpenModal;
|
|
117
|
+
props.innerProps.className = `${props.innerProps.className} ${advanceOption.className}`;
|
|
118
|
+
}
|
|
119
|
+
return /* @__PURE__ */ React2.createElement(components.Option, {
|
|
120
|
+
...props
|
|
121
|
+
});
|
|
122
|
+
},
|
|
123
|
+
IndicatorSeparator: () => null,
|
|
124
|
+
NoOptionsMessage: (props) => /* @__PURE__ */ React2.createElement(AdvanceSearchOption, {
|
|
125
|
+
advanceSearchLabel: searchOptionLabel,
|
|
126
|
+
onAdvanceSearchClick: this.handleOpenModal,
|
|
127
|
+
...props
|
|
128
|
+
})
|
|
129
|
+
};
|
|
130
|
+
if (useLookupIndicator) {
|
|
131
|
+
customComponents.DropdownIndicator = () => null;
|
|
132
|
+
}
|
|
133
|
+
if (!options.find((o) => o.value === defaultoption.value)) {
|
|
134
|
+
options = [defaultoption, ...options];
|
|
135
|
+
}
|
|
136
|
+
return /* @__PURE__ */ React2.createElement("div", {
|
|
137
|
+
...containerProps,
|
|
138
|
+
className: `${cssClassName}`
|
|
139
|
+
}, /* @__PURE__ */ React2.createElement("div", {
|
|
140
|
+
className: `${classNameBlock("container-selector")}`
|
|
141
|
+
}, /* @__PURE__ */ React2.createElement(DSComboBox2, {
|
|
142
|
+
className: `${classNameElement("dropdown-field-selector")}`,
|
|
143
|
+
components: customComponents,
|
|
144
|
+
onChange: this.onChangeDropdown,
|
|
145
|
+
onKeyDown: this.onKeyDown,
|
|
146
|
+
options,
|
|
147
|
+
value,
|
|
148
|
+
searchable,
|
|
149
|
+
...customDropdownOptions
|
|
150
|
+
}), useLookupIndicator && /* @__PURE__ */ React2.createElement(LookupIndicator, {
|
|
151
|
+
buttonType: "text",
|
|
152
|
+
className: `${classNameElement("btn-selector")} ${!value ? classNameModifier("btn-placeholder", "btn-selector") : ""}`,
|
|
153
|
+
onAdvanceSearchClick: this.handleOpenModal
|
|
154
|
+
})), /* @__PURE__ */ React2.createElement(DSModalSearchField, {
|
|
155
|
+
appElement,
|
|
156
|
+
confirmLabel,
|
|
157
|
+
customDataGridOptions,
|
|
158
|
+
handleSelect: this.handleSelect,
|
|
159
|
+
isOpen: openModal,
|
|
160
|
+
modalSize,
|
|
161
|
+
modalTitle,
|
|
162
|
+
modalType,
|
|
163
|
+
onClose: this.handleCloseModal,
|
|
164
|
+
onConfirmField: this.handleConfirm,
|
|
165
|
+
onRejectField: this.handleReject,
|
|
166
|
+
onTabChange,
|
|
167
|
+
placeholder,
|
|
168
|
+
rejectLabel,
|
|
169
|
+
searchFilters,
|
|
170
|
+
searchGrid,
|
|
171
|
+
tabData,
|
|
172
|
+
tabsAnimated,
|
|
173
|
+
tabsEnableMouseEvents,
|
|
174
|
+
tabType
|
|
175
|
+
}));
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
var DSSeachFieldImpl_default = DSSearchFieldImpl;
|
|
179
|
+
export {
|
|
180
|
+
DSModalSearchField,
|
|
181
|
+
DSSeachFieldImpl_default as default
|
|
182
|
+
};
|
|
183
|
+
//# sourceMappingURL=DSSeachFieldImpl.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/impl/DSSeachFieldImpl.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable react/prop-types */\nimport React, { Component } from 'react';\nimport { components } from 'react-select';\nimport { convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { DSComboBox2 } from '@elliemae/ds-form';\n\nimport DSModalSearchField from './components/ModalSearchField/ModalSearchField';\nimport AdvanceSearchOption from './components/AdvanceSearchOption/AdvanceSearchOption';\nimport LookupIndicator from './components/LookupIndicator/LookupIndicator';\n\nconst advanceOption = {\n className: 'advanced-search-option',\n label: 'Advanced search',\n value: 'search-field-advance-option',\n isAdvance: true,\n};\nconst { cssClassName, classNameElement, classNameModifier, classNameBlock } = convertPropToCssClassName(\n 'query-builder-addon-search-field',\n);\n\nclass DSSearchFieldImpl extends Component {\n constructor(props) {\n super(props);\n advanceOption.label = props.searchOptionLabel;\n this.state = {\n openModal: false,\n selected: null,\n additionalInfo: [],\n };\n }\n\n onChange = () => {\n const {\n selected: id,\n additionalInfo: [row],\n } = this.state;\n const { onChange } = this.props;\n onChange(id, row);\n };\n\n onChangeDropdown = (value) => {\n const { dropdownOptions } = this.props;\n const selected = dropdownOptions.find((op) => op.value === value);\n const { onChange, displayProperty } = this.props;\n if (selected) onChange(value, { [displayProperty]: selected.label });\n };\n\n onKeyDown = (event) => {\n setTimeout(() => {\n const { keycode } = event;\n const { value } = this.props;\n if (value && keycode === 13) this.handleCloseModal();\n }, 0);\n };\n\n handleSelect = (selectedRow, rows) => {\n let selected = selectedRow;\n // fix new datagrid callback format\n if (!selected) return;\n if (selected.id) selected = selected.id;\n else if (selected[0] && selected[0].id) selected = selected[0].id;\n const additionalInfo = rows.filter((row) => selected === row.id);\n this.setState({ selected, additionalInfo });\n };\n\n handleConfirm = () => {\n const { onConfirmField } = this.props;\n this.onChange();\n this.handleCloseModal();\n onConfirmField();\n };\n\n handleReject = () => {\n const { onRejectField } = this.props;\n this.handleCloseModal();\n onRejectField();\n };\n\n handleOpenModal = () => {\n this.setState({ openModal: true });\n };\n\n handleCloseModal = () =>\n this.setState({\n openModal: false,\n selected: [],\n additionalInfo: [],\n });\n\n render() {\n const {\n placeholder,\n modalTitle,\n modalSize,\n tabsAnimated,\n tabsEnableMouseEvents,\n tabType,\n tabData,\n searchFilters,\n searchGrid,\n confirmLabel,\n rejectLabel,\n modalType,\n appElement,\n value,\n additionalInfo,\n displayProperty,\n dropdownOptions,\n searchOptionLabel,\n customDataGridOptions,\n customDropdownOptions,\n useLookupIndicator,\n onTabChange,\n containerProps,\n searchable,\n } = this.props;\n const { openModal } = this.state;\n\n let options = [...dropdownOptions, advanceOption];\n let displayValue = !value ? placeholder : value;\n if (additionalInfo && additionalInfo[displayProperty]) displayValue = additionalInfo[displayProperty];\n\n const defaultoption = { value, label: displayValue };\n\n const customComponents = {\n Option: (props) => {\n // return <AdvanceSearchOption onAdvanceSearchClick={this.handleOpenModal} />\n props.innerProps.className = 'em-ds-combobox__option';\n if (props.data.isAdvance) {\n props.innerProps.onClick = this.handleOpenModal;\n props.innerProps.className = `${props.innerProps.className} ${advanceOption.className}`;\n }\n return <components.Option {...props} />;\n },\n IndicatorSeparator: () => null,\n NoOptionsMessage: (props) => (\n <AdvanceSearchOption\n advanceSearchLabel={searchOptionLabel}\n onAdvanceSearchClick={this.handleOpenModal}\n {...props}\n />\n ),\n };\n if (useLookupIndicator) {\n customComponents.DropdownIndicator = () => null;\n }\n\n if (!options.find((o) => o.value === defaultoption.value)) {\n options = [defaultoption, ...options];\n }\n return (\n <div {...containerProps} className={`${cssClassName}`}>\n <div className={`${classNameBlock('container-selector')}`}>\n <DSComboBox2\n className={`${classNameElement('dropdown-field-selector')}`}\n components={customComponents}\n onChange={this.onChangeDropdown}\n onKeyDown={this.onKeyDown}\n options={options}\n value={value}\n searchable={searchable}\n {...customDropdownOptions}\n />\n {useLookupIndicator && (\n <LookupIndicator\n buttonType=\"text\"\n className={`${classNameElement('btn-selector')} ${\n !value ? classNameModifier('btn-placeholder', 'btn-selector') : ''\n }`}\n onAdvanceSearchClick={this.handleOpenModal}\n />\n )}\n </div>\n <DSModalSearchField\n appElement={appElement}\n confirmLabel={confirmLabel}\n customDataGridOptions={customDataGridOptions}\n handleSelect={this.handleSelect}\n isOpen={openModal}\n modalSize={modalSize}\n modalTitle={modalTitle}\n modalType={modalType}\n onClose={this.handleCloseModal}\n onConfirmField={this.handleConfirm}\n onRejectField={this.handleReject}\n onTabChange={onTabChange}\n placeholder={placeholder}\n rejectLabel={rejectLabel}\n searchFilters={searchFilters}\n searchGrid={searchGrid}\n tabData={tabData}\n tabsAnimated={tabsAnimated}\n tabsEnableMouseEvents={tabsEnableMouseEvents}\n tabType={tabType}\n />\n </div>\n );\n }\n}\n\nexport { DSModalSearchField };\nexport default DSSearchFieldImpl;\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import DSButton from "@elliemae/ds-button";
|
|
4
|
+
const AdvanceSearchOption = ({ advanceSearchLabel = "Advanced Search", onAdvanceSearchClick = () => null }) => /* @__PURE__ */ React2.createElement(DSButton, {
|
|
5
|
+
className: "advance-search-option-btn",
|
|
6
|
+
labelText: advanceSearchLabel,
|
|
7
|
+
onClick: onAdvanceSearchClick,
|
|
8
|
+
tabIndex: -1,
|
|
9
|
+
type: "button"
|
|
10
|
+
});
|
|
11
|
+
var AdvanceSearchOption_default = AdvanceSearchOption;
|
|
12
|
+
export {
|
|
13
|
+
AdvanceSearchOption_default as default
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=AdvanceSearchOption.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/impl/components/AdvanceSearchOption/AdvanceSearchOption.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport DSButton from '@elliemae/ds-button';\n\nconst AdvanceSearchOption = ({ advanceSearchLabel = 'Advanced Search', onAdvanceSearchClick = () => null }) => (\n <DSButton\n className=\"advance-search-option-btn\"\n labelText={advanceSearchLabel}\n onClick={onAdvanceSearchClick}\n tabIndex={-1}\n type=\"button\"\n />\n);\n\nexport default AdvanceSearchOption;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AAEA,MAAM,sBAAsB,CAAC,EAAE,qBAAqB,mBAAmB,uBAAuB,MAAM,WAClG,qCAAC,UAAD;AAAA,EACE,WAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,UAAU;AAAA,EACV,MAAK;AAAA;AAIT,IAAO,8BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2 from "react";
|
|
3
|
+
import { Search } from "@elliemae/ds-icons";
|
|
4
|
+
import DSButton from "@elliemae/ds-button";
|
|
5
|
+
const LookupIndicator = ({ onAdvanceSearchClick = () => null, className = "" }) => /* @__PURE__ */ React2.createElement(DSButton, {
|
|
6
|
+
"data-testid": "ds-searchfield-search-btn",
|
|
7
|
+
buttonType: "secondary",
|
|
8
|
+
className,
|
|
9
|
+
icon: /* @__PURE__ */ React2.createElement(Search, null),
|
|
10
|
+
iconSize: "s",
|
|
11
|
+
onClick: (e) => {
|
|
12
|
+
e.stopPropagation();
|
|
13
|
+
e.preventDefault();
|
|
14
|
+
onAdvanceSearchClick();
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
var LookupIndicator_default = LookupIndicator;
|
|
18
|
+
export {
|
|
19
|
+
LookupIndicator_default as default
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=LookupIndicator.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/impl/components/LookupIndicator/LookupIndicator.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React from 'react';\nimport { Search } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\n\nconst LookupIndicator = ({ onAdvanceSearchClick = () => null, className = '' }) => (\n <DSButton\n data-testid=\"ds-searchfield-search-btn\"\n buttonType=\"secondary\"\n className={className}\n icon={<Search />}\n iconSize=\"s\"\n onClick={(e) => {\n e.stopPropagation();\n e.preventDefault();\n onAdvanceSearchClick();\n }}\n />\n);\n\nexport default LookupIndicator;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAEA,MAAM,kBAAkB,CAAC,EAAE,uBAAuB,MAAM,MAAM,YAAY,SACxE,qCAAC,UAAD;AAAA,EACE,eAAY;AAAA,EACZ,YAAW;AAAA,EACX;AAAA,EACA,MAAM,qCAAC,QAAD;AAAA,EACN,UAAS;AAAA,EACT,SAAS,CAAC,MAAM;AACd,MAAE;AACF,MAAE;AACF;AAAA;AAAA;AAKN,IAAO,0BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import React2, { Component } from "react";
|
|
3
|
+
import DSToolbar, { ToolbarGroup } from "@elliemae/ds-toolbar";
|
|
4
|
+
import { DSSearchBox } from "@elliemae/ds-form";
|
|
5
|
+
import { DSDataGrid } from "@elliemae/ds-datagrids";
|
|
6
|
+
import { uid } from "uid";
|
|
7
|
+
class DataGridSearch extends Component {
|
|
8
|
+
constructor(props) {
|
|
9
|
+
super(props);
|
|
10
|
+
this.state = {
|
|
11
|
+
filters: props.filters || []
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
handleSearch(...args) {
|
|
15
|
+
const { customDataGridOptions } = this.props;
|
|
16
|
+
const { property, value } = args[0];
|
|
17
|
+
const { filters } = this.state;
|
|
18
|
+
this.setState({
|
|
19
|
+
filters: [
|
|
20
|
+
...filters,
|
|
21
|
+
{
|
|
22
|
+
group: property,
|
|
23
|
+
label: "All",
|
|
24
|
+
value,
|
|
25
|
+
id: uid(16)
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
});
|
|
29
|
+
if (customDataGridOptions.onFiltersChange)
|
|
30
|
+
customDataGridOptions.onFiltersChange(...args);
|
|
31
|
+
}
|
|
32
|
+
handleFiltersChange(nextFilters) {
|
|
33
|
+
const { customDataGridOptions } = this.props;
|
|
34
|
+
this.setState({ filters: nextFilters });
|
|
35
|
+
if (customDataGridOptions.onFiltersChange)
|
|
36
|
+
customDataGridOptions.onFiltersChange(nextFilters);
|
|
37
|
+
}
|
|
38
|
+
render() {
|
|
39
|
+
const {
|
|
40
|
+
id,
|
|
41
|
+
rows,
|
|
42
|
+
columns,
|
|
43
|
+
boundFetchRows,
|
|
44
|
+
searchFilters,
|
|
45
|
+
searchGrid = true,
|
|
46
|
+
customDataGridOptions,
|
|
47
|
+
handleSelect
|
|
48
|
+
} = this.props;
|
|
49
|
+
const { onFiltersChange, ...restCustomDataGridOptions } = customDataGridOptions;
|
|
50
|
+
const { filters } = this.state;
|
|
51
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(DSToolbar, {
|
|
52
|
+
withDepth: false
|
|
53
|
+
}, /* @__PURE__ */ React2.createElement(ToolbarGroup, null, /* @__PURE__ */ React2.createElement(DSSearchBox, {
|
|
54
|
+
cleanOnSearch: true,
|
|
55
|
+
onSearch: this.handleSearch,
|
|
56
|
+
placeholder: "Search all"
|
|
57
|
+
}))), /* @__PURE__ */ React2.createElement("div", {
|
|
58
|
+
className: "datagrid-tab-content"
|
|
59
|
+
}, /* @__PURE__ */ React2.createElement(DSDataGrid, {
|
|
60
|
+
columns,
|
|
61
|
+
filters,
|
|
62
|
+
fluidHeight: true,
|
|
63
|
+
getData: boundFetchRows,
|
|
64
|
+
id,
|
|
65
|
+
onFiltersChange: this.handleFiltersChange,
|
|
66
|
+
onSelectRow: (rowId) => handleSelect(rowId, rows),
|
|
67
|
+
rows,
|
|
68
|
+
searchFilters,
|
|
69
|
+
searchGrid,
|
|
70
|
+
selectable: true,
|
|
71
|
+
...restCustomDataGridOptions
|
|
72
|
+
})));
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
export {
|
|
76
|
+
DataGridSearch as default
|
|
77
|
+
};
|
|
78
|
+
//# sourceMappingURL=DataGridSearch.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/impl/components/ModalSearchField/DataGridSearch.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { Component } from 'react';\nimport DSToolbar, { ToolbarGroup } from '@elliemae/ds-toolbar';\nimport { DSSearchBox } from '@elliemae/ds-form';\nimport { DSDataGrid } from '@elliemae/ds-datagrids';\nimport { uid } from 'uid';\n\nexport default class DataGridSearch extends Component {\n constructor(props) {\n super(props);\n this.state = {\n filters: props.filters || [],\n };\n }\n\n handleSearch(...args) {\n const { customDataGridOptions } = this.props;\n const { property, value } = args[0];\n const { filters } = this.state;\n this.setState({\n filters: [\n ...filters,\n {\n group: property,\n label: 'All',\n value,\n id: uid(16),\n },\n ],\n });\n if (customDataGridOptions.onFiltersChange) customDataGridOptions.onFiltersChange(...args);\n }\n\n handleFiltersChange(nextFilters) {\n const { customDataGridOptions } = this.props;\n this.setState({ filters: nextFilters });\n if (customDataGridOptions.onFiltersChange) customDataGridOptions.onFiltersChange(nextFilters);\n }\n\n render() {\n const {\n id,\n rows,\n columns,\n boundFetchRows,\n searchFilters,\n searchGrid = true,\n customDataGridOptions,\n handleSelect,\n } = this.props;\n const { onFiltersChange, ...restCustomDataGridOptions } = customDataGridOptions;\n const { filters } = this.state;\n return (\n <>\n <DSToolbar withDepth={false}>\n <ToolbarGroup>\n <DSSearchBox cleanOnSearch onSearch={this.handleSearch} placeholder=\"Search all\" />\n </ToolbarGroup>\n </DSToolbar>\n <div className=\"datagrid-tab-content\">\n <DSDataGrid\n columns={columns}\n filters={filters}\n fluidHeight\n getData={boundFetchRows}\n id={id}\n onFiltersChange={this.handleFiltersChange}\n onSelectRow={(rowId) => handleSelect(rowId, rows)}\n rows={rows}\n searchFilters={searchFilters}\n searchGrid={searchGrid}\n selectable\n {...restCustomDataGridOptions}\n />\n </div>\n </>\n );\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AACA;AACA;AAEA,6BAA4C,UAAU;AAAA,EACpD,YAAY,OAAO;AACjB,UAAM;AACN,SAAK,QAAQ;AAAA,MACX,SAAS,MAAM,WAAW;AAAA;AAAA;AAAA,EAI9B,gBAAgB,MAAM;AACpB,UAAM,EAAE,0BAA0B,KAAK;AACvC,UAAM,EAAE,UAAU,UAAU,KAAK;AACjC,UAAM,EAAE,YAAY,KAAK;AACzB,SAAK,SAAS;AAAA,MACZ,SAAS;AAAA,QACP,GAAG;AAAA,QACH;AAAA,UACE,OAAO;AAAA,UACP,OAAO;AAAA,UACP;AAAA,UACA,IAAI,IAAI;AAAA;AAAA;AAAA;AAId,QAAI,sBAAsB;AAAiB,4BAAsB,gBAAgB,GAAG;AAAA;AAAA,EAGtF,oBAAoB,aAAa;AAC/B,UAAM,EAAE,0BAA0B,KAAK;AACvC,SAAK,SAAS,EAAE,SAAS;AACzB,QAAI,sBAAsB;AAAiB,4BAAsB,gBAAgB;AAAA;AAAA,EAGnF,SAAS;AACP,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA;AAAA,QACE,KAAK;AACT,UAAM,EAAE,oBAAoB,8BAA8B;AAC1D,UAAM,EAAE,YAAY,KAAK;AACzB,WACE,4DACE,qCAAC,WAAD;AAAA,MAAW,WAAW;AAAA,OACpB,qCAAC,cAAD,MACE,qCAAC,aAAD;AAAA,MAAa,eAAa;AAAA,MAAC,UAAU,KAAK;AAAA,MAAc,aAAY;AAAA,UAGxE,qCAAC,OAAD;AAAA,MAAK,WAAU;AAAA,OACb,qCAAC,YAAD;AAAA,MACE;AAAA,MACA;AAAA,MACA,aAAW;AAAA,MACX,SAAS;AAAA,MACT;AAAA,MACA,iBAAiB,KAAK;AAAA,MACtB,aAAa,CAAC,UAAU,aAAa,OAAO;AAAA,MAC5C;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAU;AAAA,SACN;AAAA;AAAA;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|