namirasoft-account-react 1.5.35 → 1.5.37
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.
|
@@ -14,6 +14,7 @@ export declare class FieldCacheService extends Component<FieldCacheServiceProps,
|
|
|
14
14
|
private static pendings;
|
|
15
15
|
static get(token_manager: TokenManager, product_id: string, onError: (error: Error | string) => void): CacheService<EntityResolveResponseRow>;
|
|
16
16
|
constructor(props: FieldCacheServiceProps);
|
|
17
|
+
private static getEmpty;
|
|
17
18
|
componentDidMount(): void;
|
|
18
19
|
render(): ReactNode;
|
|
19
20
|
}
|
|
@@ -23,17 +23,7 @@ export class FieldCacheService extends Component {
|
|
|
23
23
|
}), () => __awaiter(this, void 0, void 0, function* () {
|
|
24
24
|
let REACT_APP_BASE_URL_FIELD = new EnvService("REACT_APP_BASE_URL_FIELD", true).getString();
|
|
25
25
|
let server = new NamirasoftFieldServer(REACT_APP_BASE_URL_FIELD, token_manager, onError);
|
|
26
|
-
|
|
27
|
-
slots: [],
|
|
28
|
-
category_scopes: [],
|
|
29
|
-
categories: [],
|
|
30
|
-
fields: [],
|
|
31
|
-
};
|
|
32
|
-
try {
|
|
33
|
-
ans = yield server.entity.Resolve(product_id);
|
|
34
|
-
}
|
|
35
|
-
catch (error) { }
|
|
36
|
-
return ans;
|
|
26
|
+
return yield server.entity.Resolve(product_id);
|
|
37
27
|
}));
|
|
38
28
|
let innerGet = cache.get.bind(cache);
|
|
39
29
|
cache.get = () => {
|
|
@@ -51,10 +41,20 @@ export class FieldCacheService extends Component {
|
|
|
51
41
|
rows: null,
|
|
52
42
|
};
|
|
53
43
|
}
|
|
44
|
+
static getEmpty() {
|
|
45
|
+
return {
|
|
46
|
+
slots: [],
|
|
47
|
+
category_scopes: [],
|
|
48
|
+
categories: [],
|
|
49
|
+
fields: [],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
54
52
|
componentDidMount() {
|
|
55
53
|
let cache = FieldCacheService.get(this.props.account.token_manager, this.props.product_id, this.props.notifier.onError);
|
|
56
54
|
cache.get().then(rows => {
|
|
57
55
|
this.setState(prev => (Object.assign(Object.assign({}, prev), { rows })));
|
|
56
|
+
}).catch(() => {
|
|
57
|
+
this.setState(prev => (Object.assign(Object.assign({}, prev), { rows: FieldCacheService.getEmpty() })));
|
|
58
58
|
});
|
|
59
59
|
}
|
|
60
60
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldCacheService.js","sourceRoot":"","sources":["../src/FieldCacheService.tsx"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAC3G,OAAO,EAA4B,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AAc7C,MAAM,OAAO,iBAAkB,SAAQ,SAAyD;IAI5F,MAAM,CAAC,GAAG,CAAC,aAA2B,EAAE,UAAkB,EAAE,OAAwC;;QAGhG,IAAI,OAAO,GAAW,MAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,mCAAI,EAAE,CAAC;QACtE,IAAI,SAAS,GAAG,iBAAiB,OAAO,YAAY,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,GAAG,EAAE,CAAC;QACxE,IAAI,KAAK,GAAG,IAAI,YAAY,CACxB,SAAS,EACT,IAAI,aAAa,EAAE,EACnB,EAAE,GAAG,EAAE,EACP,GAAS,EAAE;YAEP,IAAI,OAAO,GAAG,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACzF,OAAO,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;QAC9C,CAAC,CAAA,EACD,GAAS,EAAE;YAEP,IAAI,wBAAwB,GAAG,IAAI,UAAU,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;YAC5F,IAAI,MAAM,GAAG,IAAI,qBAAqB,CAAC,wBAAwB,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"FieldCacheService.js","sourceRoot":"","sources":["../src/FieldCacheService.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"framework": "npm",
|
|
9
9
|
"application": "package",
|
|
10
10
|
"private": false,
|
|
11
|
-
"version": "1.5.
|
|
11
|
+
"version": "1.5.37",
|
|
12
12
|
"author": "Amir Abolhasani",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"main": "./dist/main.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"namirasoft-account-client": "^1.5.0",
|
|
32
32
|
"namirasoft-api-link": "^1.5.0",
|
|
33
33
|
"namirasoft-api-product": "^1.5.2",
|
|
34
|
-
"namirasoft-core": "^1.5.
|
|
34
|
+
"namirasoft-core": "^1.5.7",
|
|
35
35
|
"namirasoft-field": "^1.5.10",
|
|
36
36
|
"namirasoft-history": "^1.5.1",
|
|
37
37
|
"namirasoft-message": "^1.5.1",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"namirasoft-schema": "^1.5.0",
|
|
40
40
|
"namirasoft-secret": "^1.5.1",
|
|
41
41
|
"namirasoft-site-map": "^1.5.1",
|
|
42
|
-
"namirasoft-site-react": "^1.5.
|
|
42
|
+
"namirasoft-site-react": "^1.5.31",
|
|
43
43
|
"namirasoft-workspace": "^1.5.1",
|
|
44
44
|
"os-browserify": "^0.3.0",
|
|
45
45
|
"path-browserify": "^1.0.1",
|
|
@@ -38,20 +38,11 @@ export class FieldCacheService extends Component<FieldCacheServiceProps, FieldCa
|
|
|
38
38
|
{
|
|
39
39
|
let REACT_APP_BASE_URL_FIELD = new EnvService("REACT_APP_BASE_URL_FIELD", true).getString();
|
|
40
40
|
let server = new NamirasoftFieldServer(REACT_APP_BASE_URL_FIELD, token_manager, onError);
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
try
|
|
49
|
-
{
|
|
50
|
-
ans = await server.entity.Resolve(product_id);
|
|
51
|
-
}
|
|
52
|
-
catch (error: any) {}
|
|
53
|
-
|
|
54
|
-
return ans;
|
|
41
|
+
// A failed resolve is deliberately not swallowed here: returning the empty
|
|
42
|
+
// fallback would cache "this product has no fields" under the current version,
|
|
43
|
+
// and every page would then render without fields until the cache expires.
|
|
44
|
+
// The caller falls back to the empty set for this page load only.
|
|
45
|
+
return await server.entity.Resolve(product_id);
|
|
55
46
|
}
|
|
56
47
|
);
|
|
57
48
|
|
|
@@ -77,12 +68,25 @@ export class FieldCacheService extends Component<FieldCacheServiceProps, FieldCa
|
|
|
77
68
|
};
|
|
78
69
|
|
|
79
70
|
}
|
|
71
|
+
private static getEmpty(): EntityResolveResponseRow
|
|
72
|
+
{
|
|
73
|
+
return {
|
|
74
|
+
slots: [],
|
|
75
|
+
category_scopes: [],
|
|
76
|
+
categories: [],
|
|
77
|
+
fields: [],
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
80
|
override componentDidMount(): void
|
|
81
81
|
{
|
|
82
82
|
let cache = FieldCacheService.get(this.props.account.token_manager, this.props.product_id, this.props.notifier.onError);
|
|
83
83
|
cache.get().then(rows =>
|
|
84
84
|
{
|
|
85
85
|
this.setState(prev => ({ ...prev, rows }));
|
|
86
|
+
}).catch(() =>
|
|
87
|
+
{
|
|
88
|
+
// Nothing was cached, so the next page load retries; render the app meanwhile.
|
|
89
|
+
this.setState(prev => ({ ...prev, rows: FieldCacheService.getEmpty() }));
|
|
86
90
|
});
|
|
87
91
|
}
|
|
88
92
|
override render(): ReactNode
|