@qualtrics/plugin-ui-react 1.2.4 → 1.3.3-alpha.1
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/CHANGELOG.md +96 -12
- package/dist/common/popover/popover.d.ts +1 -1
- package/dist/main.es.js +237 -94
- package/dist/main.js +366 -222
- package/package.json +7 -6
package/dist/main.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @license @qualtrics/plugin-ui-react 1.
|
|
1
|
+
/*! @license @qualtrics/plugin-ui-react 1.3.3-alpha.1
|
|
2
2
|
Qualtrics Software License Agreement
|
|
3
3
|
|
|
4
4
|
1. General.
|
|
@@ -64,12 +64,12 @@ var _get = require('lodash.get');
|
|
|
64
64
|
var uiReact = require('@qualtrics/ui-react');
|
|
65
65
|
var icons = require('@qualtrics/ui-react/icons');
|
|
66
66
|
require('core-js/modules/es.string.anchor.js');
|
|
67
|
-
var _cloneDeep = require('lodash.clonedeep');
|
|
68
67
|
require('core-js/modules/es.string.trim.js');
|
|
69
68
|
require('core-js/modules/es.array.map.js');
|
|
70
69
|
require('core-js/modules/es.array.concat.js');
|
|
71
70
|
require('core-js/modules/es.array.filter.js');
|
|
72
71
|
require('regenerator-runtime/runtime.js');
|
|
72
|
+
var _cloneDeep = require('lodash.clonedeep');
|
|
73
73
|
require('core-js/modules/es.array.is-array.js');
|
|
74
74
|
var reactPopper = require('react-popper');
|
|
75
75
|
var ReactDOM = require('react-dom');
|
|
@@ -80,6 +80,7 @@ require('core-js/modules/es.array.iterator.js');
|
|
|
80
80
|
require('core-js/modules/web.dom-collections.iterator.js');
|
|
81
81
|
require('core-js/modules/es.array.find.js');
|
|
82
82
|
require('core-js/modules/es.object.assign.js');
|
|
83
|
+
var _cloneDeepWith = require('lodash.clonedeepwith');
|
|
83
84
|
var uuid = require('uuid');
|
|
84
85
|
require('core-js/modules/es.regexp.exec.js');
|
|
85
86
|
require('core-js/modules/es.string.search.js');
|
|
@@ -90,6 +91,7 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
90
91
|
var _get__default = /*#__PURE__*/_interopDefaultLegacy(_get);
|
|
91
92
|
var _cloneDeep__default = /*#__PURE__*/_interopDefaultLegacy(_cloneDeep);
|
|
92
93
|
var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
|
|
94
|
+
var _cloneDeepWith__default = /*#__PURE__*/_interopDefaultLegacy(_cloneDeepWith);
|
|
93
95
|
var uuid__default = /*#__PURE__*/_interopDefaultLegacy(uuid);
|
|
94
96
|
|
|
95
97
|
function styleInject(css, ref) {
|
|
@@ -127,14 +129,9 @@ function ownKeys(object, enumerableOnly) {
|
|
|
127
129
|
|
|
128
130
|
if (Object.getOwnPropertySymbols) {
|
|
129
131
|
var symbols = Object.getOwnPropertySymbols(object);
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
keys.push.apply(keys, symbols);
|
|
132
|
+
enumerableOnly && (symbols = symbols.filter(function (sym) {
|
|
133
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
134
|
+
})), keys.push.apply(keys, symbols);
|
|
138
135
|
}
|
|
139
136
|
|
|
140
137
|
return keys;
|
|
@@ -142,19 +139,12 @@ function ownKeys(object, enumerableOnly) {
|
|
|
142
139
|
|
|
143
140
|
function _objectSpread2(target) {
|
|
144
141
|
for (var i = 1; i < arguments.length; i++) {
|
|
145
|
-
var source = arguments[i]
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
} else if (Object.getOwnPropertyDescriptors) {
|
|
152
|
-
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
153
|
-
} else {
|
|
154
|
-
ownKeys(Object(source)).forEach(function (key) {
|
|
155
|
-
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
156
|
-
});
|
|
157
|
-
}
|
|
142
|
+
var source = null != arguments[i] ? arguments[i] : {};
|
|
143
|
+
i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {
|
|
144
|
+
_defineProperty(target, key, source[key]);
|
|
145
|
+
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {
|
|
146
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
147
|
+
});
|
|
158
148
|
}
|
|
159
149
|
|
|
160
150
|
return target;
|
|
@@ -163,17 +153,11 @@ function _objectSpread2(target) {
|
|
|
163
153
|
function _typeof(obj) {
|
|
164
154
|
"@babel/helpers - typeof";
|
|
165
155
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
_typeof = function (obj) {
|
|
172
|
-
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
173
|
-
};
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
return _typeof(obj);
|
|
156
|
+
return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
157
|
+
return typeof obj;
|
|
158
|
+
} : function (obj) {
|
|
159
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
160
|
+
}, _typeof(obj);
|
|
177
161
|
}
|
|
178
162
|
|
|
179
163
|
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
@@ -231,6 +215,9 @@ function _defineProperties(target, props) {
|
|
|
231
215
|
function _createClass(Constructor, protoProps, staticProps) {
|
|
232
216
|
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
233
217
|
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
218
|
+
Object.defineProperty(Constructor, "prototype", {
|
|
219
|
+
writable: false
|
|
220
|
+
});
|
|
234
221
|
return Constructor;
|
|
235
222
|
}
|
|
236
223
|
|
|
@@ -261,6 +248,9 @@ function _inherits(subClass, superClass) {
|
|
|
261
248
|
configurable: true
|
|
262
249
|
}
|
|
263
250
|
});
|
|
251
|
+
Object.defineProperty(subClass, "prototype", {
|
|
252
|
+
writable: false
|
|
253
|
+
});
|
|
264
254
|
if (superClass) _setPrototypeOf(subClass, superClass);
|
|
265
255
|
}
|
|
266
256
|
|
|
@@ -304,6 +294,8 @@ function _assertThisInitialized(self) {
|
|
|
304
294
|
function _possibleConstructorReturn(self, call) {
|
|
305
295
|
if (call && (typeof call === "object" || typeof call === "function")) {
|
|
306
296
|
return call;
|
|
297
|
+
} else if (call !== void 0) {
|
|
298
|
+
throw new TypeError("Derived constructors may only return object or undefined");
|
|
307
299
|
}
|
|
308
300
|
|
|
309
301
|
return _assertThisInitialized(self);
|
|
@@ -349,7 +341,7 @@ function _iterableToArray(iter) {
|
|
|
349
341
|
}
|
|
350
342
|
|
|
351
343
|
function _iterableToArrayLimit(arr, i) {
|
|
352
|
-
var _i = arr
|
|
344
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
353
345
|
|
|
354
346
|
if (_i == null) return;
|
|
355
347
|
var _arr = [];
|
|
@@ -587,8 +579,8 @@ var languageCodeMapping = {
|
|
|
587
579
|
RU: 'ru',
|
|
588
580
|
SV: 'sv',
|
|
589
581
|
TH: 'th',
|
|
590
|
-
'ZH-S': 'zh-
|
|
591
|
-
'ZH-T': 'zh-
|
|
582
|
+
'ZH-S': 'zh-Hans',
|
|
583
|
+
'ZH-T': 'zh-Hant'
|
|
592
584
|
};
|
|
593
585
|
function languageCodeAdapter(languageCode) {
|
|
594
586
|
var adaptedCode;
|
|
@@ -675,7 +667,7 @@ var Portal = function (_Component) {
|
|
|
675
667
|
}, {
|
|
676
668
|
key: "render",
|
|
677
669
|
value: function render() {
|
|
678
|
-
return ReactDOM__default[
|
|
670
|
+
return ReactDOM__default["default"].createPortal(this.props.children, this.container);
|
|
679
671
|
}
|
|
680
672
|
}]);
|
|
681
673
|
|
|
@@ -687,10 +679,10 @@ styleInject(css_248z$a);
|
|
|
687
679
|
|
|
688
680
|
var globalClickRegistry = new EventRegistry();
|
|
689
681
|
var DEFAULT_PLACEMENT = 'bottom-start';
|
|
690
|
-
var DEFAULT_ANCHOR = React__default[
|
|
682
|
+
var DEFAULT_ANCHOR = React__default["default"].createElement(uiReact.Button, null, " anchor ");
|
|
691
683
|
var defaultModifiers = [];
|
|
692
684
|
initGlobalListener();
|
|
693
|
-
function Popover(props
|
|
685
|
+
function Popover(props) {
|
|
694
686
|
var _useState = React.useState(false),
|
|
695
687
|
_useState2 = _slicedToArray(_useState, 2),
|
|
696
688
|
isOpen = _useState2[0],
|
|
@@ -711,7 +703,7 @@ function Popover(props, ref) {
|
|
|
711
703
|
anchor = props.anchor(ref);
|
|
712
704
|
} else {
|
|
713
705
|
anchor = props.anchor;
|
|
714
|
-
anchor = React__default[
|
|
706
|
+
anchor = React__default["default"].createElement("div", {
|
|
715
707
|
ref: ref,
|
|
716
708
|
className: "popover-anchor-container"
|
|
717
709
|
}, props.anchor || DEFAULT_ANCHOR);
|
|
@@ -745,7 +737,7 @@ function Popover(props, ref) {
|
|
|
745
737
|
setIsOpen(props.show);
|
|
746
738
|
}
|
|
747
739
|
}, [props.show]);
|
|
748
|
-
return React__default[
|
|
740
|
+
return React__default["default"].createElement(reactPopper.Manager, null, React__default["default"].createElement(reactPopper.Reference, null, anchorEl), React__default["default"].createElement(Portal, null, isOpen && React__default["default"].createElement(reactPopper.Popper, {
|
|
749
741
|
placement: props.placement || DEFAULT_PLACEMENT,
|
|
750
742
|
modifiers: modifiers
|
|
751
743
|
}, function (_ref2) {
|
|
@@ -771,12 +763,12 @@ function Popover(props, ref) {
|
|
|
771
763
|
optionsRef.current.scheduleUpdate = scheduleUpdate;
|
|
772
764
|
}
|
|
773
765
|
});
|
|
774
|
-
return React__default[
|
|
766
|
+
return React__default["default"].createElement("div", {
|
|
775
767
|
ref: ref,
|
|
776
768
|
"data-placement": placement,
|
|
777
769
|
style: _objectSpread2({}, style),
|
|
778
770
|
className: "q-popover"
|
|
779
|
-
}, props.children, React__default[
|
|
771
|
+
}, props.children, React__default["default"].createElement("div", {
|
|
780
772
|
ref: arrowProps.ref,
|
|
781
773
|
style: arrowProps.style
|
|
782
774
|
}));
|
|
@@ -800,7 +792,7 @@ function initGlobalListener() {
|
|
|
800
792
|
var css_248z$9 = "div[role=\"menu\"] .piped-text-search-input-container {\n padding: 5px 10px; }\n\n.piped-text-search-input {\n padding: 10px 12px;\n user-select: none;\n box-sizing: border-box;\n overflow-x: hidden;\n text-overflow: ellipsis;\n align-content: center;\n padding: 4px 8px 8px; }\n .piped-text-search-input input.q-plugin-popover-input {\n box-sizing: border-box;\n height: 36px;\n padding: 7px 9px; }\n\n.piped-text-menu-empty-anchor {\n /* the margin-right hack was not in harmony with tao.\n now, the empty-anchor is truly empty */ }\n\n.piped-text-submenu-item-container {\n position: relative; }\n .piped-text-submenu-item-container .piped-text-menu .piped-text-submenu-anchor {\n position: absolute;\n z-index: -1;\n bottom: 0;\n top: 0;\n left: 0;\n right: 0;\n min-width: 100%; }\n\n.piped-text-menu-item, .piped-text-submenu-item {\n padding: 10px 12px;\n user-select: none;\n box-sizing: border-box;\n overflow-x: hidden;\n text-overflow: ellipsis; }\n .piped-text-menu-item:not(.piped-text-header):not(.piped-text-disabled):hover, .piped-text-submenu-item:not(.piped-text-header):not(.piped-text-disabled):hover {\n cursor: pointer;\n background: RGBA(50, 54, 58, 0.08); }\n .piped-text-menu-item.piped-text-header, .piped-text-submenu-item.piped-text-header {\n font-size: 12px;\n line-height: 16px;\n font-weight: 700;\n padding: 12px; }\n .piped-text-menu-item.piped-text-disabled:not(.piped-text-header), .piped-text-submenu-item.piped-text-disabled:not(.piped-text-header) {\n color: RGB(116, 119, 122); }\n\n.piped-text-submenu-item {\n padding-right: 24px; }\n\n.piped-text-information-message {\n padding: 10px 12px;\n user-select: none;\n box-sizing: border-box;\n overflow-x: hidden;\n text-overflow: ellipsis;\n color: #74777A;\n text-align: center;\n white-space: pre-line; }\n\n.piped-text-loading-spinner {\n width: fit-content;\n margin: 0 auto; }\n\n.piped-text-error-container {\n color: #BB0000; }\n .piped-text-error-container .piped-text-error-icon {\n padding: 8px 0; }\n .piped-text-error-container .piped-text-error-icon svg {\n fill: #BB0000;\n display: block;\n margin: 0 auto; }\n .piped-text-error-container .piped-text-error-text {\n text-align: center;\n white-space: pre-line;\n padding: 0 12px 8px; }\n\n.embedded-data-menu {\n padding: 10px 12px;\n user-select: none;\n box-sizing: border-box;\n overflow-x: hidden;\n text-overflow: ellipsis;\n align-content: center;\n padding: 4px 8px 8px; }\n .embedded-data-menu input.q-plugin-popover-input {\n box-sizing: border-box;\n height: 36px;\n padding: 7px 9px; }\n";
|
|
801
793
|
styleInject(css_248z$9);
|
|
802
794
|
|
|
803
|
-
var EmbeddedDataMenu = React__default[
|
|
795
|
+
var EmbeddedDataMenu = React__default["default"].forwardRef(function (props, ref) {
|
|
804
796
|
var _useState = React.useState(''),
|
|
805
797
|
_useState2 = _slicedToArray(_useState, 2),
|
|
806
798
|
inputValue = _useState2[0],
|
|
@@ -823,7 +815,7 @@ var EmbeddedDataMenu = React__default['default'].forwardRef(function (props, ref
|
|
|
823
815
|
|
|
824
816
|
React.useEffect(function () {
|
|
825
817
|
setTimeout(function () {
|
|
826
|
-
if (_get__default[
|
|
818
|
+
if (_get__default["default"](inputRef, 'current.focus') !== undefined) {
|
|
827
819
|
inputRef.current.focus();
|
|
828
820
|
}
|
|
829
821
|
});
|
|
@@ -861,24 +853,24 @@ var EmbeddedDataMenu = React__default['default'].forwardRef(function (props, ref
|
|
|
861
853
|
handleAddButtonClick();
|
|
862
854
|
};
|
|
863
855
|
|
|
864
|
-
return React__default[
|
|
856
|
+
return React__default["default"].createElement(Popover, {
|
|
865
857
|
show: props.show,
|
|
866
858
|
anchor: anchor,
|
|
867
859
|
onClose: onClose,
|
|
868
860
|
ignoreClickSelector: ignoreClickSelector,
|
|
869
861
|
placement: props.placement || 'right-start'
|
|
870
|
-
}, React__default[
|
|
862
|
+
}, React__default["default"].createElement("div", {
|
|
871
863
|
className: "embedded-data-menu"
|
|
872
|
-
}, React__default[
|
|
864
|
+
}, React__default["default"].createElement("div", null, React__default["default"].createElement(uiReact.InputGroup, null, React__default["default"].createElement(uiReact.Input, {
|
|
873
865
|
onChange: handleInputChange,
|
|
874
866
|
invalid: isInputInvalid,
|
|
875
867
|
onKeyDown: handleInputKeyDown,
|
|
876
868
|
ref: inputRef,
|
|
877
869
|
className: "q-plugin-popover-input"
|
|
878
|
-
}), React__default[
|
|
870
|
+
}), React__default["default"].createElement(uiReact.Button, {
|
|
879
871
|
kind: "primary",
|
|
880
872
|
onClick: handleAddButtonClick
|
|
881
|
-
}, React__default[
|
|
873
|
+
}, React__default["default"].createElement(uiReact.Icon, {
|
|
882
874
|
type: uiReact.IconTypes.Add
|
|
883
875
|
}))))));
|
|
884
876
|
});
|
|
@@ -887,11 +879,11 @@ var css_248z$8 = "div[role=\"menu\"] .piped-text-search-input-container {\n pad
|
|
|
887
879
|
styleInject(css_248z$8);
|
|
888
880
|
|
|
889
881
|
var EMBEDDED_DATA_LOCATOR = 'embeddedData';
|
|
890
|
-
var PipedTextMenu = React__default[
|
|
882
|
+
var PipedTextMenu = React__default["default"].forwardRef(function PipedTextMenu(props, ref) {
|
|
891
883
|
var defaultMenuItems = undefined;
|
|
892
884
|
|
|
893
885
|
if (typeof props.items !== 'function') {
|
|
894
|
-
defaultMenuItems = _cloneDeep__default[
|
|
886
|
+
defaultMenuItems = _cloneDeep__default["default"](props.items);
|
|
895
887
|
}
|
|
896
888
|
|
|
897
889
|
var optionsRef = React.useRef({});
|
|
@@ -916,8 +908,47 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
916
908
|
searchValue = _useState8[0],
|
|
917
909
|
setSearchValue = _useState8[1];
|
|
918
910
|
|
|
919
|
-
var
|
|
911
|
+
var _useState9 = React.useState(undefined),
|
|
912
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
913
|
+
isSubmenu = _useState10[0],
|
|
914
|
+
setIsSubmenu = _useState10[1];
|
|
915
|
+
|
|
916
|
+
var onClose = props.onClose || function () {
|
|
917
|
+
return undefined;
|
|
918
|
+
};
|
|
919
|
+
|
|
920
|
+
var _useState11 = React.useState(null),
|
|
921
|
+
_useState12 = _slicedToArray(_useState11, 2),
|
|
922
|
+
popoverEl = _useState12[0],
|
|
923
|
+
setPopoverEl = _useState12[1];
|
|
924
|
+
|
|
925
|
+
var popoverRefCb = React.useCallback(function (el) {
|
|
926
|
+
setPopoverEl(el);
|
|
927
|
+
}, []);
|
|
928
|
+
|
|
929
|
+
var _useState13 = React.useState(null),
|
|
930
|
+
_useState14 = _slicedToArray(_useState13, 2),
|
|
931
|
+
searchBoxEl = _useState14[0],
|
|
932
|
+
setSearchBoxEl = _useState14[1];
|
|
920
933
|
|
|
934
|
+
var searchBoxRefCb = React.useCallback(function (el) {
|
|
935
|
+
setSearchBoxEl(el);
|
|
936
|
+
}, []);
|
|
937
|
+
React.useEffect(function () {
|
|
938
|
+
var anchorRefEl = _get__default["default"](props, 'anchorRef.current');
|
|
939
|
+
|
|
940
|
+
if (anchorRefEl) {
|
|
941
|
+
var anchorRefElRole = anchorRefEl.getAttribute('role');
|
|
942
|
+
var nextIsSubmenu = anchorRefElRole === 'menuitem';
|
|
943
|
+
setIsSubmenu(nextIsSubmenu);
|
|
944
|
+
}
|
|
945
|
+
|
|
946
|
+
if (isSubmenu === true) ; else if (isSubmenu === false) {
|
|
947
|
+
if (popoverEl !== null) {
|
|
948
|
+
popoverEl.focus();
|
|
949
|
+
}
|
|
950
|
+
}
|
|
951
|
+
}, [popoverEl, searchBoxEl, props.anchorRef, isSubmenu]);
|
|
921
952
|
React.useEffect(function () {
|
|
922
953
|
_asyncToGenerator(regeneratorRuntime.mark(function _callee() {
|
|
923
954
|
var newMenuItems;
|
|
@@ -977,7 +1008,7 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
977
1008
|
|
|
978
1009
|
var reRenderMenus = function reRenderMenus() {
|
|
979
1010
|
var nextMenuItems;
|
|
980
|
-
nextMenuItems = _cloneDeep__default[
|
|
1011
|
+
nextMenuItems = _cloneDeep__default["default"](menuItems);
|
|
981
1012
|
setMenuItems(nextMenuItems);
|
|
982
1013
|
};
|
|
983
1014
|
|
|
@@ -995,14 +1026,14 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
995
1026
|
menuItem.show = true;
|
|
996
1027
|
}
|
|
997
1028
|
|
|
998
|
-
nextMenuItems = _cloneDeep__default[
|
|
1029
|
+
nextMenuItems = _cloneDeep__default["default"](menuItems);
|
|
999
1030
|
setMenuItems(nextMenuItems);
|
|
1000
1031
|
};
|
|
1001
1032
|
|
|
1002
1033
|
var menuItemHovered = function menuItemHovered(menuItem, evt) {
|
|
1003
1034
|
var nextMenuItems;
|
|
1004
1035
|
closeSubmenus(menuItems);
|
|
1005
|
-
nextMenuItems = _cloneDeep__default[
|
|
1036
|
+
nextMenuItems = _cloneDeep__default["default"](menuItems);
|
|
1006
1037
|
setMenuItems(nextMenuItems);
|
|
1007
1038
|
};
|
|
1008
1039
|
|
|
@@ -1012,6 +1043,10 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1012
1043
|
setSearchValue(searchVal);
|
|
1013
1044
|
};
|
|
1014
1045
|
|
|
1046
|
+
var handleSearchInputClick = function handleSearchInputClick(evt) {
|
|
1047
|
+
evt.stopPropagation();
|
|
1048
|
+
};
|
|
1049
|
+
|
|
1015
1050
|
var matchesSearch = function matchesSearch(item) {
|
|
1016
1051
|
var searchVal = searchValue || '';
|
|
1017
1052
|
searchVal = searchVal.trim().toLowerCase();
|
|
@@ -1041,12 +1076,13 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1041
1076
|
props.onSelected(edMenuItem);
|
|
1042
1077
|
};
|
|
1043
1078
|
|
|
1044
|
-
var
|
|
1045
|
-
|
|
1079
|
+
var SubmenuItem = function SubmenuItem(props) {
|
|
1080
|
+
var submenuAnchorRef = React.useRef(null);
|
|
1081
|
+
var menuItem = props.menuItem;
|
|
1082
|
+
return React__default["default"].createElement("div", {
|
|
1046
1083
|
"data-testid": "piped-text-submenu",
|
|
1047
|
-
className: "piped-text-submenu-item-container"
|
|
1048
|
-
|
|
1049
|
-
}, menuItem.show && React__default['default'].createElement(PipedTextMenu, {
|
|
1084
|
+
className: "piped-text-submenu-item-container"
|
|
1085
|
+
}, menuItem.show && React__default["default"].createElement(PipedTextMenu, {
|
|
1050
1086
|
items: menuItem.submenu.items,
|
|
1051
1087
|
show: menuItem.show,
|
|
1052
1088
|
placement: "right-start",
|
|
@@ -1060,21 +1096,25 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1060
1096
|
errorText: menuItem.submenu.errorText,
|
|
1061
1097
|
onSelected: menuItemClicked,
|
|
1062
1098
|
anchor: function anchor(ref) {
|
|
1063
|
-
return React__default[
|
|
1099
|
+
return React__default["default"].createElement("div", {
|
|
1064
1100
|
ref: ref,
|
|
1065
1101
|
className: "piped-text-submenu-anchor"
|
|
1066
1102
|
});
|
|
1067
|
-
}
|
|
1068
|
-
|
|
1103
|
+
},
|
|
1104
|
+
anchorRef: submenuAnchorRef
|
|
1105
|
+
}), React__default["default"].createElement("div", {
|
|
1069
1106
|
className: "piped-text-submenu-item",
|
|
1107
|
+
"aria-haspopup": "menu",
|
|
1108
|
+
role: "menuitem",
|
|
1070
1109
|
onMouseEnter: function onMouseEnter($e) {
|
|
1071
1110
|
return submenuHovered(menuItem);
|
|
1072
|
-
}
|
|
1073
|
-
|
|
1111
|
+
},
|
|
1112
|
+
ref: submenuAnchorRef
|
|
1113
|
+
}, React__default["default"].createElement("div", {
|
|
1074
1114
|
className: "label-text"
|
|
1075
|
-
}, menuItem.label), React__default[
|
|
1115
|
+
}, menuItem.label), React__default["default"].createElement("div", {
|
|
1076
1116
|
className: "piped-text-icon"
|
|
1077
|
-
}, React__default[
|
|
1117
|
+
}, React__default["default"].createElement(uiReact.Icon, {
|
|
1078
1118
|
type: uiReact.IconTypes.ChevronRight,
|
|
1079
1119
|
size: "medium"
|
|
1080
1120
|
}))));
|
|
@@ -1082,7 +1122,7 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1082
1122
|
|
|
1083
1123
|
var getPipedTextMenuItems = function getPipedTextMenuItems(menuItems) {
|
|
1084
1124
|
if (menuItems.length === 0 && props.allowCustom === true && props.customInputMessage) {
|
|
1085
|
-
return React__default[
|
|
1125
|
+
return React__default["default"].createElement("div", null, React__default["default"].createElement("div", {
|
|
1086
1126
|
className: "piped-text-information-message"
|
|
1087
1127
|
}, props.customInputMessage));
|
|
1088
1128
|
}
|
|
@@ -1091,17 +1131,20 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1091
1131
|
var menuItemHeaderClass, menuItemDisabledClass, menuItemClassName;
|
|
1092
1132
|
|
|
1093
1133
|
if (menuItem.hasSubmenu) {
|
|
1094
|
-
return
|
|
1134
|
+
return React__default["default"].createElement(SubmenuItem, {
|
|
1135
|
+
key: menuItem.key,
|
|
1136
|
+
menuItem: menuItem
|
|
1137
|
+
});
|
|
1095
1138
|
} else if (menuItem.header === true || menuItem.disabled === true) {
|
|
1096
1139
|
menuItemHeaderClass = menuItem.header === true ? 'piped-text-header' : '';
|
|
1097
1140
|
menuItemDisabledClass = menuItem.disabled === true ? 'piped-text-disabled' : '';
|
|
1098
1141
|
menuItemClassName = "piped-text-menu-item ".concat(menuItemHeaderClass, " ").concat(menuItemDisabledClass);
|
|
1099
|
-
return React__default[
|
|
1142
|
+
return React__default["default"].createElement("div", {
|
|
1100
1143
|
key: menuItem.key,
|
|
1101
1144
|
className: menuItemClassName
|
|
1102
1145
|
}, menuItem.label);
|
|
1103
1146
|
} else if (menuItem.value === EMBEDDED_DATA_LOCATOR) {
|
|
1104
|
-
return React__default[
|
|
1147
|
+
return React__default["default"].createElement("div", {
|
|
1105
1148
|
key: menuItem.key,
|
|
1106
1149
|
onClick: function onClick($e) {
|
|
1107
1150
|
return embeddedDataItemClicked(menuItem);
|
|
@@ -1109,20 +1152,20 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1109
1152
|
onMouseEnter: function onMouseEnter($e) {
|
|
1110
1153
|
return menuItemHovered();
|
|
1111
1154
|
}
|
|
1112
|
-
}, React__default[
|
|
1155
|
+
}, React__default["default"].createElement(EmbeddedDataMenu, {
|
|
1113
1156
|
show: menuItem.show,
|
|
1114
1157
|
onSelect: handleEmbeddedDataSelect,
|
|
1115
1158
|
anchor: function anchor(ref) {
|
|
1116
|
-
return React__default[
|
|
1159
|
+
return React__default["default"].createElement("div", {
|
|
1117
1160
|
ref: ref,
|
|
1118
1161
|
className: "embedded-data-menu-anchor"
|
|
1119
1162
|
});
|
|
1120
1163
|
}
|
|
1121
|
-
}), React__default[
|
|
1164
|
+
}), React__default["default"].createElement("div", {
|
|
1122
1165
|
className: "piped-text-menu-item"
|
|
1123
1166
|
}, menuItem.label));
|
|
1124
1167
|
} else {
|
|
1125
|
-
return React__default[
|
|
1168
|
+
return React__default["default"].createElement("div", {
|
|
1126
1169
|
key: menuItem.key,
|
|
1127
1170
|
onMouseEnter: function onMouseEnter($e) {
|
|
1128
1171
|
return menuItemHovered();
|
|
@@ -1130,7 +1173,7 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1130
1173
|
onClick: function onClick($e) {
|
|
1131
1174
|
return menuItemClicked(menuItem);
|
|
1132
1175
|
}
|
|
1133
|
-
}, React__default[
|
|
1176
|
+
}, React__default["default"].createElement("div", {
|
|
1134
1177
|
className: "piped-text-menu-item"
|
|
1135
1178
|
}, menuItem.label));
|
|
1136
1179
|
}
|
|
@@ -1161,23 +1204,23 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1161
1204
|
};
|
|
1162
1205
|
|
|
1163
1206
|
var getLoadError = function getLoadError() {
|
|
1164
|
-
return React__default[
|
|
1207
|
+
return React__default["default"].createElement("div", {
|
|
1165
1208
|
className: "piped-text-popover-container"
|
|
1166
|
-
}, React__default[
|
|
1209
|
+
}, React__default["default"].createElement("div", {
|
|
1167
1210
|
className: "piped-text-error-container"
|
|
1168
|
-
}, React__default[
|
|
1211
|
+
}, React__default["default"].createElement("div", {
|
|
1169
1212
|
className: "piped-text-error-icon"
|
|
1170
|
-
}, React__default[
|
|
1213
|
+
}, React__default["default"].createElement(icons.ErrorIcon, {
|
|
1171
1214
|
size: "medium"
|
|
1172
|
-
})), props.errorText && React__default[
|
|
1215
|
+
})), props.errorText && React__default["default"].createElement("div", {
|
|
1173
1216
|
className: "piped-text-error-text"
|
|
1174
1217
|
}, props.errorText)));
|
|
1175
1218
|
};
|
|
1176
1219
|
|
|
1177
1220
|
var getLoadingSpinner = function getLoadingSpinner() {
|
|
1178
|
-
return React__default[
|
|
1221
|
+
return React__default["default"].createElement("div", {
|
|
1179
1222
|
className: "piped-text-loading-spinner"
|
|
1180
|
-
}, React__default[
|
|
1223
|
+
}, React__default["default"].createElement(uiReact.LoadingSpinner, {
|
|
1181
1224
|
show: true,
|
|
1182
1225
|
size: "medium"
|
|
1183
1226
|
}));
|
|
@@ -1188,13 +1231,13 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1188
1231
|
return getLoadError();
|
|
1189
1232
|
} else {
|
|
1190
1233
|
var itemsToRender = (menuItems || []).filter(matchesSearch);
|
|
1191
|
-
return React__default[
|
|
1192
|
-
className: "piped-text-popover-
|
|
1193
|
-
}, React__default[
|
|
1234
|
+
return React__default["default"].createElement("div", {
|
|
1235
|
+
className: "piped-text-popover-menu"
|
|
1236
|
+
}, React__default["default"].createElement("div", {
|
|
1194
1237
|
className: "piped-text-search-input"
|
|
1195
|
-
}, React__default[
|
|
1238
|
+
}, React__default["default"].createElement("form", {
|
|
1196
1239
|
onSubmit: handleSearchSubmit
|
|
1197
|
-
}, React__default[
|
|
1240
|
+
}, React__default["default"].createElement(uiReact.Input, {
|
|
1198
1241
|
small: true,
|
|
1199
1242
|
full: true,
|
|
1200
1243
|
placeholder: props.searchPlaceholder,
|
|
@@ -1202,28 +1245,45 @@ var PipedTextMenu = React__default['default'].forwardRef(function (props, ref) {
|
|
|
1202
1245
|
value: searchValue,
|
|
1203
1246
|
onChange: function onChange($e) {
|
|
1204
1247
|
return onSearchInputChange($e);
|
|
1205
|
-
}
|
|
1248
|
+
},
|
|
1249
|
+
onClick: function onClick($e) {
|
|
1250
|
+
return handleSearchInputClick($e);
|
|
1251
|
+
},
|
|
1252
|
+
ref: searchBoxRefCb
|
|
1206
1253
|
}))), menuItems === undefined ? getLoadingSpinner() : getPipedTextMenuItems(itemsToRender));
|
|
1207
1254
|
}
|
|
1208
1255
|
};
|
|
1209
1256
|
|
|
1210
|
-
return React__default[
|
|
1257
|
+
return React__default["default"].createElement("div", {
|
|
1211
1258
|
className: "piped-text-menu"
|
|
1212
|
-
}, React__default[
|
|
1259
|
+
}, React__default["default"].createElement(Popover, {
|
|
1213
1260
|
show: isMenuOpen,
|
|
1214
1261
|
onClose: _onClose,
|
|
1215
1262
|
placement: props.placement || 'right-start',
|
|
1216
1263
|
anchor: props.anchor,
|
|
1217
1264
|
ignoreClickSelector: props.ignoreClickSelector
|
|
1218
|
-
}, React__default[
|
|
1219
|
-
className: "piped-text-popover-container"
|
|
1220
|
-
|
|
1265
|
+
}, React__default["default"].createElement("div", {
|
|
1266
|
+
className: "piped-text-popover-container",
|
|
1267
|
+
ref: popoverRefCb,
|
|
1268
|
+
onFocus: function onFocus($e) {
|
|
1269
|
+
return handleFocus($e);
|
|
1270
|
+
},
|
|
1271
|
+
tabIndex: props.tabIndex !== undefined ? props.tabIndex : -1
|
|
1272
|
+
}, getMenuContent()), React__default["default"].createElement(OptionsPlaceholder, {
|
|
1221
1273
|
optionsRef: optionsRef
|
|
1222
1274
|
})));
|
|
1275
|
+
|
|
1276
|
+
function handleFocus(evt) {
|
|
1277
|
+
if (!isSubmenu && searchBoxEl !== null) {
|
|
1278
|
+
searchBoxEl.focus();
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
evt.stopPropagation();
|
|
1282
|
+
}
|
|
1223
1283
|
});
|
|
1224
1284
|
|
|
1225
1285
|
function OptionsPlaceholder() {
|
|
1226
|
-
return React__default[
|
|
1286
|
+
return React__default["default"].createElement("span", null);
|
|
1227
1287
|
}
|
|
1228
1288
|
|
|
1229
1289
|
function closeSubmenus(menuItems) {
|
|
@@ -1238,13 +1298,13 @@ function pipedTextDataAdapter(pipedTextData, recursed) {
|
|
|
1238
1298
|
var uniqueKey;
|
|
1239
1299
|
|
|
1240
1300
|
if (!recursed) {
|
|
1241
|
-
pipedTextData = _cloneDeep__default[
|
|
1301
|
+
pipedTextData = _cloneDeep__default["default"](pipedTextData);
|
|
1242
1302
|
}
|
|
1243
1303
|
|
|
1244
1304
|
uniqueKey = 1;
|
|
1245
1305
|
pipedTextData.forEach(function (pipedTextItem) {
|
|
1246
1306
|
pipedTextItem.key = pipedTextItem.key || uniqueKey++;
|
|
1247
|
-
pipedTextItem.hasSubmenu = !!_get__default[
|
|
1307
|
+
pipedTextItem.hasSubmenu = !!_get__default["default"](pipedTextItem, 'submenu.items.length') || typeof _get__default["default"](pipedTextItem, 'submenu.items') === 'function';
|
|
1248
1308
|
|
|
1249
1309
|
if (pipedTextItem.hasSubmenu || pipedTextItem.value === EMBEDDED_DATA_LOCATOR) {
|
|
1250
1310
|
pipedTextItem.show = false;
|
|
@@ -1263,7 +1323,7 @@ var css_248z$7 = ".piped-text-dropdown button[type=button].popover-toggle-button
|
|
|
1263
1323
|
styleInject(css_248z$7);
|
|
1264
1324
|
|
|
1265
1325
|
var defaultAnchor = function defaultAnchor(ref) {
|
|
1266
|
-
return React__default[
|
|
1326
|
+
return React__default["default"].createElement("div", {
|
|
1267
1327
|
ref: ref,
|
|
1268
1328
|
className: "piped-text-menu-empty-anchor"
|
|
1269
1329
|
});
|
|
@@ -1280,23 +1340,8 @@ function PipedTextSelect(props) {
|
|
|
1280
1340
|
pipedTextItems = _useState4[0],
|
|
1281
1341
|
setPipedTextItems = _useState4[1];
|
|
1282
1342
|
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
return pipedTextDataAdapter(props.items);
|
|
1286
|
-
}
|
|
1287
|
-
}
|
|
1288
|
-
|
|
1289
|
-
var onClose = function onClose() {
|
|
1290
|
-
if (props.onClose) {
|
|
1291
|
-
props.onClose();
|
|
1292
|
-
}
|
|
1293
|
-
};
|
|
1294
|
-
|
|
1295
|
-
var onSelect = function onSelect(selected) {
|
|
1296
|
-
props.onSelect(selected);
|
|
1297
|
-
onClose();
|
|
1298
|
-
};
|
|
1299
|
-
|
|
1343
|
+
var defaultAnchorRef = React.useRef(null);
|
|
1344
|
+
var externalAnchor = props.anchor;
|
|
1300
1345
|
React.useEffect(function () {
|
|
1301
1346
|
return function () {
|
|
1302
1347
|
return onClose();
|
|
@@ -1311,16 +1356,39 @@ function PipedTextSelect(props) {
|
|
|
1311
1356
|
var formattedPipedText = initializePipedText();
|
|
1312
1357
|
setPipedTextItems(formattedPipedText);
|
|
1313
1358
|
}, [props.items]);
|
|
1314
|
-
|
|
1359
|
+
|
|
1360
|
+
var onClose = function onClose() {
|
|
1361
|
+
if (props.onClose) {
|
|
1362
|
+
props.onClose();
|
|
1363
|
+
}
|
|
1364
|
+
};
|
|
1365
|
+
|
|
1366
|
+
var onSelect = function onSelect(selected) {
|
|
1367
|
+
props.onSelect(selected);
|
|
1368
|
+
onClose();
|
|
1369
|
+
};
|
|
1370
|
+
|
|
1371
|
+
var actualAnchor = externalAnchor !== undefined ? React__default["default"].cloneElement(externalAnchor, {
|
|
1372
|
+
ref: externalAnchor.ref
|
|
1373
|
+
}) : defaultAnchor(defaultAnchorRef);
|
|
1374
|
+
var anchorRef = props.anchorRef || actualAnchor.ref;
|
|
1375
|
+
return React__default["default"].createElement("div", {
|
|
1315
1376
|
className: "piped-text-dropdown"
|
|
1316
|
-
}, isMenuOpen && React__default[
|
|
1377
|
+
}, isMenuOpen && React__default["default"].createElement(PipedTextMenu, {
|
|
1317
1378
|
onClose: onClose,
|
|
1318
1379
|
show: isMenuOpen,
|
|
1319
1380
|
onSelected: onSelect,
|
|
1320
1381
|
items: pipedTextItems,
|
|
1321
|
-
anchor:
|
|
1382
|
+
anchor: actualAnchor,
|
|
1383
|
+
anchorRef: anchorRef,
|
|
1322
1384
|
ignoreClickSelector: props.ignoreClickSelector
|
|
1323
1385
|
}));
|
|
1386
|
+
|
|
1387
|
+
function initializePipedText() {
|
|
1388
|
+
if (props.items) {
|
|
1389
|
+
return pipedTextDataAdapter(props.items);
|
|
1390
|
+
}
|
|
1391
|
+
}
|
|
1324
1392
|
}
|
|
1325
1393
|
|
|
1326
1394
|
var css_248z$6 = ".piped-text-input .piped-text-input-toggle, .piped-text-input .piped-text-select-container {\n display: inline-block; }\n\n.piped-text-input .piped-text-input-toggle {\n display: flex; }\n .piped-text-input .piped-text-input-toggle input {\n flex: 1 1;\n box-sizing: border-box; }\n .piped-text-input .piped-text-input-toggle input:first-child {\n border-right: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0; }\n .piped-text-input .piped-text-input-toggle.multiline-input textarea {\n flex: 1 1;\n box-sizing: border-box; }\n .piped-text-input .piped-text-input-toggle input + button, .piped-text-input .piped-text-input-toggle textarea + button {\n margin-left: 4px; }\n\n.piped-text-input .addon-text-container {\n /*\n These styles are intended to match CFE QDS components,\n notably FormField and InputField.\n See: https://gitlab-app.eng.qops.net/cfe/ui/-/blob/master/packages/ui-react/src/FormField/Caption.less\n */\n margin-top: 6px; }\n .piped-text-input .addon-text-container .helper-text, .piped-text-input .addon-text-container .error-text {\n font-size: 12px; }\n .piped-text-input .addon-text-container .helper-text {\n color: #74777a;\n fill: #74777a; }\n .piped-text-input .addon-text-container .helper-text + .error-text {\n margin-top: 4px; }\n .piped-text-input .addon-text-container .error-text {\n display: flex;\n align-items: center;\n color: #b00;\n fill: #b00; }\n .piped-text-input .addon-text-container .error-text .error-text-icon svg {\n margin-left: -2px;\n margin-right: 3px;\n width: 16px;\n height: 16px; }\n";
|
|
@@ -1329,6 +1397,7 @@ styleInject(css_248z$6);
|
|
|
1329
1397
|
function PipedTextInput(props) {
|
|
1330
1398
|
var _a = React.useState(false), showMenu = _a[0], setShowMenu = _a[1];
|
|
1331
1399
|
var _b = React.useState(), cursorPosition = _b[0], setCursorPosition = _b[1];
|
|
1400
|
+
var pipedTextButtonRef = React.useRef(null);
|
|
1332
1401
|
/*
|
|
1333
1402
|
This has to be an Object type ref instead of 'string' or React will lose
|
|
1334
1403
|
track of state, and the supplied props input value will become stale
|
|
@@ -1358,21 +1427,21 @@ function PipedTextInput(props) {
|
|
|
1358
1427
|
value: nextInputValue,
|
|
1359
1428
|
});
|
|
1360
1429
|
}, [props.value]);
|
|
1361
|
-
return (React__default[
|
|
1362
|
-
React__default[
|
|
1363
|
-
React__default[
|
|
1430
|
+
return (React__default["default"].createElement("div", { className: "piped-text-input" },
|
|
1431
|
+
React__default["default"].createElement("div", { className: 'piped-text-input-toggle popover-toggle' + (multiline ? ' multiline-input' : '') },
|
|
1432
|
+
React__default["default"].createElement(uiReact.Input, __assign({ value: inputRefValue.value, onChange: function (evt) {
|
|
1364
1433
|
onInputChange(evt);
|
|
1365
1434
|
}, onBlur: onInputBlur, placeholder: placeholder, multiline: multiline }, restProps)),
|
|
1366
|
-
React__default[
|
|
1367
|
-
React__default[
|
|
1368
|
-
React__default[
|
|
1369
|
-
React__default[
|
|
1370
|
-
showAddonText() && (React__default[
|
|
1371
|
-
helperText && (React__default[
|
|
1372
|
-
errorText && (React__default[
|
|
1373
|
-
React__default[
|
|
1374
|
-
React__default[
|
|
1375
|
-
React__default[
|
|
1435
|
+
React__default["default"].createElement(uiReact.IconButton, { "aria-label": "PipedText", "aria-haspopup": "menu", "aria-expanded": showMenu ? true : undefined, role: "button", onClick: toggleMenu, ref: pipedTextButtonRef },
|
|
1436
|
+
React__default["default"].createElement(icons.PipedTextIcon, null)),
|
|
1437
|
+
React__default["default"].createElement("div", { className: "piped-text-select-container" },
|
|
1438
|
+
React__default["default"].createElement(PipedTextSelect, { items: items, onSelect: pipedTextSelected, show: showMenu, onClose: handleClose, ignoreClickSelector: "piped-text-input-toggle", anchorRef: pipedTextButtonRef }))),
|
|
1439
|
+
showAddonText() && (React__default["default"].createElement("div", { className: "addon-text-container" },
|
|
1440
|
+
helperText && (React__default["default"].createElement("div", { className: "helper-text" }, helperText)),
|
|
1441
|
+
errorText && (React__default["default"].createElement("div", { className: "error-text" },
|
|
1442
|
+
React__default["default"].createElement("div", { className: "error-text-icon" },
|
|
1443
|
+
React__default["default"].createElement(icons.ErrorIcon, null)),
|
|
1444
|
+
React__default["default"].createElement("div", { className: "error-text-content" }, errorText)))))));
|
|
1376
1445
|
function showAddonText() {
|
|
1377
1446
|
return ((helperText !== undefined) || (errorText !== undefined));
|
|
1378
1447
|
}
|
|
@@ -1395,10 +1464,10 @@ function PipedTextInput(props) {
|
|
|
1395
1464
|
function pipedTextSelected(selected) {
|
|
1396
1465
|
var nextInputValue, prependString, appendString;
|
|
1397
1466
|
handleSelect(selected);
|
|
1398
|
-
if (_get__default[
|
|
1467
|
+
if (_get__default["default"](selected, 'value.locator')) {
|
|
1399
1468
|
prependString = inputRefValue.value.substring(0, cursorPosition);
|
|
1400
1469
|
appendString = inputRefValue.value.substring(cursorPosition);
|
|
1401
|
-
nextInputValue = ""
|
|
1470
|
+
nextInputValue = "".concat(prependString).concat(selected.value.locator).concat(appendString);
|
|
1402
1471
|
setInputRefValue({
|
|
1403
1472
|
value: nextInputValue,
|
|
1404
1473
|
});
|
|
@@ -1469,13 +1538,13 @@ function FieldRow(props) {
|
|
|
1469
1538
|
}
|
|
1470
1539
|
};
|
|
1471
1540
|
|
|
1472
|
-
return React__default[
|
|
1541
|
+
return React__default["default"].createElement("div", {
|
|
1473
1542
|
className: "icon-wrapper",
|
|
1474
1543
|
onClick: handleDelete
|
|
1475
|
-
}, !props.required && React__default[
|
|
1544
|
+
}, !props.required && React__default["default"].createElement(uiReact.IconButton, {
|
|
1476
1545
|
"aria-label": "RemoveRow",
|
|
1477
1546
|
size: "medium"
|
|
1478
|
-
}, React__default[
|
|
1547
|
+
}, React__default["default"].createElement(icons.RemoveItemIcon, null)));
|
|
1479
1548
|
};
|
|
1480
1549
|
|
|
1481
1550
|
var handleFieldSwitch = function handleFieldSwitch(newFieldId) {
|
|
@@ -1511,7 +1580,7 @@ function FieldRow(props) {
|
|
|
1511
1580
|
var getFieldSelector = function getFieldSelector() {
|
|
1512
1581
|
var getInternalContent = function getInternalContent() {
|
|
1513
1582
|
if (props.isCustom) {
|
|
1514
|
-
return React__default[
|
|
1583
|
+
return React__default["default"].createElement(uiReact.Input, {
|
|
1515
1584
|
full: true,
|
|
1516
1585
|
value: props.fieldName === undefined ? '' : props.fieldName,
|
|
1517
1586
|
placeholder: props.customNamePlaceholder === undefined ? '' : props.customNamePlaceholder,
|
|
@@ -1521,35 +1590,61 @@ function FieldRow(props) {
|
|
|
1521
1590
|
}
|
|
1522
1591
|
|
|
1523
1592
|
if (props.required || !props.children || Array.isArray(children) && children.length === 0) {
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
|
|
1528
|
-
|
|
1529
|
-
|
|
1530
|
-
|
|
1593
|
+
if (props.subMenu) {
|
|
1594
|
+
return React__default["default"].createElement(uiReact.SelectMenu, {
|
|
1595
|
+
searchable: props.searchable !== undefined && props.searchable !== false,
|
|
1596
|
+
defaultLabel: props.fieldName || '',
|
|
1597
|
+
label: props.fieldName,
|
|
1598
|
+
className: "full-width left-align",
|
|
1599
|
+
onChange: handleFieldSwitch
|
|
1600
|
+
}, createMenuItems([{
|
|
1601
|
+
id: props.id,
|
|
1602
|
+
name: props.fieldName,
|
|
1603
|
+
subMenu: props.subMenu,
|
|
1604
|
+
subMenuLabel: props.subMenuLabel
|
|
1605
|
+
}]));
|
|
1606
|
+
} else {
|
|
1607
|
+
return React__default["default"].createElement("div", {
|
|
1608
|
+
className: "required-indicator-container"
|
|
1609
|
+
}, React__default["default"].createElement("div", {
|
|
1610
|
+
className: "required-indicator-text"
|
|
1611
|
+
}, props.fieldName), props.required && React__default["default"].createElement("div", {
|
|
1612
|
+
className: "required-indicator-symbol"
|
|
1613
|
+
}, "*"));
|
|
1614
|
+
}
|
|
1531
1615
|
}
|
|
1532
1616
|
|
|
1533
|
-
return React__default[
|
|
1617
|
+
return React__default["default"].createElement(uiReact.SelectMenu, {
|
|
1534
1618
|
searchable: props.searchable !== undefined && props.searchable !== false,
|
|
1535
1619
|
defaultLabel: props.fieldName || '',
|
|
1536
1620
|
label: props.fieldName,
|
|
1537
1621
|
className: "full-width left-align",
|
|
1538
1622
|
onChange: handleFieldSwitch
|
|
1539
|
-
}, children
|
|
1540
|
-
return React__default['default'].createElement(uiReact.MenuItem, {
|
|
1541
|
-
value: field.id,
|
|
1542
|
-
key: field.id
|
|
1543
|
-
}, field.name);
|
|
1544
|
-
}));
|
|
1623
|
+
}, createMenuItems(children));
|
|
1545
1624
|
};
|
|
1546
1625
|
|
|
1547
|
-
var tooltipContent = React__default[
|
|
1548
|
-
return React__default[
|
|
1626
|
+
var tooltipContent = React__default["default"].createElement("div", null, props.nameTooltip);
|
|
1627
|
+
return React__default["default"].createElement(uiReact.Tooltip, {
|
|
1549
1628
|
disabled: !props.isCustom || shouldDisableTooltip(props.nameTooltip),
|
|
1550
1629
|
placement: "top",
|
|
1551
1630
|
content: tooltipContent
|
|
1552
|
-
}, React__default[
|
|
1631
|
+
}, React__default["default"].createElement("div", null, getInternalContent()));
|
|
1632
|
+
};
|
|
1633
|
+
|
|
1634
|
+
var createMenuItems = function createMenuItems(items) {
|
|
1635
|
+
return items.map(function (_ref) {
|
|
1636
|
+
var id = _ref.id,
|
|
1637
|
+
name = _ref.name,
|
|
1638
|
+
subMenu = _ref.subMenu,
|
|
1639
|
+
subMenuLabel = _ref.subMenuLabel;
|
|
1640
|
+
return subMenu !== undefined ? React__default["default"].createElement(uiReact.SelectMenu, {
|
|
1641
|
+
label: subMenuLabel ? subMenuLabel : name,
|
|
1642
|
+
key: id
|
|
1643
|
+
}, createMenuItems(subMenu)) : React__default["default"].createElement(uiReact.MenuItem, {
|
|
1644
|
+
key: id,
|
|
1645
|
+
value: id
|
|
1646
|
+
}, name);
|
|
1647
|
+
});
|
|
1553
1648
|
};
|
|
1554
1649
|
|
|
1555
1650
|
var getFieldInput = function getFieldInput() {
|
|
@@ -1557,7 +1652,7 @@ function FieldRow(props) {
|
|
|
1557
1652
|
if (props.customInput) {
|
|
1558
1653
|
return props.customInput;
|
|
1559
1654
|
} else {
|
|
1560
|
-
return React__default[
|
|
1655
|
+
return React__default["default"].createElement(PipedTextInput, {
|
|
1561
1656
|
items: props.pipedTextItems,
|
|
1562
1657
|
value: props.value === undefined ? '' : props.value,
|
|
1563
1658
|
onChange: handleFieldValueChange,
|
|
@@ -1566,23 +1661,23 @@ function FieldRow(props) {
|
|
|
1566
1661
|
}
|
|
1567
1662
|
};
|
|
1568
1663
|
|
|
1569
|
-
var tooltipContent = React__default[
|
|
1570
|
-
return React__default[
|
|
1664
|
+
var tooltipContent = React__default["default"].createElement("div", null, props.valueTooltip);
|
|
1665
|
+
return React__default["default"].createElement(uiReact.Tooltip, {
|
|
1571
1666
|
disabled: shouldDisableTooltip(props.valueTooltip),
|
|
1572
1667
|
placement: "top",
|
|
1573
1668
|
content: tooltipContent
|
|
1574
|
-
}, React__default[
|
|
1669
|
+
}, React__default["default"].createElement("div", null, getInternalContent()));
|
|
1575
1670
|
};
|
|
1576
1671
|
|
|
1577
|
-
return React__default[
|
|
1672
|
+
return React__default["default"].createElement("div", {
|
|
1578
1673
|
className: "field-row"
|
|
1579
|
-
}, React__default[
|
|
1580
|
-
className: "field-selector ".concat(props.required ? 'required-field' : '')
|
|
1581
|
-
}, getFieldSelector()), React__default[
|
|
1674
|
+
}, React__default["default"].createElement("div", {
|
|
1675
|
+
className: "field-selector ".concat(props.required && !props.subMenu ? 'required-field' : '')
|
|
1676
|
+
}, getFieldSelector()), React__default["default"].createElement("div", {
|
|
1582
1677
|
className: "field-input-container"
|
|
1583
|
-
}, React__default[
|
|
1678
|
+
}, React__default["default"].createElement("div", {
|
|
1584
1679
|
className: "field-input"
|
|
1585
|
-
}, getFieldInput()), React__default[
|
|
1680
|
+
}, getFieldInput()), React__default["default"].createElement("div", {
|
|
1586
1681
|
className: "delete-row"
|
|
1587
1682
|
}, getRowDelete())));
|
|
1588
1683
|
}
|
|
@@ -1599,7 +1694,7 @@ function FieldItem(props) {
|
|
|
1599
1694
|
}
|
|
1600
1695
|
};
|
|
1601
1696
|
|
|
1602
|
-
return React__default[
|
|
1697
|
+
return React__default["default"].createElement("div", {
|
|
1603
1698
|
className: "field-item",
|
|
1604
1699
|
onClick: handleClick
|
|
1605
1700
|
}, label);
|
|
@@ -1608,7 +1703,7 @@ function FieldItem(props) {
|
|
|
1608
1703
|
var css_248z$3 = ".task-fields {\n margin-right: 100px; }\n .task-fields .add-field-button .add-field-button-label {\n padding: 0 3px; }\n .task-fields .field-headers {\n margin-bottom: 10px;\n padding-left: 12px; }\n .task-fields .field-headers .field-row {\n color: #6A6D70;\n font-weight: bold; }\n .task-fields .field-headers .field-row .field-selector label, .task-fields .field-headers .field-row .field-input label {\n font-size: 12px; }\n .task-fields .field-headers .field-row .field-selector {\n padding-top: 0;\n padding-right: 24px;\n padding-bottom: 0;\n padding-left: 0; }\n .task-fields .field-headers .field-row .field-input {\n padding-top: 0;\n padding-right: 0;\n padding-bottom: 0;\n padding-left: 12px; }\n .task-fields .field-rows {\n padding-bottom: 12px; }\n .task-fields .field-rows .field-row {\n border-top: 1px solid #E5E5E5; }\n .task-fields .field-rows .field-row .field-selector {\n padding-top: 8px;\n padding-right: 12px;\n padding-bottom: 8px;\n padding-left: 12px; }\n .task-fields .field-rows .field-row .field-input {\n border-left: 1px solid #E5E5E5;\n padding-top: 8px;\n padding-right: 0;\n padding-bottom: 8px;\n padding-left: 12px; }\n\n.q-popover .field-item {\n padding: 5px 32px; }\n .q-popover .field-item:hover {\n cursor: pointer;\n user-select: none;\n background: #007ac0;\n color: #fff;\n fill: #fff; }\n";
|
|
1609
1704
|
styleInject(css_248z$3);
|
|
1610
1705
|
|
|
1611
|
-
var uuidv4 = uuid__default[
|
|
1706
|
+
var uuidv4 = uuid__default["default"].v4;
|
|
1612
1707
|
var CUSTOM_TYPE = 'custom';
|
|
1613
1708
|
function TaskFields(props) {
|
|
1614
1709
|
var _useState = React.useState([]),
|
|
@@ -1639,7 +1734,7 @@ function TaskFields(props) {
|
|
|
1639
1734
|
};
|
|
1640
1735
|
|
|
1641
1736
|
var onFieldNameChange = function onFieldNameChange(fieldId, event) {
|
|
1642
|
-
var changeFn = _get__default[
|
|
1737
|
+
var changeFn = _get__default["default"](props, 'customFieldOptions.onCustomFieldNameChange');
|
|
1643
1738
|
|
|
1644
1739
|
if (typeof changeFn === 'function') {
|
|
1645
1740
|
changeFn(fieldId, event);
|
|
@@ -1648,13 +1743,15 @@ function TaskFields(props) {
|
|
|
1648
1743
|
|
|
1649
1744
|
var getFieldRows = function getFieldRows() {
|
|
1650
1745
|
return fieldsInUse.map(function (field) {
|
|
1651
|
-
return React__default[
|
|
1746
|
+
return React__default["default"].createElement(FieldRow, {
|
|
1652
1747
|
customInput: field.children,
|
|
1653
1748
|
required: field.required,
|
|
1654
1749
|
fieldName: field.name,
|
|
1655
1750
|
id: field.id,
|
|
1656
|
-
|
|
1657
|
-
|
|
1751
|
+
subMenu: field.subMenu,
|
|
1752
|
+
subMenuLabel: field.subMenuLabel,
|
|
1753
|
+
nameTooltip: field.type === CUSTOM_TYPE ? _get__default["default"](props, 'customFieldOptions.nameTooltip', '') : field.nameTooltip,
|
|
1754
|
+
valueTooltip: field.type === CUSTOM_TYPE ? _get__default["default"](props, 'customFieldOptions.valueTooltip', '') : field.valueTooltip,
|
|
1658
1755
|
onFieldNameChange: onFieldNameChange,
|
|
1659
1756
|
onFieldValueChange: onFieldValueChange,
|
|
1660
1757
|
onFieldSwitch: onFieldSwitch,
|
|
@@ -1662,14 +1759,30 @@ function TaskFields(props) {
|
|
|
1662
1759
|
isCustom: field.type === CUSTOM_TYPE,
|
|
1663
1760
|
key: field.id,
|
|
1664
1761
|
value: field.value,
|
|
1665
|
-
valuePlaceholder: field.type === CUSTOM_TYPE ? _get__default[
|
|
1666
|
-
customNamePlaceholder: _get__default[
|
|
1762
|
+
valuePlaceholder: field.type === CUSTOM_TYPE ? _get__default["default"](props, 'customFieldOptions.valuePlaceholder', '') : field.valuePlaceholder,
|
|
1763
|
+
customNamePlaceholder: _get__default["default"](props, 'customFieldOptions.namePlaceholder', ''),
|
|
1667
1764
|
pipedTextItems: props.pipedTextItems,
|
|
1668
1765
|
searchable: props.searchable
|
|
1669
|
-
}, allFieldOptions && availableFields);
|
|
1766
|
+
}, allFieldOptions && getFieldsForFieldRow(availableFields, allFieldOptions, field.id));
|
|
1670
1767
|
});
|
|
1671
1768
|
};
|
|
1672
1769
|
|
|
1770
|
+
var getFieldsForFieldRow = function getFieldsForFieldRow(allAvailableFields, allFields, fieldId) {
|
|
1771
|
+
var fieldsToAdd = allAvailableFields.slice();
|
|
1772
|
+
allFields.forEach(function (field) {
|
|
1773
|
+
if (field.subMenu !== undefined && fieldId === field.id) {
|
|
1774
|
+
var foundIndex = fieldsToAdd.findIndex(function (fieldToAdd) {
|
|
1775
|
+
return fieldToAdd.id === field.id;
|
|
1776
|
+
});
|
|
1777
|
+
|
|
1778
|
+
if (foundIndex === -1) {
|
|
1779
|
+
fieldsToAdd.push(field);
|
|
1780
|
+
}
|
|
1781
|
+
}
|
|
1782
|
+
});
|
|
1783
|
+
return fieldsToAdd;
|
|
1784
|
+
};
|
|
1785
|
+
|
|
1673
1786
|
var onFieldAdd = function onFieldAdd(fieldId) {
|
|
1674
1787
|
if (typeof props.onFieldAdd === 'function') {
|
|
1675
1788
|
props.onFieldAdd(fieldId);
|
|
@@ -1677,19 +1790,21 @@ function TaskFields(props) {
|
|
|
1677
1790
|
};
|
|
1678
1791
|
|
|
1679
1792
|
var onCustomFieldAdd = function onCustomFieldAdd() {
|
|
1680
|
-
var handleFn = _get__default[
|
|
1793
|
+
var handleFn = _get__default["default"](props, 'customFieldOptions.onCustomFieldAdd', function () {});
|
|
1681
1794
|
|
|
1682
1795
|
handleFn();
|
|
1683
1796
|
};
|
|
1684
1797
|
|
|
1685
1798
|
var getAvailableFields = function getAvailableFields() {
|
|
1686
1799
|
return availableFields.map(function (field) {
|
|
1687
|
-
return React__default[
|
|
1800
|
+
return React__default["default"].createElement(FieldItem, {
|
|
1688
1801
|
name: field.name,
|
|
1689
1802
|
type: field.type,
|
|
1690
1803
|
required: field.required,
|
|
1691
1804
|
key: field.id,
|
|
1692
|
-
id: field.id
|
|
1805
|
+
id: field.id,
|
|
1806
|
+
subMenu: field.subMenu,
|
|
1807
|
+
subMenuLabel: field.subMenuLabel
|
|
1693
1808
|
});
|
|
1694
1809
|
});
|
|
1695
1810
|
};
|
|
@@ -1742,7 +1857,9 @@ function TaskFields(props) {
|
|
|
1742
1857
|
children: foundNextChild.props.children,
|
|
1743
1858
|
nameTooltip: foundNextChild.props.nameTooltip,
|
|
1744
1859
|
valueTooltip: foundNextChild.props.valueTooltip,
|
|
1745
|
-
valuePlaceholder: foundNextChild.props.valuePlaceholder
|
|
1860
|
+
valuePlaceholder: foundNextChild.props.valuePlaceholder,
|
|
1861
|
+
subMenu: foundNextChild.props.subMenu,
|
|
1862
|
+
subMenuLabel: foundNextChild.props.subMenuLabel
|
|
1746
1863
|
});
|
|
1747
1864
|
}
|
|
1748
1865
|
|
|
@@ -1763,7 +1880,9 @@ function TaskFields(props) {
|
|
|
1763
1880
|
nameTooltip: field.props.nameTooltip,
|
|
1764
1881
|
valueTooltip: field.props.valueTooltip,
|
|
1765
1882
|
value: field.props.value || undefined,
|
|
1766
|
-
valuePlaceholder: field.props.valuePlaceholder
|
|
1883
|
+
valuePlaceholder: field.props.valuePlaceholder,
|
|
1884
|
+
subMenu: field.props.subMenu,
|
|
1885
|
+
subMenuLabel: field.props.subMenuLabel
|
|
1767
1886
|
});
|
|
1768
1887
|
}
|
|
1769
1888
|
});
|
|
@@ -1786,10 +1905,12 @@ function TaskFields(props) {
|
|
|
1786
1905
|
name: currentField.name,
|
|
1787
1906
|
id: currentField.id,
|
|
1788
1907
|
value: currentField.value,
|
|
1789
|
-
nameTooltip: _get__default[
|
|
1790
|
-
valueTooltip: _get__default[
|
|
1791
|
-
namePlaceholder: _get__default[
|
|
1792
|
-
type: CUSTOM_TYPE
|
|
1908
|
+
nameTooltip: _get__default["default"](props, 'customFieldOptions.nameTooltip', ''),
|
|
1909
|
+
valueTooltip: _get__default["default"](props, 'customFieldOptions.valueTooltip', ''),
|
|
1910
|
+
namePlaceholder: _get__default["default"](props, 'customFieldOptions.namePlaceholder', ''),
|
|
1911
|
+
type: CUSTOM_TYPE,
|
|
1912
|
+
subMenu: currentField.subMenu,
|
|
1913
|
+
subMenuLabel: currentField.subMenuLabel
|
|
1793
1914
|
};
|
|
1794
1915
|
nextFieldsInUse.push(customFieldValue);
|
|
1795
1916
|
}
|
|
@@ -1804,7 +1925,11 @@ function TaskFields(props) {
|
|
|
1804
1925
|
if (field !== undefined) {
|
|
1805
1926
|
field.value = fieldValue.value;
|
|
1806
1927
|
} else {
|
|
1807
|
-
var newField =
|
|
1928
|
+
var newField = _cloneDeepWith__default["default"](fieldMetadata, function (value) {
|
|
1929
|
+
if (React__default["default"].isValidElement(value)) {
|
|
1930
|
+
return React__default["default"].cloneElement(value);
|
|
1931
|
+
}
|
|
1932
|
+
});
|
|
1808
1933
|
|
|
1809
1934
|
newField.value = fieldValue.value;
|
|
1810
1935
|
fieldsInUse.push(newField);
|
|
@@ -1823,7 +1948,9 @@ function TaskFields(props) {
|
|
|
1823
1948
|
children: childProps.children,
|
|
1824
1949
|
nameTooltip: childProps.nameTooltip,
|
|
1825
1950
|
valueTooltip: childProps.valueTooltip,
|
|
1826
|
-
valuePlaceholder: childProps.valuePlaceholder
|
|
1951
|
+
valuePlaceholder: childProps.valuePlaceholder,
|
|
1952
|
+
subMenu: childProps.subMenu,
|
|
1953
|
+
subMenuLabel: childProps.subMenuLabel
|
|
1827
1954
|
};
|
|
1828
1955
|
});
|
|
1829
1956
|
var nextFieldsInUse = getFieldsInUse(nextAllFieldOptions);
|
|
@@ -1844,22 +1971,23 @@ function TaskFields(props) {
|
|
|
1844
1971
|
React.useEffect(function () {
|
|
1845
1972
|
updateAvailableFields();
|
|
1846
1973
|
}, [props.values]);
|
|
1847
|
-
return React__default[
|
|
1974
|
+
return React__default["default"].createElement("div", {
|
|
1848
1975
|
className: "task-fields"
|
|
1849
|
-
}, React__default[
|
|
1976
|
+
}, React__default["default"].createElement("div", {
|
|
1850
1977
|
className: "field-headers"
|
|
1851
|
-
}, React__default[
|
|
1978
|
+
}, React__default["default"].createElement(AddFieldHeaders, {
|
|
1852
1979
|
itemHeaderText: props.fieldItemsHeaderText,
|
|
1853
1980
|
inputHeaderText: props.fieldInputsHeaderText
|
|
1854
|
-
})), React__default[
|
|
1981
|
+
})), React__default["default"].createElement("div", {
|
|
1855
1982
|
className: "field-rows"
|
|
1856
|
-
}, getFieldRows()), React__default[
|
|
1983
|
+
}, getFieldRows()), React__default["default"].createElement("div", {
|
|
1857
1984
|
className: "add-field-container"
|
|
1858
|
-
}, React__default[
|
|
1985
|
+
}, React__default["default"].createElement(AddFieldButton, {
|
|
1859
1986
|
label: props.addFieldLabel,
|
|
1860
1987
|
onFieldAdded: onFieldAdd,
|
|
1988
|
+
disableAddFieldPopover: props.disableAddFieldPopover,
|
|
1861
1989
|
allowCustom: props.customFieldOptions,
|
|
1862
|
-
customLabel: _get__default[
|
|
1990
|
+
customLabel: _get__default["default"](props, 'customFieldOptions.label', ''),
|
|
1863
1991
|
onCustomFieldAdded: props.customFieldOptions ? onCustomFieldAdd : function () {}
|
|
1864
1992
|
}, getAvailableFields())));
|
|
1865
1993
|
}
|
|
@@ -1867,6 +1995,7 @@ function TaskFields(props) {
|
|
|
1867
1995
|
function AddFieldButton(props) {
|
|
1868
1996
|
var label = props.label || '';
|
|
1869
1997
|
var customLabel = props.customLabel || '';
|
|
1998
|
+
var disableAddFieldPopover = props.disableAddFieldPopover;
|
|
1870
1999
|
|
|
1871
2000
|
var _useState7 = React.useState(false),
|
|
1872
2001
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
@@ -1874,7 +2003,7 @@ function AddFieldButton(props) {
|
|
|
1874
2003
|
setPopoverShow = _useState8[1];
|
|
1875
2004
|
|
|
1876
2005
|
var customId = uuidv4();
|
|
1877
|
-
var CUSTOM_OPTION = React__default[
|
|
2006
|
+
var CUSTOM_OPTION = React__default["default"].createElement(FieldItem, {
|
|
1878
2007
|
key: customId,
|
|
1879
2008
|
onClick: function onClick() {
|
|
1880
2009
|
props.onCustomFieldAdded();
|
|
@@ -1888,15 +2017,30 @@ function AddFieldButton(props) {
|
|
|
1888
2017
|
setPopoverShow(false);
|
|
1889
2018
|
};
|
|
1890
2019
|
|
|
2020
|
+
var children = [];
|
|
2021
|
+
|
|
1891
2022
|
var onPopoverAnchorClick = function onPopoverAnchorClick() {
|
|
1892
|
-
|
|
2023
|
+
if (!disableAddFieldPopover) {
|
|
2024
|
+
setPopoverShow(!popoverShow);
|
|
2025
|
+
} else {
|
|
2026
|
+
props.onFieldAdded(props.children !== 0 ? getFieldIdWhenPopoverIsClicked(props.children[0].props) : '');
|
|
2027
|
+
}
|
|
2028
|
+
};
|
|
2029
|
+
|
|
2030
|
+
var getFieldIdWhenPopoverIsClicked = function getFieldIdWhenPopoverIsClicked(field) {
|
|
2031
|
+
if (field.subMenu) {
|
|
2032
|
+
return getFieldIdWhenPopoverIsClicked(field.subMenu[0]);
|
|
2033
|
+
} else {
|
|
2034
|
+
return field.id;
|
|
2035
|
+
}
|
|
1893
2036
|
};
|
|
1894
2037
|
|
|
1895
|
-
|
|
1896
|
-
return React__default[
|
|
2038
|
+
children = props.children.map(function (child) {
|
|
2039
|
+
return React__default["default"].createElement(FieldItem, {
|
|
1897
2040
|
name: child.props.name,
|
|
1898
2041
|
key: child.props.id,
|
|
1899
2042
|
id: child.props.id,
|
|
2043
|
+
subMenu: child.props.subMenu,
|
|
1900
2044
|
onClick: function onClick(fieldId) {
|
|
1901
2045
|
setPopoverShow(false);
|
|
1902
2046
|
props.onFieldAdded(fieldId);
|
|
@@ -1908,18 +2052,18 @@ function AddFieldButton(props) {
|
|
|
1908
2052
|
children.push(CUSTOM_OPTION);
|
|
1909
2053
|
}
|
|
1910
2054
|
|
|
1911
|
-
return React__default[
|
|
2055
|
+
return React__default["default"].createElement("div", {
|
|
1912
2056
|
className: "add-field-button-container"
|
|
1913
|
-
}, React__default[
|
|
2057
|
+
}, React__default["default"].createElement(Popover, {
|
|
1914
2058
|
show: popoverShow,
|
|
1915
2059
|
onClose: onPopoverClose,
|
|
1916
2060
|
ignoreClickSelector: ".add-field-button",
|
|
1917
|
-
anchor: React__default[
|
|
2061
|
+
anchor: React__default["default"].createElement(uiReact.Button, {
|
|
1918
2062
|
disabled: children.length === 0,
|
|
1919
2063
|
kind: "secondary",
|
|
1920
2064
|
className: "add-field-button",
|
|
1921
2065
|
onClick: onPopoverAnchorClick
|
|
1922
|
-
}, React__default[
|
|
2066
|
+
}, React__default["default"].createElement("span", {
|
|
1923
2067
|
className: "add-field-button-label"
|
|
1924
2068
|
}, label))
|
|
1925
2069
|
}, children));
|
|
@@ -1930,13 +2074,13 @@ function AddFieldHeaders(props) {
|
|
|
1930
2074
|
inputHeaderText = props.inputHeaderText;
|
|
1931
2075
|
|
|
1932
2076
|
if (itemHeaderText || inputHeaderText) {
|
|
1933
|
-
return React__default[
|
|
2077
|
+
return React__default["default"].createElement("div", {
|
|
1934
2078
|
className: "field-row"
|
|
1935
|
-
}, React__default[
|
|
2079
|
+
}, React__default["default"].createElement("div", {
|
|
1936
2080
|
className: "field-selector"
|
|
1937
|
-
}, React__default[
|
|
2081
|
+
}, React__default["default"].createElement(uiReact.Label, null, itemHeaderText)), React__default["default"].createElement("div", {
|
|
1938
2082
|
className: "field-input"
|
|
1939
|
-
}, React__default[
|
|
2083
|
+
}, React__default["default"].createElement(uiReact.Label, null, inputHeaderText)));
|
|
1940
2084
|
} else {
|
|
1941
2085
|
return null;
|
|
1942
2086
|
}
|
|
@@ -1948,19 +2092,19 @@ styleInject(css_248z$2);
|
|
|
1948
2092
|
function SelectItem(props) {
|
|
1949
2093
|
var checked = props.checked || false;
|
|
1950
2094
|
var children = props.children || '';
|
|
1951
|
-
return React__default[
|
|
2095
|
+
return React__default["default"].createElement("div", {
|
|
1952
2096
|
className: "select-item",
|
|
1953
2097
|
onClick: function onClick(event) {
|
|
1954
2098
|
return props.onChange(props.value, event);
|
|
1955
2099
|
}
|
|
1956
|
-
}, React__default[
|
|
2100
|
+
}, React__default["default"].createElement("div", {
|
|
1957
2101
|
className: "item"
|
|
1958
|
-
}, React__default[
|
|
2102
|
+
}, React__default["default"].createElement("div", {
|
|
1959
2103
|
className: "checked-container ".concat(checked ? 'checked' : '')
|
|
1960
|
-
}, React__default[
|
|
2104
|
+
}, React__default["default"].createElement(uiReact.Icon, {
|
|
1961
2105
|
type: uiReact.IconTypes.Check,
|
|
1962
2106
|
size: "medium"
|
|
1963
|
-
})), React__default[
|
|
2107
|
+
})), React__default["default"].createElement("div", {
|
|
1964
2108
|
className: "item-content"
|
|
1965
2109
|
}, children)));
|
|
1966
2110
|
}
|
|
@@ -1987,9 +2131,9 @@ function MultiselectDropdown(props) {
|
|
|
1987
2131
|
};
|
|
1988
2132
|
|
|
1989
2133
|
var renderToggleButton = function renderToggleButton() {
|
|
1990
|
-
return React__default[
|
|
2134
|
+
return React__default["default"].createElement("div", {
|
|
1991
2135
|
className: "multiselect-dropdown-toggle"
|
|
1992
|
-
}, React__default[
|
|
2136
|
+
}, React__default["default"].createElement(uiReact.Button, {
|
|
1993
2137
|
onClick: function onClick() {
|
|
1994
2138
|
setIsDropdownOpen(!isDropdownOpen);
|
|
1995
2139
|
}
|
|
@@ -2004,15 +2148,15 @@ function MultiselectDropdown(props) {
|
|
|
2004
2148
|
children = temp;
|
|
2005
2149
|
}
|
|
2006
2150
|
|
|
2007
|
-
return React__default[
|
|
2151
|
+
return React__default["default"].createElement("div", {
|
|
2008
2152
|
className: "multiselect-dropdown"
|
|
2009
|
-
}, React__default[
|
|
2153
|
+
}, React__default["default"].createElement(Popover, {
|
|
2010
2154
|
show: isDropdownOpen,
|
|
2011
2155
|
onClose: onPopoverClose,
|
|
2012
2156
|
ignoreClickSelector: ".multiselect-dropdown-toggle",
|
|
2013
2157
|
anchor: renderToggleButton()
|
|
2014
2158
|
}, children.map(function (child) {
|
|
2015
|
-
return React__default[
|
|
2159
|
+
return React__default["default"].createElement(SelectItem, {
|
|
2016
2160
|
onChange: handleChange,
|
|
2017
2161
|
checked: child.props.checked,
|
|
2018
2162
|
value: child.props.value,
|
|
@@ -2129,7 +2273,7 @@ function DynamicSearchInput(props) {
|
|
|
2129
2273
|
switch (_context2.prev = _context2.next) {
|
|
2130
2274
|
case 0:
|
|
2131
2275
|
event.persist();
|
|
2132
|
-
inputVal = _get__default[
|
|
2276
|
+
inputVal = _get__default["default"](event, 'target.value', '');
|
|
2133
2277
|
searchFunc = props.search ? props.search : defaultSearch;
|
|
2134
2278
|
_context2.next = 5;
|
|
2135
2279
|
return searchFunc(inputVal);
|
|
@@ -2147,11 +2291,11 @@ function DynamicSearchInput(props) {
|
|
|
2147
2291
|
|
|
2148
2292
|
case 9:
|
|
2149
2293
|
nextSearchResults = results.map(function (result) {
|
|
2150
|
-
if (_get__default[
|
|
2294
|
+
if (_get__default["default"](result, 'props.label') === undefined) {
|
|
2151
2295
|
throw new Error('DynamicSearchInput: expected search result array values to have label property but found none');
|
|
2152
2296
|
}
|
|
2153
2297
|
|
|
2154
|
-
return React__default[
|
|
2298
|
+
return React__default["default"].createElement(SearchItem, {
|
|
2155
2299
|
key: result.props.id,
|
|
2156
2300
|
onClick: function onClick() {
|
|
2157
2301
|
handleSearchItemSelected(result.props.label);
|
|
@@ -2182,12 +2326,12 @@ function DynamicSearchInput(props) {
|
|
|
2182
2326
|
};
|
|
2183
2327
|
}();
|
|
2184
2328
|
|
|
2185
|
-
return React__default[
|
|
2329
|
+
return React__default["default"].createElement("div", {
|
|
2186
2330
|
className: "dynamic-search-input"
|
|
2187
|
-
}, React__default[
|
|
2331
|
+
}, React__default["default"].createElement(Popover, {
|
|
2188
2332
|
show: isDropdownOpen,
|
|
2189
2333
|
onClose: onPopoverClose,
|
|
2190
|
-
anchor: React__default[
|
|
2334
|
+
anchor: React__default["default"].createElement(uiReact.Input, {
|
|
2191
2335
|
className: "search-input",
|
|
2192
2336
|
full: true,
|
|
2193
2337
|
small: true,
|
|
@@ -2199,7 +2343,7 @@ function DynamicSearchInput(props) {
|
|
|
2199
2343
|
}
|
|
2200
2344
|
|
|
2201
2345
|
function SearchItem(props) {
|
|
2202
|
-
return React__default[
|
|
2346
|
+
return React__default["default"].createElement("div", {
|
|
2203
2347
|
className: "dynamic-search-popover-child",
|
|
2204
2348
|
onClick: props.onClick
|
|
2205
2349
|
}, props.children);
|