@singularsystems/neo-react 0.10.20 → 0.10.24

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.
@@ -78,7 +78,7 @@ var ReactModelCreator = /** @class */ (function (_super) {
78
78
  };
79
79
  ReactModelCreator.prototype.addChangeTracking = function (object, propertyName, propertyInfo, observable, propertyInstance) {
80
80
  var _this = this;
81
- var trackProperty = this.typeInfo.inheritsModelBase && !propertyInfo.noTrack;
81
+ var trackProperty = this.typeInfo.inheritsModelBase && !propertyInfo.noTrack && propertyInfo.relationType !== Misc.RelationType.ChildList;
82
82
  var onChangedOptions = propertyInfo && propertyInfo.onChangedOptions;
83
83
  if (trackProperty || propertyInfo.propertyType === Misc.DataType.Date || (onChangedOptions && onChangedOptions.requiresOldValue)) {
84
84
  intercept(object, propertyName, function (onChange) {
@@ -86,6 +86,9 @@ var ReactModelCreator = /** @class */ (function (_super) {
86
86
  if (trackProperty && onChange.newValue !== observable.value)
87
87
  object.isSelfDirty = true;
88
88
  if (propertyInfo.propertyType === Misc.DataType.Date) {
89
+ if (typeof onChange.newValue === "string") {
90
+ throw "Error: tried to assign a string to a date property.";
91
+ }
89
92
  propertyInstance.sortValue = onChange.newValue ? onChange.newValue.getTime() : 0;
90
93
  }
91
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ReactModelCreator.js","sourceRoot":"","sources":["../../src/React/ReactModelCreator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ReactModelCreator.js","sourceRoot":"","sources":["../../src/React/ReactModelCreator.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,22 @@ import * as React from 'react';
2
2
  import { FileContext, IFileComponentProps } from './FileContext';
3
3
  import { IButtonOptions } from '@singularsystems/neo-core/dist/Components/ButtonOptions';
4
4
  import ComponentBase from '../ComponentBase';
5
+ import { AxiosPromise } from 'axios';
5
6
  export interface IFileEditorProps extends IFileComponentProps {
6
7
  /** Browse button options */
7
8
  browseButton?: IButtonOptions;
8
9
  /** Set this if you want to allow the user to choose a new file. */
9
10
  changeFileText?: string;
10
- /** Text to show in the download link. Use {0} as a placeholer for fileName */
11
+ /** Text to show in the download link. Use {0} as a placeholder for fileName */
11
12
  downloadLinkText?: string;
12
- /** Path of API endpoint which will handle downloading a file. Only required if downloadLinkText is specified */
13
- downloadEndpoint?: string | ((fileID: string) => string);
13
+ /**
14
+ * Path of API endpoint which will handle downloading a file. Only required if downloadLinkText is specified.
15
+ */
16
+ downloadEndpoint?: string | ((fileID: any) => string);
17
+ /**
18
+ * Path of API endpoint which will handle downloading a file. Only required if downloadLinkText is specified.
19
+ */
20
+ downloadEndpointAsync?: ((fileId: any) => Promise<string>) | ((fileId: any) => AxiosPromise<string>);
14
21
  isReadOnly?: boolean;
15
22
  /** Placeholder text for drag here... */
16
23
  placeholder?: string;
@@ -22,6 +29,7 @@ export default class FileInput extends ComponentBase<IFileEditorProps> {
22
29
  static contextType: React.Context<import("./FileContext").IFileContextProps>;
23
30
  context: React.ContextType<typeof FileContext>;
24
31
  private fileManager;
32
+ private gettingDownloadUrl;
25
33
  render(): JSX.Element;
26
34
  private getFileDisplayComponent;
27
35
  /** Renders when the file is busy uploading. */
@@ -30,4 +38,5 @@ export default class FileInput extends ComponentBase<IFileEditorProps> {
30
38
  private renderEmpty;
31
39
  /** Renders where a file has been selected. */
32
40
  private renderSelected;
41
+ private onDownloadLinkClicked;
33
42
  }
@@ -1,4 +1,4 @@
1
- import { __assign, __decorate, __extends, __spreadArrays } from "tslib";
1
+ import { __assign, __awaiter, __decorate, __extends, __generator, __metadata, __spreadArrays } from "tslib";
2
2
  import * as React from 'react';
3
3
  import { Components, Utils, Misc, Validation } from '@singularsystems/neo-core';
4
4
  import { observer } from 'mobx-react';
@@ -7,13 +7,16 @@ import { FileContext } from './FileContext';
7
7
  import { ProgressBar, Button, FileDropArea } from '../_Exports';
8
8
  import ComponentBase from '../ComponentBase';
9
9
  import { BindPropsHelper } from '../PropTypes';
10
+ import { observable } from 'mobx';
10
11
  /**
11
12
  * The file manager component manages uploading, and binding of files to a model.
12
13
  */
13
14
  var FileInput = /** @class */ (function (_super) {
14
15
  __extends(FileInput, _super);
15
16
  function FileInput() {
16
- return _super !== null && _super.apply(this, arguments) || this;
17
+ var _this = _super !== null && _super.apply(this, arguments) || this;
18
+ _this.gettingDownloadUrl = false;
19
+ return _this;
17
20
  }
18
21
  FileInput.prototype.render = function () {
19
22
  var splitProps = BindPropsHelper.normaliseEditorProps(this, this.props);
@@ -29,11 +32,16 @@ var FileInput = /** @class */ (function (_super) {
29
32
  else {
30
33
  fileProps = this.props;
31
34
  }
32
- if (this.context.fileManager) {
33
- this.fileManager = this.context.fileManager;
35
+ if (!this.fileManager) {
36
+ if (this.context.fileManager) {
37
+ this.fileManager = this.context.fileManager;
38
+ }
39
+ else {
40
+ this.fileManager = new Components.BoundFileManager(fileProps.uploadEndpoint, fileProps);
41
+ }
34
42
  }
35
43
  else {
36
- this.fileManager = new Components.BoundFileManager(fileProps.uploadEndpoint, fileProps);
44
+ this.fileManager.options = fileProps;
37
45
  }
38
46
  if (!this.fileManager.uploadEndpoint) {
39
47
  throw Error("File input requires an uploadEndpoint.");
@@ -44,7 +52,7 @@ var FileInput = /** @class */ (function (_super) {
44
52
  var displayInfo = this.fileManager.options.bind.validator.getDisplayState(Validation.DisplayMode.Always);
45
53
  var domProps = { className: "form-control" };
46
54
  displayInfo.applyToDom(domProps, !splitProps.inGroup);
47
- if (this.fileManager.isUploading) {
55
+ if (this.fileManager.isUploading || this.gettingDownloadUrl) {
48
56
  return this.renderBusy(fileProps);
49
57
  }
50
58
  else {
@@ -57,16 +65,10 @@ var FileInput = /** @class */ (function (_super) {
57
65
  }
58
66
  };
59
67
  FileInput.prototype.getFileDisplayComponent = function (props, domProps) {
68
+ var _this = this;
60
69
  var options = this.fileManager.options;
61
- if (props.downloadEndpoint) {
62
- var downloadPath = void 0;
70
+ if (props.downloadEndpoint || props.downloadEndpointAsync) {
63
71
  var downloadLinkText = void 0;
64
- if (typeof props.downloadEndpoint === "string") {
65
- downloadPath = props.downloadEndpoint;
66
- }
67
- else {
68
- downloadPath = props.downloadEndpoint(options.bind.value);
69
- }
70
72
  var fileName = "file";
71
73
  if (options.fileDescriptorProperty) {
72
74
  var fileDesciptor = options.fileDescriptorProperty.value;
@@ -83,9 +85,21 @@ var FileInput = /** @class */ (function (_super) {
83
85
  downloadLinkText = props.downloadLinkText.format(fileName);
84
86
  }
85
87
  else {
86
- downloadLinkText = "View file";
88
+ downloadLinkText = fileName;
89
+ }
90
+ if (props.downloadEndpointAsync) {
91
+ return React.createElement("a", __assign({}, domProps, { href: "/", onClick: function (e) { return _this.onDownloadLinkClicked(e, props); } }), downloadLinkText);
92
+ }
93
+ else {
94
+ var downloadPath = void 0;
95
+ if (typeof props.downloadEndpoint === "string") {
96
+ downloadPath = props.downloadEndpoint;
97
+ }
98
+ else {
99
+ downloadPath = props.downloadEndpoint(options.bind.value);
100
+ }
101
+ return React.createElement("a", __assign({}, domProps, { href: downloadPath }), downloadLinkText);
87
102
  }
88
- return React.createElement("a", __assign({}, domProps, { href: downloadPath }), downloadLinkText);
89
103
  }
90
104
  else {
91
105
  return React.createElement("span", __assign({}, domProps), "File selected");
@@ -93,7 +107,10 @@ var FileInput = /** @class */ (function (_super) {
93
107
  };
94
108
  /** Renders when the file is busy uploading. */
95
109
  FileInput.prototype.renderBusy = function (props) {
96
- return (React.createElement(ProgressBar, { variant: "dark", type: "animated", progress: this.fileManager.uploadPercent }));
110
+ return this.gettingDownloadUrl ?
111
+ React.createElement("div", { className: "form-control form-control-loading" },
112
+ React.createElement("div", { className: "spinner-border" })) :
113
+ React.createElement(ProgressBar, { variant: "dark", type: "animated", progress: this.fileManager.uploadPercent });
97
114
  };
98
115
  /** Renders where a file has not yet been selected. */
99
116
  FileInput.prototype.renderEmpty = function (props, editorProps, domProps) {
@@ -128,7 +145,42 @@ var FileInput = /** @class */ (function (_super) {
128
145
  this.getFileDisplayComponent(props, domProps),
129
146
  append));
130
147
  };
148
+ FileInput.prototype.onDownloadLinkClicked = function (e, props) {
149
+ return __awaiter(this, void 0, void 0, function () {
150
+ var result, downloadPath;
151
+ return __generator(this, function (_a) {
152
+ switch (_a.label) {
153
+ case 0:
154
+ e.preventDefault();
155
+ _a.label = 1;
156
+ case 1:
157
+ _a.trys.push([1, , 3, 4]);
158
+ this.gettingDownloadUrl = true;
159
+ return [4 /*yield*/, props.downloadEndpointAsync(this.fileManager.options.bind.value)];
160
+ case 2:
161
+ result = _a.sent();
162
+ downloadPath = void 0;
163
+ if (typeof result === "string") {
164
+ downloadPath = result;
165
+ }
166
+ else {
167
+ downloadPath = result.data;
168
+ }
169
+ window.location.href = downloadPath;
170
+ return [3 /*break*/, 4];
171
+ case 3:
172
+ this.gettingDownloadUrl = false;
173
+ return [7 /*endfinally*/];
174
+ case 4: return [2 /*return*/];
175
+ }
176
+ });
177
+ });
178
+ };
131
179
  FileInput.contextType = FileContext;
180
+ __decorate([
181
+ observable,
182
+ __metadata("design:type", Boolean)
183
+ ], FileInput.prototype, "gettingDownloadUrl", void 0);
132
184
  FileInput = __decorate([
133
185
  observer
134
186
  ], FileInput);
@@ -1 +1 @@
1
- {"version":3,"file":"FileInput.js","sourceRoot":"","sources":["../../../src/ReactComponents/FileManager/FileInput.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FileInput.js","sourceRoot":"","sources":["../../../src/ReactComponents/FileManager/FileInput.tsx"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export interface IValidationSummaryProps {
5
5
  * Invalid object graph from Validation.getValidationSummary().
6
6
  * If this is null, 'model' must be specified.
7
7
  */
8
- graph?: Validation.IInvalidObjectGraph | Validation.IInvalidObjectGraph[];
8
+ graph?: Validation.IInvalidObjectGraph | Validation.IInvalidObjectGraph[] | null;
9
9
  /**
10
10
  * Model or list of models.
11
11
  * If this is null, 'graph' must be specified.
@@ -8,6 +8,7 @@ export declare class RoutingState {
8
8
  currentRoute?: IProcessedRoute;
9
9
  currentRouteView?: RouteView;
10
10
  leavePromise?: Promise<boolean> | Promise<Misc.ModalResult> | Promise<void>;
11
+ observableRoute: IProcessedRoute | null;
11
12
  setCurrentRoute(routeProps: RouteComponentProps, route: IProcessedRoute): void;
12
13
  private previousRoute?;
13
14
  onRouteChanged(): void;
@@ -1,18 +1,21 @@
1
- import { __decorate } from "tslib";
1
+ import { __decorate, __metadata } from "tslib";
2
2
  import { injectable } from 'inversify';
3
+ import { observable } from 'mobx';
3
4
  import { ViewBase } from '../Views';
4
5
  var RoutingState = /** @class */ (function () {
5
6
  function RoutingState() {
7
+ this.observableRoute = null;
6
8
  }
7
9
  RoutingState.prototype.setCurrentRoute = function (routeProps, route) {
8
10
  this.currentRouteProps = routeProps;
9
11
  this.currentRoute = route;
10
12
  };
11
13
  RoutingState.prototype.onRouteChanged = function () {
12
- var _a;
14
+ var _a, _b;
13
15
  if (this.previousRoute !== this.currentRoute) {
14
16
  this.previousRoute = this.currentRoute;
15
- if (((_a = ViewBase.currentView) === null || _a === void 0 ? void 0 : _a.constructor) !== this.currentRoute.component) {
17
+ this.observableRoute = (_a = this.currentRoute, (_a !== null && _a !== void 0 ? _a : null));
18
+ if (((_b = ViewBase.currentView) === null || _b === void 0 ? void 0 : _b.constructor) !== this.currentRoute.component) {
16
19
  ViewBase.currentView = null;
17
20
  }
18
21
  // Scroll back to top as if the browser had actually loaded a new page.
@@ -25,6 +28,10 @@ var RoutingState = /** @class */ (function () {
25
28
  }
26
29
  }
27
30
  };
31
+ __decorate([
32
+ observable.ref,
33
+ __metadata("design:type", Object)
34
+ ], RoutingState.prototype, "observableRoute", void 0);
28
35
  RoutingState = __decorate([
29
36
  injectable()
30
37
  ], RoutingState);
@@ -1 +1 @@
1
- {"version":3,"file":"RoutingState.js","sourceRoot":"","sources":["../../src/Routing/RoutingState.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKpC;IAAA;IAmCA,CAAC;IA3BU,sCAAe,GAAtB,UAAuB,UAA+B,EAAE,KAAsB;QAE1E,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAE9B,CAAC;IAIM,qCAAc,GAArB;;QAEI,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,YAAY,EAAE;YAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;YAEvC,IAAI,OAAA,QAAQ,CAAC,WAAW,0CAAE,WAAW,MAAK,IAAI,CAAC,YAAa,CAAC,SAAS,EAAE;gBACpE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;aAC/B;YAED,uEAAuE;YACvE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzB;aAAM;YACH,gDAAgD;YAChD,IAAI,QAAQ,CAAC,WAAW,EAAE;gBACtB,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aACvE;SACJ;IACL,CAAC;IAlCQ,YAAY;QADxB,UAAU,EAAE;OACA,YAAY,CAmCxB;IAAD,mBAAC;CAAA,AAnCD,IAmCC;SAnCY,YAAY"}
1
+ {"version":3,"file":"RoutingState.js","sourceRoot":"","sources":["../../src/Routing/RoutingState.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKpC;IAAA;QASW,oBAAe,GAA2B,IAAI,CAAC;IA8B1D,CAAC;IA5BU,sCAAe,GAAtB,UAAuB,UAA+B,EAAE,KAAsB;QAE1E,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAE9B,CAAC;IAIM,qCAAc,GAArB;;QAEI,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,YAAY,EAAE;YAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;YACvC,IAAI,CAAC,eAAe,SAAG,IAAI,CAAC,YAAY,uCAAI,IAAI,EAAA,CAAC;YAEjD,IAAI,OAAA,QAAQ,CAAC,WAAW,0CAAE,WAAW,MAAK,IAAI,CAAC,YAAa,CAAC,SAAS,EAAE;gBACpE,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC;aAC/B;YAED,uEAAuE;YACvE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACzB;aAAM;YACH,gDAAgD;YAChD,IAAI,QAAQ,CAAC,WAAW,EAAE;gBACtB,QAAQ,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;aACvE;SACJ;IACL,CAAC;IA7BD;QADC,UAAU,CAAC,GAAG;;yDACuC;IAT7C,YAAY;QADxB,UAAU,EAAE;OACA,YAAY,CAuCxB;IAAD,mBAAC;CAAA,AAvCD,IAuCC;SAvCY,YAAY"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@singularsystems/neo-react",
3
- "version": "0.10.20",
3
+ "version": "0.10.24",
4
4
  "description": "React application logic and components for the Neo client library",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -32,7 +32,7 @@
32
32
  "@types/rc-slider": "^8.6.5",
33
33
  "@types/react-color": "^3.0.1",
34
34
  "@types/react-select": "3.1.0",
35
- "@singularsystems/neo-core": "^0.10.27",
35
+ "@singularsystems/neo-core": "^0.10.32",
36
36
  "axios": "^0.21.1",
37
37
  "history": "4.10.1",
38
38
  "inversify": "5.0.1",