@singularsystems/neo-react 0.10.13 → 0.10.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/dist/Modules/Types.d.ts +1 -1
  2. package/dist/ReactComponents/Button.js +12 -2
  3. package/dist/ReactComponents/Button.js.map +1 -1
  4. package/dist/ReactComponents/DropDown/AutoCompleteDropDown.d.ts +1 -1
  5. package/dist/ReactComponents/DropDown/AutoCompleteDropDown.js +26 -13
  6. package/dist/ReactComponents/DropDown/AutoCompleteDropDown.js.map +1 -1
  7. package/dist/ReactComponents/DropDown/DropDown.js +1 -1
  8. package/dist/ReactComponents/DropDown/DropDown.js.map +1 -1
  9. package/dist/ReactComponents/Modal/ModalContainer.d.ts +14 -2
  10. package/dist/ReactComponents/Modal/ModalContainer.js +17 -2
  11. package/dist/ReactComponents/Modal/ModalContainer.js.map +1 -1
  12. package/dist/ReactComponents/PropTypes.d.ts +2 -1
  13. package/dist/ReactComponents/PropTypes.js +2 -1
  14. package/dist/ReactComponents/PropTypes.js.map +1 -1
  15. package/dist/Routing/RouteView.d.ts +2 -0
  16. package/dist/Routing/RouteView.js +6 -0
  17. package/dist/Routing/RouteView.js.map +1 -1
  18. package/dist/Routing/RoutingState.d.ts +2 -1
  19. package/dist/Routing/RoutingState.js +11 -17
  20. package/dist/Routing/RoutingState.js.map +1 -1
  21. package/package.json +2 -2
  22. package/styles/Validation.scss +1 -0
  23. package/dist/Modules/Misc.d.ts +0 -1
  24. package/dist/Modules/Misc.js +0 -2
  25. package/dist/Modules/Misc.js.map +0 -1
  26. package/dist/React/AutoQueryObject.d.ts +0 -5
  27. package/dist/React/AutoQueryObject.js +0 -39
  28. package/dist/React/AutoQueryObject.js.map +0 -1
  29. package/dist/React/Setup.d.ts +0 -1
  30. package/dist/React/Setup.js +0 -7
  31. package/dist/React/Setup.js.map +0 -1
  32. package/dist/ReactComponents/AsyncDropDown.d.ts +0 -54
  33. package/dist/ReactComponents/AsyncDropDown.js +0 -91
  34. package/dist/ReactComponents/AsyncDropDown.js.map +0 -1
  35. package/dist/ReactComponents/BootstrapHelpers.d.ts +0 -40
  36. package/dist/ReactComponents/BootstrapHelpers.js +0 -31
  37. package/dist/ReactComponents/BootstrapHelpers.js.map +0 -1
  38. package/dist/ReactComponents/DropDown/AsyncDropDown.d.ts +0 -53
  39. package/dist/ReactComponents/DropDown/AsyncDropDown.js +0 -95
  40. package/dist/ReactComponents/DropDown/AsyncDropDown.js.map +0 -1
  41. package/dist/ReactComponents/DropDown.d.ts +0 -47
  42. package/dist/ReactComponents/DropDown.js +0 -193
  43. package/dist/ReactComponents/DropDown.js.map +0 -1
  44. package/dist/ReactComponents/EditorContainerContext.d.ts +0 -19
  45. package/dist/ReactComponents/EditorContainerContext.js +0 -14
  46. package/dist/ReactComponents/EditorContainerContext.js.map +0 -1
  47. package/dist/ReactComponents/FileManager/FileManager.d.ts +0 -11
  48. package/dist/ReactComponents/FileManager/FileManager.js +0 -87
  49. package/dist/ReactComponents/FileManager/FileManager.js.map +0 -1
  50. package/dist/ReactComponents/FileManager.d.ts +0 -29
  51. package/dist/ReactComponents/FileManager.js +0 -105
  52. package/dist/ReactComponents/FileManager.js.map +0 -1
  53. package/dist/ReactComponents/FormGroup.d.ts +0 -23
  54. package/dist/ReactComponents/FormGroup.js +0 -68
  55. package/dist/ReactComponents/FormGroup.js.map +0 -1
  56. package/dist/ReactComponents/FormGroupFloating.d.ts +0 -19
  57. package/dist/ReactComponents/FormGroupFloating.js +0 -98
  58. package/dist/ReactComponents/FormGroupFloating.js.map +0 -1
  59. package/dist/ReactComponents/FormGroupInline.d.ts +0 -11
  60. package/dist/ReactComponents/FormGroupInline.js +0 -44
  61. package/dist/ReactComponents/FormGroupInline.js.map +0 -1
  62. package/dist/ReactComponents/Grid/Other.d.ts +0 -10
  63. package/dist/ReactComponents/Grid/Other.js +0 -22
  64. package/dist/ReactComponents/Grid/Other.js.map +0 -1
  65. package/dist/ReactComponents/Helpers.d.ts +0 -5
  66. package/dist/ReactComponents/Helpers.js +0 -18
  67. package/dist/ReactComponents/Helpers.js.map +0 -1
  68. package/dist/ReactComponents/InputBase.d.ts +0 -9
  69. package/dist/ReactComponents/InputBase.js +0 -29
  70. package/dist/ReactComponents/InputBase.js.map +0 -1
  71. package/dist/ReactComponents/Modal/ModalFactory.d.ts +0 -2
  72. package/dist/ReactComponents/Modal/ModalFactory.js +0 -43
  73. package/dist/ReactComponents/Modal/ModalFactory.js.map +0 -1
  74. package/dist/ReactComponents/Tabs/TabController.d.ts +0 -52
  75. package/dist/ReactComponents/Tabs/TabController.js +0 -104
  76. package/dist/ReactComponents/Tabs/TabController.js.map +0 -1
  77. package/dist/ReactComponents/_Controllers.d.ts +0 -4
  78. package/dist/ReactComponents/_Controllers.js +0 -5
  79. package/dist/ReactComponents/_Controllers.js.map +0 -1
  80. package/dist/ReactComponents/_UIHelpers.d.ts +0 -3
  81. package/dist/ReactComponents/_UIHelpers.js +0 -4
  82. package/dist/ReactComponents/_UIHelpers.js.map +0 -1
  83. package/dist/Routing/IMenuRoute.d.ts +0 -13
  84. package/dist/Routing/IMenuRoute.js +0 -20
  85. package/dist/Routing/IMenuRoute.js.map +0 -1
  86. package/dist/Routing/_Exports.d.ts +0 -4
  87. package/dist/Routing/_Exports.js +0 -5
  88. package/dist/Routing/_Exports.js.map +0 -1
  89. package/dist/Services/ErrorHandler.d.ts +0 -5
  90. package/dist/Services/ErrorHandler.js +0 -23
  91. package/dist/Services/ErrorHandler.js.map +0 -1
@@ -1,7 +0,0 @@
1
- import { Misc, Utils } from '@singularsystems/neo-core';
2
- import { runInAction } from 'mobx';
3
- import './DataView';
4
- //registerModelCreator(ReactModelCreator);
5
- Misc.Globals.peek = function (target, propertyName) { return target.$mobx.values[propertyName].value; };
6
- Utils.batchUpdate = runInAction;
7
- //# sourceMappingURL=Setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Setup.js","sourceRoot":"","sources":["../../src/React/Setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AACnC,OAAO,YAAY,CAAC;AAEpB,0CAA0C;AAE1C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,UAAC,MAAW,EAAE,YAAoB,IAAK,OAAA,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,KAAK,EAAvC,CAAuC,CAAC;AAEnG,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC"}
@@ -1,54 +0,0 @@
1
- import React from 'react';
2
- import { Model } from '@singularsystems/neo-core';
3
- import { AxiosPromise } from 'axios';
4
- import { SelectComponents } from 'react-select/src/components';
5
- interface ISelectedItem {
6
- value: string;
7
- label: string;
8
- }
9
- interface IAsyncDropDownCommonProps<T> {
10
- label?: string;
11
- itemSource: (searchValue: string) => (Promise<T[]> | AxiosPromise<T[]>);
12
- initialItems?: T[];
13
- valueMember?: keyof T;
14
- displayMember?: keyof T;
15
- /**
16
- * Customise the react-select components. https://react-select.com/props#replacing-components
17
- */
18
- components?: Partial<SelectComponents<ISelectedItem, true>>;
19
- /**
20
- * Callback used to provide a custom option component instead of displaying the display member value.
21
- */
22
- option?: (item: T) => JSX.Element;
23
- /**
24
- * Text to display when the user has typed something, but no records were returned.
25
- */
26
- noRecordsPrompt?: string;
27
- /**
28
- * Text to display when the user clicks in the text area, and no search value has been entered.
29
- */
30
- typeToSearchPrompt?: string;
31
- }
32
- interface IAsyncDropDownProps<T> extends IAsyncDropDownCommonProps<T> {
33
- bind: Model.IPropertyInstance;
34
- bindDisplay: Model.IPropertyInstance;
35
- }
36
- interface IAsyncDropDownMultiSelectProps<T> extends IAsyncDropDownCommonProps<T> {
37
- /**
38
- * A list of ids and labels to use as the selected list.
39
- */
40
- bindItems: ISelectedItem[];
41
- /**
42
- * Optional list of ids. This will be kept in sync with the bindItems prop.
43
- */
44
- bindIds?: (string | number)[];
45
- }
46
- export default class AsyncDropDown<T> extends React.Component<IAsyncDropDownProps<T> | IAsyncDropDownMultiSelectProps<T>> {
47
- constructor(props: IAsyncDropDownProps<T> | IAsyncDropDownMultiSelectProps<T>);
48
- private valueMember;
49
- private displayMember;
50
- private onKeyPress;
51
- private mapTArrayToSelectedItems;
52
- render(): JSX.Element;
53
- }
54
- export {};
@@ -1,91 +0,0 @@
1
- import { __assign, __decorate, __extends, __metadata } from "tslib";
2
- import React from 'react';
3
- import AsyncSelect from 'react-select/async';
4
- import { Utils } from '@singularsystems/neo-core';
5
- import { observer } from 'mobx-react';
6
- var AsyncDropDown = /** @class */ (function (_super) {
7
- __extends(AsyncDropDown, _super);
8
- function AsyncDropDown(props) {
9
- var _this = _super.call(this, props) || this;
10
- _this.onKeyPress = _this.onKeyPress.bind(_this);
11
- return _this;
12
- }
13
- AsyncDropDown.prototype.onKeyPress = function (searchValue, dataReceived) {
14
- var _this = this;
15
- Utils.debounce(this, function () {
16
- _this.props.itemSource(searchValue).then(function (list) {
17
- var items;
18
- if (list.data) {
19
- items = list.data;
20
- }
21
- else {
22
- items = list;
23
- }
24
- dataReceived(_this.mapTArrayToSelectedItems(items));
25
- });
26
- }, 500);
27
- };
28
- AsyncDropDown.prototype.mapTArrayToSelectedItems = function (items) {
29
- var _this = this;
30
- return items.map(function (item) { return (__assign(__assign({}, item), { value: item[_this.valueMember], label: item[_this.displayMember] })); });
31
- };
32
- AsyncDropDown.prototype.render = function () {
33
- var _this = this;
34
- var _a, _b, _c;
35
- var bindItems = this.props.bindItems;
36
- var bindIds = this.props.bindIds;
37
- var bindValue = this.props.bind;
38
- var bindDisplay = this.props.bindDisplay;
39
- this.displayMember = (_a = this.props.displayMember, (_a !== null && _a !== void 0 ? _a : ""));
40
- this.valueMember = (_b = this.props.valueMember, (_b !== null && _b !== void 0 ? _b : ""));
41
- var value = bindItems ? bindItems.map(function (c) { return ({ value: c.value, label: c.label }); }) : { value: bindValue.value, label: bindDisplay.value };
42
- var components = (_c = this.props.components, (_c !== null && _c !== void 0 ? _c : {}));
43
- if (this.props.option) {
44
- components.Option = function (item) { return (React.createElement("div", __assign({ ref: item.innerRef }, item.innerProps, { className: "react-select-row" + (item.isFocused ? " focused" : "") }), _this.props.option(item.data))); };
45
- }
46
- else if (components.Option) {
47
- var originalOption_1 = components.Option;
48
- components.Option = function (item) { return (React.createElement("div", __assign({ ref: item.innerRef }, item.innerProps, { className: "react-select-row" + (item.isFocused ? " focused" : "") }), originalOption_1(item))); };
49
- }
50
- var defaultItems = undefined;
51
- if (this.props.initialItems) {
52
- defaultItems = this.mapTArrayToSelectedItems(this.props.initialItems);
53
- }
54
- return (React.createElement(AsyncSelect, { className: "react-select-bs", classNamePrefix: "react-select-bs", defaultOptions: defaultItems, loadOptions: this.onKeyPress, isMulti: bindItems !== undefined, isClearable: true, noOptionsMessage: function (c) { var _a, _b; return c.inputValue ? (_a = _this.props.noRecordsPrompt, (_a !== null && _a !== void 0 ? _a : "No records found")) : (_b = _this.props.typeToSearchPrompt, (_b !== null && _b !== void 0 ? _b : "Type to search...")); }, value: value, onChange: function (args, action) {
55
- if (bindItems) {
56
- if (action.action === "select-option") {
57
- bindItems.push(action.option);
58
- if (bindIds) {
59
- bindIds.push(action.option.value);
60
- }
61
- }
62
- else if (action.action === "remove-value") {
63
- var removeItem = bindItems.find(function (c) { return c.value === action.removedValue.value; });
64
- if (removeItem) {
65
- bindItems.remove(removeItem);
66
- if (bindIds) {
67
- bindIds.remove(removeItem.value);
68
- }
69
- }
70
- }
71
- else if (action.action === "clear") {
72
- bindItems.length = 0;
73
- if (bindIds) {
74
- bindIds.length = 0;
75
- }
76
- }
77
- }
78
- else {
79
- bindValue.value = args ? args.value : "";
80
- bindDisplay.value = args ? args.label : "";
81
- }
82
- }, components: components }));
83
- };
84
- AsyncDropDown = __decorate([
85
- observer,
86
- __metadata("design:paramtypes", [Object])
87
- ], AsyncDropDown);
88
- return AsyncDropDown;
89
- }(React.Component));
90
- export default AsyncDropDown;
91
- //# sourceMappingURL=AsyncDropDown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AsyncDropDown.js","sourceRoot":"","sources":["../../src/ReactComponents/AsyncDropDown.tsx"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- export declare type columnWidth = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
2
- export declare type columnCount = 1 | 2 | 3 | 4 | 6 | 12;
3
- export declare type gutterSize = 1 | 2 | 3 | 4 | 5;
4
- export declare type flexItemAlign = "start" | "end" | "center";
5
- export declare type breakpoint = "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
6
- export interface IColumnWidthBreakpoints {
7
- /** Number of columns to span when the screen is extra small or bigger */
8
- xs?: columnWidth;
9
- /** Number of columns to span when the screen is small or bigger */
10
- sm?: columnWidth;
11
- /** Number of columns to span when the screen is medium or bigger */
12
- md?: columnWidth;
13
- /** Number of columns to span when the screen is large or bigger */
14
- lg?: columnWidth;
15
- /** Number of columns to span when the screen is extra large or bigger */
16
- xl?: columnWidth;
17
- /** Number of columns to span when the screen is the largest size */
18
- xxl?: columnWidth;
19
- }
20
- export interface IColumnCountBreakpoints {
21
- /** Number of columns to fit in a row when the screen is extra small or bigger */
22
- xs?: columnCount;
23
- /** Number of columns to fit in a row when the screen is small or bigger */
24
- sm?: columnCount;
25
- /** Number of columns to fit in a row when the screen is medium or bigger */
26
- md?: columnCount;
27
- /** Number of columns to fit in a row when the screen is large or bigger */
28
- lg?: columnCount;
29
- /** Number of columns to fit in a row when the screen is extra lage or bigger */
30
- xl?: columnCount;
31
- /** Number of columns to fit in a row when the screen is the largest size */
32
- xxl?: columnCount;
33
- }
34
- export default class BSHelpers {
35
- static getInverseBreakpointClasses(props: IColumnWidthBreakpoints): {
36
- cols: string;
37
- inverseCols: string;
38
- };
39
- static getFirstBreakpoint(props: IColumnWidthBreakpoints): breakpoint | null;
40
- }
@@ -1,31 +0,0 @@
1
- import { concat } from './PropTypes';
2
- var BSHelpers = /** @class */ (function () {
3
- function BSHelpers() {
4
- }
5
- BSHelpers.getInverseBreakpointClasses = function (props) {
6
- function getInverse(cols) {
7
- return cols === 12 ? 12 : 12 - cols;
8
- }
9
- var cols = concat(props.xs && "col-" + props.xs, props.sm && "col-sm-" + props.sm, props.md && "col-md-" + props.md, props.lg && "col-lg-" + props.lg, props.xl && "col-xl-" + props.xl, props.xxl && "col-xxl-" + props.xxl);
10
- var inverseCols = concat(props.xs && "col-" + getInverse(props.xs), props.sm && "col-sm-" + getInverse(props.sm), props.md && "col-md-" + getInverse(props.md), props.lg && "col-lg-" + getInverse(props.lg), props.xl && "col-xl-" + getInverse(props.xl), props.xxl && "col-xxl-" + getInverse(props.xxl));
11
- return { cols: cols, inverseCols: inverseCols };
12
- };
13
- BSHelpers.getFirstBreakpoint = function (props) {
14
- if (props.xs && props.xs != 12)
15
- return "xs";
16
- if (props.sm && props.sm != 12)
17
- return "sm";
18
- if (props.md && props.md != 12)
19
- return "md";
20
- if (props.lg && props.lg != 12)
21
- return "lg";
22
- if (props.xl && props.xl != 12)
23
- return "xl";
24
- if (props.xxl && props.xxl != 12)
25
- return "xxl";
26
- return null;
27
- };
28
- return BSHelpers;
29
- }());
30
- export default BSHelpers;
31
- //# sourceMappingURL=BootstrapHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BootstrapHelpers.js","sourceRoot":"","sources":["../../src/ReactComponents/BootstrapHelpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAmDrC;IAAA;IAmCA,CAAC;IAjCiB,qCAA2B,GAAzC,UAA0C,KAA8B;QACpE,SAAS,UAAU,CAAC,IAAY;YAC5B,OAAO,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,GAAG,MAAM,CACb,KAAK,CAAC,EAAE,IAAI,MAAM,GAAG,KAAK,CAAC,EAAE,EAC7B,KAAK,CAAC,EAAE,IAAI,SAAS,GAAG,KAAK,CAAC,EAAE,EAChC,KAAK,CAAC,EAAE,IAAI,SAAS,GAAG,KAAK,CAAC,EAAE,EAChC,KAAK,CAAC,EAAE,IAAI,SAAS,GAAG,KAAK,CAAC,EAAE,EAChC,KAAK,CAAC,EAAE,IAAI,SAAS,GAAG,KAAK,CAAC,EAAE,EAChC,KAAK,CAAC,GAAG,IAAI,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAEzC,IAAI,WAAW,GAAG,MAAM,CACpB,KAAK,CAAC,EAAE,IAAI,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EACzC,KAAK,CAAC,EAAE,IAAI,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAC5C,KAAK,CAAC,EAAE,IAAI,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAC5C,KAAK,CAAC,EAAE,IAAI,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAC5C,KAAK,CAAC,EAAE,IAAI,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,EAC5C,KAAK,CAAC,GAAG,IAAI,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAErD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IACpD,CAAC;IAEa,4BAAkB,GAAhC,UAAiC,KAA8B;QAC3D,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE;YAAE,OAAO,IAAI,CAAC;QAC5C,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE;YAAE,OAAO,KAAK,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IACL,gBAAC;AAAD,CAAC,AAnCD,IAmCC"}
@@ -1,53 +0,0 @@
1
- /// <reference types="react" />
2
- import { Model } from '@singularsystems/neo-core';
3
- import { AxiosPromise } from 'axios';
4
- import { SelectComponents } from 'react-select/src/components';
5
- import { DropDownBase } from './DropDownBase';
6
- interface IOption {
7
- value: string | number;
8
- label: string;
9
- }
10
- interface IAsyncDropDownCommonProps<T> {
11
- label?: string;
12
- itemSource: (searchValue: string) => (Promise<T[]> | AxiosPromise<T[]>);
13
- initialItems?: T[];
14
- valueMember?: keyof T;
15
- displayMember?: keyof T;
16
- /**
17
- * Customise the react-select components. https://react-select.com/props#replacing-components
18
- */
19
- components?: Partial<SelectComponents<IOption, true>>;
20
- /**
21
- * Callback used to provide a custom option component instead of displaying the display member value.
22
- */
23
- option?: (item: T) => JSX.Element;
24
- /**
25
- * Text to display when the user has typed something, but no records were returned.
26
- */
27
- noRecordsPrompt?: string;
28
- /**
29
- * Text to display when the user clicks in the text area, and no search value has been entered.
30
- */
31
- typeToSearchPrompt?: string;
32
- }
33
- interface IAsyncDropDownProps<T> extends IAsyncDropDownCommonProps<T> {
34
- bind: Model.IPropertyInstance;
35
- bindDisplay: Model.IPropertyInstance;
36
- }
37
- interface IAsyncDropDownMultiSelectProps<T> extends IAsyncDropDownCommonProps<T> {
38
- /**
39
- * A list of ids and labels to use as the selected list.
40
- */
41
- bindItems: Model.ISelectedItem[];
42
- /**
43
- * Optional list of ids. This will be kept in sync with the bindItems prop.
44
- */
45
- bindIds?: (string | number)[];
46
- }
47
- export default class AsyncDropDown<T> extends DropDownBase<IAsyncDropDownProps<T> | IAsyncDropDownMultiSelectProps<T>> {
48
- constructor(props: IAsyncDropDownProps<T> | IAsyncDropDownMultiSelectProps<T>);
49
- private onKeyPress;
50
- private mapTArrayToOptions;
51
- render(): JSX.Element;
52
- }
53
- export {};
@@ -1,95 +0,0 @@
1
- import { __assign, __decorate, __extends, __metadata } from "tslib";
2
- import React from 'react';
3
- import AsyncSelect from 'react-select/async';
4
- import { Utils } from '@singularsystems/neo-core';
5
- import { observer } from 'mobx-react';
6
- import { DropDownBase } from './DropDownBase';
7
- var AsyncDropDown = /** @class */ (function (_super) {
8
- __extends(AsyncDropDown, _super);
9
- function AsyncDropDown(props) {
10
- var _this = _super.call(this, props) || this;
11
- _this.onKeyPress = _this.onKeyPress.bind(_this);
12
- return _this;
13
- }
14
- AsyncDropDown.prototype.onKeyPress = function (searchValue, dataReceived) {
15
- var _this = this;
16
- Utils.debounce(this, function () {
17
- _this.props.itemSource(searchValue).then(function (list) {
18
- var items;
19
- if (list.data) {
20
- items = list.data;
21
- }
22
- else {
23
- items = list;
24
- }
25
- dataReceived(_this.mapTArrayToOptions(items));
26
- });
27
- }, 500);
28
- };
29
- AsyncDropDown.prototype.mapTArrayToOptions = function (items) {
30
- var _this = this;
31
- if (items.length) {
32
- this.findMembers(items[0]);
33
- }
34
- return items.map(function (item) { return (__assign(__assign({}, item), { value: item[_this.valueMember], label: item[_this.displayMember] })); });
35
- };
36
- AsyncDropDown.prototype.render = function () {
37
- var _this = this;
38
- var _a, _b, _c;
39
- var bindItems = this.props.bindItems;
40
- var bindIds = this.props.bindIds;
41
- var bindValue = this.props.bind;
42
- var bindDisplay = this.props.bindDisplay;
43
- this.displayMember = (_a = this.props.displayMember, (_a !== null && _a !== void 0 ? _a : ""));
44
- this.valueMember = (_b = this.props.valueMember, (_b !== null && _b !== void 0 ? _b : ""));
45
- var value = bindItems ? bindItems.map(function (c) { return ({ value: c.id, label: c.display }); }) : { value: bindValue.value, label: bindDisplay.value };
46
- var components = (_c = this.props.components, (_c !== null && _c !== void 0 ? _c : {}));
47
- if (this.props.option) {
48
- components.Option = function (item) { return (React.createElement("div", __assign({ ref: item.innerRef }, item.innerProps, { className: "react-select-row" + (item.isFocused ? " focused" : "") }), _this.props.option(item.data))); };
49
- }
50
- else if (components.Option) {
51
- var originalOption_1 = components.Option;
52
- components.Option = function (item) { return (React.createElement("div", __assign({ ref: item.innerRef }, item.innerProps, { className: "react-select-row" + (item.isFocused ? " focused" : "") }), originalOption_1(item))); };
53
- }
54
- var defaultItems = undefined;
55
- if (this.props.initialItems) {
56
- defaultItems = this.mapTArrayToOptions(this.props.initialItems);
57
- }
58
- return (React.createElement(AsyncSelect, { className: "react-select-bs", classNamePrefix: "react-select-bs", defaultOptions: defaultItems, loadOptions: this.onKeyPress, isMulti: bindItems !== undefined, isClearable: true, noOptionsMessage: function (c) { var _a, _b; return c.inputValue ? (_a = _this.props.noRecordsPrompt, (_a !== null && _a !== void 0 ? _a : "No records found")) : (_b = _this.props.typeToSearchPrompt, (_b !== null && _b !== void 0 ? _b : "Type to search...")); }, value: value, onChange: function (args, action) {
59
- if (bindItems) {
60
- if (action.action === "select-option") {
61
- bindItems.push({ id: action.option.value, display: action.option.label });
62
- if (bindIds) {
63
- bindIds.push(action.option.value);
64
- }
65
- }
66
- else if (action.action === "remove-value") {
67
- var removeItem = bindItems.find(function (c) { return c.id === action.removedValue.value; });
68
- if (removeItem) {
69
- bindItems.remove(removeItem);
70
- if (bindIds) {
71
- bindIds.remove(removeItem.id);
72
- }
73
- }
74
- }
75
- else if (action.action === "clear") {
76
- bindItems.length = 0;
77
- if (bindIds) {
78
- bindIds.length = 0;
79
- }
80
- }
81
- }
82
- else {
83
- bindValue.value = args ? args.value : "";
84
- bindDisplay.value = args ? args.label : "";
85
- }
86
- }, components: components }));
87
- };
88
- AsyncDropDown = __decorate([
89
- observer,
90
- __metadata("design:paramtypes", [Object])
91
- ], AsyncDropDown);
92
- return AsyncDropDown;
93
- }(DropDownBase));
94
- export default AsyncDropDown;
95
- //# sourceMappingURL=AsyncDropDown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AsyncDropDown.js","sourceRoot":"","sources":["../../../src/ReactComponents/DropDown/AsyncDropDown.tsx"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- import * as React from 'react';
2
- import { ICommonEditorProps } from './PropTypes';
3
- import { Data } from '@singularsystems/neo-core';
4
- import ComponentBase from './ComponentBase';
5
- import { FormContext } from './FormContext';
6
- export interface IDropDownSpecificProps<T> {
7
- items?: T[] | Promise<T[]>;
8
- itemSource?: Data.IAsyncDataSource<T[]> | Data.IArrayCacheEntry<T>;
9
- valueMember?: string | undefined;
10
- displayMember?: string | undefined;
11
- /**
12
- * Set to true if your bind property is nullable, and you need to show a blank item in the list.
13
- * If your property value is null, a blank item will automatically be shown.
14
- */
15
- allowNulls?: boolean;
16
- /** Function used to filter items out of the datasource. */
17
- filterPredicate?: (item: T) => boolean;
18
- /** Callback which fires when an item is selected. */
19
- onItemSelected?: (item?: T) => void;
20
- /**
21
- * True if the display member of the selected item should display as plain text.
22
- * Use this if you need a readonly display, and don't want a form control rendered.
23
- */
24
- renderAsText?: boolean;
25
- }
26
- export interface IDropDownProps<T> extends ICommonEditorProps<HTMLSelectElement> {
27
- select: IDropDownSpecificProps<T>;
28
- }
29
- export default class DropDown<T> extends ComponentBase<IDropDownProps<T>> {
30
- static contextType: React.Context<import("./FormContext").FormContextParams>;
31
- context: React.ContextType<typeof FormContext>;
32
- private displayMember;
33
- private valueMember;
34
- private selectedItem;
35
- private isLoading;
36
- private listIndexSymbol;
37
- constructor(props: IDropDownProps<T>);
38
- private findMembers;
39
- private promiseData;
40
- private lastPromise;
41
- private fetchData;
42
- private get items();
43
- private createLookupIndex;
44
- private getSelectedOption;
45
- private onItemSelected;
46
- render(): JSX.Element;
47
- }
@@ -1,193 +0,0 @@
1
- import { __assign, __decorate, __extends, __metadata } from "tslib";
2
- import * as React from 'react';
3
- import { BindPropsHelper } from './PropTypes';
4
- import { Utils } from '@singularsystems/neo-core';
5
- import { observer } from 'mobx-react';
6
- import { InputHelpers } from './InputHelpers';
7
- import ComponentBase from './ComponentBase';
8
- import { FormContext } from './FormContext';
9
- import { observable } from 'mobx';
10
- var DropDown = /** @class */ (function (_super) {
11
- __extends(DropDown, _super);
12
- function DropDown(props) {
13
- var _this = _super.call(this, props) || this;
14
- _this.isLoading = false;
15
- _this.listIndexSymbol = Symbol("ValueIndex");
16
- _this.promiseData = [];
17
- _this.lastPromise = null;
18
- _this.onItemSelected = _this.onItemSelected.bind(_this);
19
- return _this;
20
- }
21
- DropDown.prototype.findMembers = function (item) {
22
- if (!this.valueMember || !this.displayMember) {
23
- for (var propName in item) {
24
- if (this.valueMember && this.displayMember)
25
- break;
26
- var value = item[propName];
27
- if (value !== undefined && value !== null) {
28
- if (typeof (value) === "number" && !this.valueMember) {
29
- this.valueMember = propName;
30
- }
31
- if (typeof (value) === "string" && !this.displayMember && !propName.toLowerCase().endsWith("id") && propName !== "entityIdentifier") {
32
- this.displayMember = propName;
33
- }
34
- }
35
- }
36
- }
37
- };
38
- DropDown.prototype.fetchData = function () {
39
- var _this = this;
40
- if (this.props.select.items) {
41
- if (this.props.select.items instanceof Promise) {
42
- var promise_1 = this.props.select.items;
43
- if (promise_1 !== this.lastPromise) {
44
- this.lastPromise = promise_1;
45
- this.isLoading = true;
46
- promise_1.then(function (data) {
47
- if (_this.lastPromise === promise_1) {
48
- _this.isLoading = false;
49
- _this.promiseData = [];
50
- _this.promiseData = data;
51
- }
52
- });
53
- }
54
- return this.promiseData;
55
- }
56
- else {
57
- this.isLoading = false;
58
- return this.props.select.items;
59
- }
60
- }
61
- else {
62
- var dataSource = this.props.select.itemSource;
63
- if (this.props.select.itemSource.get !== undefined) {
64
- dataSource = this.props.select.itemSource.get();
65
- }
66
- else {
67
- dataSource.fetchInitial();
68
- }
69
- this.isLoading = dataSource.isLoading;
70
- return dataSource.data;
71
- }
72
- };
73
- Object.defineProperty(DropDown.prototype, "items", {
74
- get: function () {
75
- var _this = this;
76
- var items = this.fetchData();
77
- if (items && items.length > 0) {
78
- var item = items[0];
79
- this.findMembers(item);
80
- }
81
- if (this.props.select.filterPredicate !== undefined) {
82
- return items.filter(function (item) { return _this.props.bind.value === item[_this.valueMember] || _this.props.select.filterPredicate(item); });
83
- }
84
- else {
85
- return items;
86
- }
87
- },
88
- enumerable: true,
89
- configurable: true
90
- });
91
- DropDown.prototype.createLookupIndex = function (list) {
92
- var _this = this;
93
- list[this.listIndexSymbol] = {};
94
- var index = list[this.listIndexSymbol];
95
- list.forEach(function (item) { return index[item[_this.valueMember]] = item; });
96
- };
97
- DropDown.prototype.getSelectedOption = function (value) {
98
- this.props.bind.propertyInfo.hasSortValue = true;
99
- if (!this.selectedItem || this.selectedItem[this.valueMember] != value) {
100
- var list = this.items;
101
- var indexJustCreated = false;
102
- if (!list[this.listIndexSymbol]) {
103
- this.createLookupIndex(list);
104
- indexJustCreated = true;
105
- }
106
- this.selectedItem = list[this.listIndexSymbol][value];
107
- if (value && !this.selectedItem && !indexJustCreated) {
108
- // Index may be out of date.
109
- this.createLookupIndex(list);
110
- this.selectedItem = list[this.listIndexSymbol][value];
111
- }
112
- if (!this.selectedItem) {
113
- // create default item.
114
- this.props.bind.sortValue = "";
115
- this.selectedItem = {};
116
- this.selectedItem[this.displayMember] = "";
117
- this.selectedItem[this.valueMember] = null;
118
- }
119
- this.props.bind.sortValue = this.selectedItem[this.displayMember];
120
- }
121
- return this.selectedItem;
122
- };
123
- DropDown.prototype.onItemSelected = function (e) {
124
- this.selectedItem = null;
125
- var boundItem = this.getSelectedOption(e.target.value);
126
- if (boundItem && boundItem[this.valueMember] !== undefined) {
127
- // Use the bound item to get the correct data type of the value member;
128
- this.props.bind.value = boundItem[this.valueMember];
129
- }
130
- else {
131
- this.props.bind.value = e.target.value;
132
- }
133
- if (this.props.select.onItemSelected !== undefined) {
134
- this.props.select.onItemSelected((boundItem[this.valueMember] === undefined ? undefined : boundItem));
135
- }
136
- };
137
- DropDown.prototype.render = function () {
138
- var _this = this;
139
- var _a, _b, _c;
140
- var splitProps = BindPropsHelper.normaliseEditorProps(this, this.props);
141
- var domProps = BindPropsHelper.autoSetDomProperties(splitProps, this.context);
142
- domProps.className = Utils.joinWithSpaces(domProps.className, splitProps.isBootstrap ? "form-control" : "neo-forms-editor");
143
- if (splitProps.select) {
144
- if (splitProps.select.valueMember)
145
- this.valueMember = splitProps.select.valueMember;
146
- if (splitProps.select.displayMember)
147
- this.displayMember = splitProps.select.displayMember;
148
- }
149
- var displayInfo = this.props.bind.validator.getDisplayState(this.context.validationDisplayMode);
150
- displayInfo.applyToDom(domProps, !splitProps.inGroup);
151
- var items = this.items;
152
- var selectedItem = this.getSelectedOption(this.props.bind.value); // This sets the sort value to allow sorting of drop downs in grids. Remove this when using an input to display the selected value.
153
- var value = this.props.bind.value;
154
- var addBlankItem = (_b = (_a = splitProps.select) === null || _a === void 0 ? void 0 : _a.allowNulls, (_b !== null && _b !== void 0 ? _b : this.props.bind.propertyInfo.allowNulls)) || !value;
155
- if (addBlankItem && items.find(function (item) { return !item[_this.valueMember]; })) {
156
- // If there is an item with a nullish value, don't add a blank drop down item.
157
- addBlankItem = false;
158
- }
159
- var control;
160
- if (this.isLoading) {
161
- control = React.createElement("div", { className: "form-control form-control-loading" },
162
- React.createElement("div", { className: "spinner-border" }));
163
- }
164
- else if ((_c = splitProps.select) === null || _c === void 0 ? void 0 : _c.renderAsText) {
165
- control = React.createElement("span", null, selectedItem ? selectedItem[this.displayMember] : "");
166
- }
167
- else if (splitProps.editor.isReadOnly) {
168
- control = React.createElement("input", __assign({ type: "text", value: selectedItem ? selectedItem[this.displayMember] : "", ref: splitProps.editor.inputElement }, domProps));
169
- }
170
- else {
171
- if (domProps.readOnly) {
172
- domProps.disabled = true;
173
- }
174
- control =
175
- React.createElement("select", __assign({ value: value === undefined || value === null ? "" : value, onChange: this.onItemSelected, ref: splitProps.editor.inputElement }, domProps),
176
- addBlankItem && React.createElement("option", null),
177
- items.map(function (item) { return (React.createElement("option", { value: item[_this.valueMember], key: item[_this.valueMember] }, item[_this.displayMember])); }));
178
- }
179
- return (InputHelpers.surroundWithInputGroup(control, splitProps.editor));
180
- };
181
- DropDown.contextType = FormContext;
182
- __decorate([
183
- observable.ref,
184
- __metadata("design:type", Array)
185
- ], DropDown.prototype, "promiseData", void 0);
186
- DropDown = __decorate([
187
- observer,
188
- __metadata("design:paramtypes", [Object])
189
- ], DropDown);
190
- return DropDown;
191
- }(ComponentBase));
192
- export default DropDown;
193
- //# sourceMappingURL=DropDown.js.map