ngx-techlify-core 14.2.0 → 14.3.0
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/esm2020/lib/base-model/techlify-service.class.mjs +20 -19
- package/esm2020/lib/request-helper/request-helper.service.mjs +2 -3
- package/fesm2015/ngx-techlify-core.mjs +33 -34
- package/fesm2015/ngx-techlify-core.mjs.map +1 -1
- package/fesm2020/ngx-techlify-core.mjs +33 -34
- package/fesm2020/ngx-techlify-core.mjs.map +1 -1
- package/lib/base-model/techlify-service.class.d.ts +16 -14
- package/lib/base-model/techlify-service.class.d.ts.map +1 -1
- package/lib/request-helper/request-helper.service.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Interface used to ensure we have a consistent structure across our listing pages
|
|
3
3
|
*
|
|
4
|
-
* @todo This should be moved to ngx-techlify-core
|
|
5
|
-
*
|
|
6
4
|
* Advantages of this abstract class
|
|
7
5
|
* - Less code, less maintenance, less bugs
|
|
8
6
|
* - more consistent code
|
|
@@ -12,53 +10,56 @@
|
|
|
12
10
|
export class TechlifyServiceBaseClass {
|
|
13
11
|
constructor(http, baseUrl) {
|
|
14
12
|
this.http = http;
|
|
15
|
-
this.baseUrl =
|
|
13
|
+
this.baseUrl = 'you-forgot-to-set-a-base-url';
|
|
16
14
|
this.baseUrl = baseUrl;
|
|
17
15
|
}
|
|
18
16
|
/**
|
|
19
17
|
* Loads a set of the model this service is for
|
|
20
18
|
*
|
|
21
|
-
* @param
|
|
22
|
-
* @
|
|
19
|
+
* @param params Query parameters
|
|
20
|
+
* @return Observable<any>
|
|
23
21
|
*/
|
|
24
|
-
index(
|
|
25
|
-
return this.http.get(`api/${this.baseUrl}`, { params
|
|
22
|
+
index(params) {
|
|
23
|
+
return this.http.get(`api/${this.baseUrl}`, { params });
|
|
26
24
|
}
|
|
27
25
|
/**
|
|
28
26
|
* Add a new record to the database
|
|
29
27
|
*
|
|
30
28
|
* @param model The data of the model to add
|
|
31
|
-
* @
|
|
29
|
+
* @param params Query parameters
|
|
30
|
+
* @return Observable<any>
|
|
32
31
|
*/
|
|
33
|
-
store(model) {
|
|
34
|
-
return this.http.post(`api/${this.baseUrl}`, model)
|
|
32
|
+
store(model, params) {
|
|
33
|
+
return this.http.post(`api/${this.baseUrl}`, model, { params });
|
|
35
34
|
}
|
|
36
35
|
/**
|
|
37
36
|
* Load a single model record, often with all relations and related data
|
|
38
37
|
*
|
|
39
38
|
* @param modelId ID of the model to load
|
|
40
|
-
* @
|
|
39
|
+
* @param params Query parameters
|
|
40
|
+
* @return Observable<any>
|
|
41
41
|
*/
|
|
42
|
-
show(modelId) {
|
|
43
|
-
return this.http.get(`api/${this.baseUrl}/${modelId}
|
|
42
|
+
show(modelId, params) {
|
|
43
|
+
return this.http.get(`api/${this.baseUrl}/${modelId}`, { params });
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
46
|
* Update fields of a single existing model
|
|
47
47
|
*
|
|
48
48
|
* @param model Model to update
|
|
49
|
-
* @
|
|
49
|
+
* @param params Query parameters
|
|
50
|
+
* @return Observable<any>
|
|
50
51
|
*/
|
|
51
|
-
update(model) {
|
|
52
|
-
return this.http.put(`api/${this.baseUrl}/${model.id}`, model)
|
|
52
|
+
update(model, params) {
|
|
53
|
+
return this.http.put(`api/${this.baseUrl}/${model.id}`, model, { params });
|
|
53
54
|
}
|
|
54
55
|
/**
|
|
55
56
|
* Delete a single model
|
|
56
57
|
*
|
|
57
58
|
* @param model Model to delete
|
|
58
|
-
* @
|
|
59
|
+
* @return Observable<any>
|
|
59
60
|
*/
|
|
60
61
|
delete(model) {
|
|
61
|
-
return this.http.delete(`api/${this.baseUrl}/${model.id}`)
|
|
62
|
+
return this.http.delete(`api/${this.baseUrl}/${model.id}`);
|
|
62
63
|
}
|
|
63
64
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVjaGxpZnktc2VydmljZS5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYmFzZS1tb2RlbC90ZWNobGlmeS1zZXJ2aWNlLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxZQUFzQixJQUFpQixFQUFFLE9BQWU7UUFBbEMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUY3QixZQUFPLEdBQUcsOEJBQThCLENBQUM7UUFHakQsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLE1BQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxLQUFVLEVBQUUsTUFBWTtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILElBQUksQ0FBQyxPQUFZLEVBQUUsTUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxLQUFVLEVBQUUsTUFBWTtRQUM3QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxNQUFNLENBQUMsS0FBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzdELENBQUM7Q0FHRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcblxyXG4vKipcclxuICogSW50ZXJmYWNlIHVzZWQgdG8gZW5zdXJlIHdlIGhhdmUgYSBjb25zaXN0ZW50IHN0cnVjdHVyZSBhY3Jvc3Mgb3VyIGxpc3RpbmcgcGFnZXNcclxuICpcclxuICogQWR2YW50YWdlcyBvZiB0aGlzIGFic3RyYWN0IGNsYXNzXHJcbiAqIC0gTGVzcyBjb2RlLCBsZXNzIG1haW50ZW5hbmNlLCBsZXNzIGJ1Z3NcclxuICogLSBtb3JlIGNvbnNpc3RlbnQgY29kZVxyXG4gKiAtIGNvbW1lbnRzIG9uIG1vcmUgY29kZVxyXG4gKiAtIHNhdmUgdGltZSwgc2F2ZSBlbmVyZ3lcclxuICovXHJcbmV4cG9ydCBjbGFzcyBUZWNobGlmeVNlcnZpY2VCYXNlQ2xhc3Mge1xyXG5cclxuICBwcm90ZWN0ZWQgYmFzZVVybCA9ICd5b3UtZm9yZ290LXRvLXNldC1hLWJhc2UtdXJsJztcclxuXHJcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIGh0dHA6IEh0dHBTZXJ2aWNlLCBiYXNlVXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBMb2FkcyBhIHNldCBvZiB0aGUgbW9kZWwgdGhpcyBzZXJ2aWNlIGlzIGZvclxyXG4gICAqXHJcbiAgICogQHBhcmFtIHBhcmFtcyBRdWVyeSBwYXJhbWV0ZXJzXHJcbiAgICogQHJldHVybiBPYnNlcnZhYmxlPGFueT5cclxuICAgKi9cclxuICBpbmRleChwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFwaS8ke3RoaXMuYmFzZVVybH1gLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFkZCBhIG5ldyByZWNvcmQgdG8gdGhlIGRhdGFiYXNlXHJcbiAgICpcclxuICAgKiBAcGFyYW0gbW9kZWwgVGhlIGRhdGEgb2YgdGhlIG1vZGVsIHRvIGFkZFxyXG4gICAqIEBwYXJhbSBwYXJhbXMgUXVlcnkgcGFyYW1ldGVyc1xyXG4gICAqIEByZXR1cm4gT2JzZXJ2YWJsZTxhbnk+XHJcbiAgICovXHJcbiAgc3RvcmUobW9kZWw6IGFueSwgcGFyYW1zPzogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgYXBpLyR7dGhpcy5iYXNlVXJsfWAsIG1vZGVsLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIExvYWQgYSBzaW5nbGUgbW9kZWwgcmVjb3JkLCBvZnRlbiB3aXRoIGFsbCByZWxhdGlvbnMgYW5kIHJlbGF0ZWQgZGF0YVxyXG4gICAqXHJcbiAgICogQHBhcmFtIG1vZGVsSWQgSUQgb2YgdGhlIG1vZGVsIHRvIGxvYWRcclxuICAgKiBAcGFyYW0gcGFyYW1zIFF1ZXJ5IHBhcmFtZXRlcnNcclxuICAgKiBAcmV0dXJuIE9ic2VydmFibGU8YW55PlxyXG4gICAqL1xyXG4gIHNob3cobW9kZWxJZDogYW55LCBwYXJhbXM/OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGFwaS8ke3RoaXMuYmFzZVVybH0vJHttb2RlbElkfWAsIHsgcGFyYW1zIH0pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIGZpZWxkcyBvZiBhIHNpbmdsZSBleGlzdGluZyBtb2RlbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIG1vZGVsIE1vZGVsIHRvIHVwZGF0ZVxyXG4gICAqIEBwYXJhbSBwYXJhbXMgUXVlcnkgcGFyYW1ldGVyc1xyXG4gICAqIEByZXR1cm4gT2JzZXJ2YWJsZTxhbnk+XHJcbiAgICovXHJcbiAgdXBkYXRlKG1vZGVsOiBhbnksIHBhcmFtcz86IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgYXBpLyR7dGhpcy5iYXNlVXJsfS8ke21vZGVsLmlkfWAsIG1vZGVsLCB7IHBhcmFtcyB9KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIERlbGV0ZSBhIHNpbmdsZSBtb2RlbFxyXG4gICAqXHJcbiAgICogQHBhcmFtIG1vZGVsIE1vZGVsIHRvIGRlbGV0ZVxyXG4gICAqIEByZXR1cm4gT2JzZXJ2YWJsZTxhbnk+XHJcbiAgICovXHJcbiAgZGVsZXRlKG1vZGVsOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYGFwaS8ke3RoaXMuYmFzZVVybH0vJHttb2RlbC5pZH1gKTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/* tslint:disable:radix */
|
|
2
2
|
import { Injectable } from '@angular/core';
|
|
3
|
-
import
|
|
3
|
+
import moment from 'moment';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "@angular/router";
|
|
6
|
-
// import {isNumeric} from 'rxjs/internal-compatibility';
|
|
7
6
|
export class RequestHelperService {
|
|
8
7
|
constructor(router, activatedRoute) {
|
|
9
8
|
this.router = router;
|
|
@@ -103,4 +102,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
103
102
|
providedIn: 'root'
|
|
104
103
|
}]
|
|
105
104
|
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }]; } });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1oZWxwZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvcmVxdWVzdC1oZWxwZXIvcmVxdWVzdC1oZWxwZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwwQkFBMEI7QUFDMUIsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7OztBQU81QixNQUFNLE9BQU8sb0JBQW9CO0lBRS9CLFlBQ1UsTUFBYyxFQUNkLGNBQThCO1FBRDlCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCxtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7SUFDcEMsQ0FBQztJQUVMOzs7O09BSUc7SUFDSCx5QkFBeUIsQ0FBQyxTQUEyQixFQUFFLFVBQWU7UUFDcEUsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQzdELEtBQUssTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRTtZQUNwQyxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztnQkFDL0QsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsRUFBRTtnQkFDeEQsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQzthQUMxRztTQUNGO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxp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QXBCLG9CQUFvQixjQUZuQixNQUFNOzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZTpyYWRpeCAqL1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QWN0aXZhdGVkUm91dGUsIFJvdXRlcn0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQge1VudHlwZWRGb3JtR3JvdXB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSZXF1ZXN0SGVscGVyU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHByaXZhdGUgYWN0aXZhdGVkUm91dGU6IEFjdGl2YXRlZFJvdXRlXHJcbiAgKSB7IH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIHRoZSBmb3JtIHZhbHVlcyBmcm9tIHRoZSBVUkwgcXVlcnkgcGFyYW1zLlxyXG4gICAqIEBwYXJhbSBmb3JtR3JvdXAgRm9ybUdyb3VwXHJcbiAgICogQHBhcmFtIGZvcm1Db25maWcgRm9ybUNvbmZpZ1xyXG4gICAqL1xyXG4gIHVwZGF0ZUZvcm1XaXRoUXVlcnlQYXJhbXMoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwLCBmb3JtQ29uZmlnOiBhbnkpOiB2b2lkIHtcclxuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtcztcclxuICAgIGZvciAoY29uc3Qga2V5IGluIGZvcm1Hcm91cC5jb250cm9scykge1xyXG4gICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGZvcm1Hcm91cC5jb250cm9scywga2V5KSAmJlxyXG4gICAgICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChxdWVyeVBhcmFtcywga2V5KSkge1xyXG4gICAgICAgIGZvcm1Hcm91cC5nZXQoa2V5KS5wYXRjaFZhbHVlKHRoaXMuZm9ybWF0VmFsdWUocXVlcnlQYXJhbXNba2V5XSwgZm9ybUNvbmZpZ1trZXldKSwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBDb252ZXJ0IHRoZSBvYmplY3QgdG8gZm9ybSBkYXRhIGZvciB0aGUgcmVxdWVzdC5cclxuICAgKiBAcGFyYW0gZGF0YSBEYXRhIE9iamVjdFxyXG4gICAqIEByZXR1cm4gT2JqZWN0XHJcbiAgICovXHJcbiAgY29udmVydFRvRm9ybURhdGEoZGF0YTogYW55KTogYW55IHtcclxuICAgIGNvbnN0IG5ld0RhdGEgPSB7fTtcclxuICAgIGZvciAoY29uc3QgcHJvcCBpbiBkYXRhKSB7XHJcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZGF0YSwgcHJvcCkpIHtcclxuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhW3Byb3BdKSkge1xyXG4gICAgICAgICAgLy8gY29udmVydCBhcnJheSB0byBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nXHJcbiAgICAgICAgICBuZXdEYXRhW3Byb3BdID0gKGRhdGFbcHJvcF0gYXMgW10pLmpvaW4oJywnKTtcclxuICAgICAgICB9IGVsc2UgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKE51bWJlci5wYXJzZUludChkYXRhW3Byb3BdKSkgJiYgIWlzTmFOKERhdGUucGFyc2UoZGF0YVtwcm9wXSkpKSB7XHJcbiAgICAgICAgICAvLyBjaGVjayBpZiB2YWx1ZSBpcyBkYXRlIGFuZCBub3QgYSBudW1iZXJcclxuICAgICAgICAgIGNvbnN0IGRhdGUgID0gbW9tZW50KGRhdGFbcHJvcF0pLnRvSVNPU3RyaW5nKCk7XHJcbiAgICAgICAgICBuZXdEYXRhW3Byb3BdID0gbW9tZW50KGRhdGUpLmZvcm1hdCgnWS1NTS1ERCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBuZXdEYXRhW3Byb3BdID0gZGF0YVtwcm9wXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBuZXdEYXRhO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogVXBkYXRlIFVSTCB3aXRoIHRoZSBmaWx0ZXJzLlxyXG4gICAqIEBwYXJhbSBxdWVyeVBhcmFtcyBRdWVyeSBQYXJhbXNcclxuICAgKiBAcmV0dXJuIFByb21pc2VcclxuICAgKi9cclxuICB1cGRhdGVRdWVyeVBhcmFtcyhxdWVyeVBhcmFtczogYW55KTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICByZXR1cm4gdGhpcy5yb3V0ZXIubmF2aWdhdGUoXHJcbiAgICAgIFtdLFxyXG4gICAgICB7XHJcbiAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5hY3RpdmF0ZWRSb3V0ZSxcclxuICAgICAgICBxdWVyeVBhcmFtcyxcclxuICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnXHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGb3JtYXQgdmFsdWUuXHJcbiAgICogQGRlc2NyaXB0aW9uIENvbnZlcnQgdGhlIGNvbW1hIHNlcGFyYXRlZCB2YWx1ZXMgdG8gYXJyYXkgaWYgaXQgaXMgbXVsdGlwbGUgc2VsZWN0YWJsZS5cclxuICAgKiBAcGFyYW0gdmFsdWUgVmFsdWUgdG8gYmUgY29udmVydGVkXHJcbiAgICogQHBhcmFtIGZvcm1Hcm91cEVsZW1lbnQgRm9ybSBncm91cCBlbGVtZW50XHJcbiAgICovXHJcbiAgZm9ybWF0VmFsdWUodmFsdWU6IHN0cmluZywgZm9ybUdyb3VwRWxlbWVudDogYW55KTogc3RyaW5nIHwgbnVtYmVyW10gfCBudW1iZXIgfCBib29sZWFuIHtcclxuICAgIGlmICh2YWx1ZSAmJiBmb3JtR3JvdXBFbGVtZW50Py5tdWx0aXBsZSAmJiBmb3JtR3JvdXBFbGVtZW50Py5tdWx0aXBsZSA9PT0gdHJ1ZSApIHtcclxuICAgICAgY29uc3QgYXJyYXkgPSB2YWx1ZT8uc3BsaXQoJywnKTtcclxuICAgICAgcmV0dXJuIGFycmF5Lm1hcCgodmFsOiBhbnkpID0+IHRoaXMuaXNOdW1lcmljKHZhbCkgPyBOdW1iZXIucGFyc2VJbnQodmFsKSA6IHZhbCk7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmIGZvcm1Hcm91cEVsZW1lbnQ/Lm51bWJlciAmJiBmb3JtR3JvdXBFbGVtZW50Py5udW1iZXIgPT09IHRydWUpIHtcclxuICAgICAgcmV0dXJuIE51bWJlci5wYXJzZUludCh2YWx1ZSk7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlICYmIGZvcm1Hcm91cEVsZW1lbnQ/LmJvb2xlYW4pIHtcclxuICAgICAgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb24gQ2hlY2tzIHZhbHVlIHRvIGRlcnRtaW5lIGlmIHRoZSBnaXZlbiB2YWx1ZSBpcyBhIG51bWJlclxyXG4gICAqIEBwYXJhbSB2YWx1ZSBWYWx1ZSB0byBiZSBDaGVja2VkXHJcbiAgICovXHJcbiAgaXNOdW1lcmljKHN0cjpzdHJpbmcpOmJvb2xlYW4ge1xyXG4gICAgaWYgKHR5cGVvZiBzdHIgIT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoc3RyLnRyaW0oKSA9PT0gJycpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAhTnVtYmVyLmlzTmFOKE51bWJlcihzdHIpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4iXX0=
|
|
@@ -55,7 +55,7 @@ import * as i11 from '@angular/material/progress-spinner';
|
|
|
55
55
|
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
56
56
|
import * as i1$5 from '@angular/material/select';
|
|
57
57
|
import { MatSelectModule } from '@angular/material/select';
|
|
58
|
-
import moment
|
|
58
|
+
import moment from 'moment';
|
|
59
59
|
import * as i9$1 from '@angular/material/datepicker';
|
|
60
60
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
61
61
|
import * as i1$6 from '@angular/router';
|
|
@@ -74,7 +74,6 @@ import * as i3$2 from '@angular/platform-browser';
|
|
|
74
74
|
import * as jsondiffpatch from 'jsondiffpatch';
|
|
75
75
|
import * as i2$1 from '@angular/material/slide-toggle';
|
|
76
76
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
77
|
-
import * as moment from 'moment/moment';
|
|
78
77
|
|
|
79
78
|
class ActionPopup {
|
|
80
79
|
}
|
|
@@ -203,8 +202,6 @@ class TechlifyListingControllerInterface {
|
|
|
203
202
|
/**
|
|
204
203
|
* Interface used to ensure we have a consistent structure across our listing pages
|
|
205
204
|
*
|
|
206
|
-
* @todo This should be moved to ngx-techlify-core
|
|
207
|
-
*
|
|
208
205
|
* Advantages of this abstract class
|
|
209
206
|
* - Less code, less maintenance, less bugs
|
|
210
207
|
* - more consistent code
|
|
@@ -214,53 +211,56 @@ class TechlifyListingControllerInterface {
|
|
|
214
211
|
class TechlifyServiceBaseClass {
|
|
215
212
|
constructor(http, baseUrl) {
|
|
216
213
|
this.http = http;
|
|
217
|
-
this.baseUrl =
|
|
214
|
+
this.baseUrl = 'you-forgot-to-set-a-base-url';
|
|
218
215
|
this.baseUrl = baseUrl;
|
|
219
216
|
}
|
|
220
217
|
/**
|
|
221
218
|
* Loads a set of the model this service is for
|
|
222
219
|
*
|
|
223
|
-
* @param
|
|
224
|
-
* @
|
|
220
|
+
* @param params Query parameters
|
|
221
|
+
* @return Observable<any>
|
|
225
222
|
*/
|
|
226
|
-
index(
|
|
227
|
-
return this.http.get(`api/${this.baseUrl}`, { params
|
|
223
|
+
index(params) {
|
|
224
|
+
return this.http.get(`api/${this.baseUrl}`, { params });
|
|
228
225
|
}
|
|
229
226
|
/**
|
|
230
227
|
* Add a new record to the database
|
|
231
228
|
*
|
|
232
229
|
* @param model The data of the model to add
|
|
233
|
-
* @
|
|
230
|
+
* @param params Query parameters
|
|
231
|
+
* @return Observable<any>
|
|
234
232
|
*/
|
|
235
|
-
store(model) {
|
|
236
|
-
return this.http.post(`api/${this.baseUrl}`, model)
|
|
233
|
+
store(model, params) {
|
|
234
|
+
return this.http.post(`api/${this.baseUrl}`, model, { params });
|
|
237
235
|
}
|
|
238
236
|
/**
|
|
239
237
|
* Load a single model record, often with all relations and related data
|
|
240
238
|
*
|
|
241
239
|
* @param modelId ID of the model to load
|
|
242
|
-
* @
|
|
240
|
+
* @param params Query parameters
|
|
241
|
+
* @return Observable<any>
|
|
243
242
|
*/
|
|
244
|
-
show(modelId) {
|
|
245
|
-
return this.http.get(`api/${this.baseUrl}/${modelId}
|
|
243
|
+
show(modelId, params) {
|
|
244
|
+
return this.http.get(`api/${this.baseUrl}/${modelId}`, { params });
|
|
246
245
|
}
|
|
247
246
|
/**
|
|
248
247
|
* Update fields of a single existing model
|
|
249
248
|
*
|
|
250
249
|
* @param model Model to update
|
|
251
|
-
* @
|
|
250
|
+
* @param params Query parameters
|
|
251
|
+
* @return Observable<any>
|
|
252
252
|
*/
|
|
253
|
-
update(model) {
|
|
254
|
-
return this.http.put(`api/${this.baseUrl}/${model.id}`, model)
|
|
253
|
+
update(model, params) {
|
|
254
|
+
return this.http.put(`api/${this.baseUrl}/${model.id}`, model, { params });
|
|
255
255
|
}
|
|
256
256
|
/**
|
|
257
257
|
* Delete a single model
|
|
258
258
|
*
|
|
259
259
|
* @param model Model to delete
|
|
260
|
-
* @
|
|
260
|
+
* @return Observable<any>
|
|
261
261
|
*/
|
|
262
262
|
delete(model) {
|
|
263
|
-
return this.http.delete(`api/${this.baseUrl}/${model.id}`)
|
|
263
|
+
return this.http.delete(`api/${this.baseUrl}/${model.id}`);
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
|
|
@@ -3019,79 +3019,79 @@ function calculateTimeline(value) {
|
|
|
3019
3019
|
break;
|
|
3020
3020
|
}
|
|
3021
3021
|
case Timeline.TODAY: { // Today
|
|
3022
|
-
const now = moment
|
|
3022
|
+
const now = moment();
|
|
3023
3023
|
data.date_from = now.startOf('day').toISOString();
|
|
3024
3024
|
data.date_to = now.endOf('day').toISOString();
|
|
3025
3025
|
break;
|
|
3026
3026
|
}
|
|
3027
3027
|
case Timeline.YESTERDAY: { // Yesterday
|
|
3028
|
-
const now = moment
|
|
3028
|
+
const now = moment().subtract(1, 'day');
|
|
3029
3029
|
data.date_from = now.startOf('day').toISOString();
|
|
3030
3030
|
data.date_to = now.endOf('day').toISOString();
|
|
3031
3031
|
break;
|
|
3032
3032
|
}
|
|
3033
3033
|
case Timeline.THIS_WEEK: { // This Week
|
|
3034
|
-
const now = moment
|
|
3034
|
+
const now = moment();
|
|
3035
3035
|
data.date_from = now.startOf('isoWeek').toISOString();
|
|
3036
3036
|
data.date_to = now.endOf('isoWeek').toISOString();
|
|
3037
3037
|
break;
|
|
3038
3038
|
}
|
|
3039
3039
|
case Timeline.LAST_WEEK: { // Last Week
|
|
3040
|
-
const now = moment
|
|
3040
|
+
const now = moment().subtract(1, 'week');
|
|
3041
3041
|
data.date_from = now.startOf('isoWeek').toISOString();
|
|
3042
3042
|
data.date_to = now.endOf('isoWeek').toISOString();
|
|
3043
3043
|
break;
|
|
3044
3044
|
}
|
|
3045
3045
|
case Timeline.THIS_MONTH: { // This Month
|
|
3046
|
-
const now = moment
|
|
3046
|
+
const now = moment();
|
|
3047
3047
|
data.date_from = now.startOf('month').toISOString();
|
|
3048
3048
|
data.date_to = now.endOf('month').toISOString();
|
|
3049
3049
|
break;
|
|
3050
3050
|
}
|
|
3051
3051
|
case Timeline.LAST_MONTH: { // Last Month
|
|
3052
|
-
const now = moment
|
|
3052
|
+
const now = moment().subtract(1, 'month');
|
|
3053
3053
|
data.date_from = now.startOf('month').toISOString();
|
|
3054
3054
|
data.date_to = now.endOf('month').toISOString();
|
|
3055
3055
|
break;
|
|
3056
3056
|
}
|
|
3057
3057
|
case Timeline.THIS_QUARTER: { // This Quarter
|
|
3058
|
-
const now = moment
|
|
3058
|
+
const now = moment();
|
|
3059
3059
|
data.date_from = now.startOf('quarter').toISOString();
|
|
3060
3060
|
data.date_to = now.endOf('quarter').toISOString();
|
|
3061
3061
|
break;
|
|
3062
3062
|
}
|
|
3063
3063
|
case Timeline.LAST_QUARTER: { // Last Quarter
|
|
3064
|
-
const now = moment
|
|
3064
|
+
const now = moment().subtract(1, 'quarter');
|
|
3065
3065
|
data.date_from = now.startOf('quarter').toISOString();
|
|
3066
3066
|
data.date_to = now.endOf('quarter').toISOString();
|
|
3067
3067
|
break;
|
|
3068
3068
|
}
|
|
3069
3069
|
case Timeline.THIS_YEAR: { // This Year
|
|
3070
|
-
const now = moment
|
|
3070
|
+
const now = moment();
|
|
3071
3071
|
data.date_from = now.startOf('year').toISOString();
|
|
3072
3072
|
data.date_to = now.endOf('year').toISOString();
|
|
3073
3073
|
break;
|
|
3074
3074
|
}
|
|
3075
3075
|
case Timeline.LAST_YEAR: { // Last Year
|
|
3076
|
-
const now = moment
|
|
3076
|
+
const now = moment().subtract(1, 'year');
|
|
3077
3077
|
data.date_from = now.startOf('year').toISOString();
|
|
3078
3078
|
data.date_to = now.endOf('year').toISOString();
|
|
3079
3079
|
break;
|
|
3080
3080
|
}
|
|
3081
3081
|
case Timeline.TOMMOROW: {
|
|
3082
|
-
const now = moment
|
|
3082
|
+
const now = moment().add(1, 'day');
|
|
3083
3083
|
data.date_from = now.startOf('day').toISOString();
|
|
3084
3084
|
data.date_to = now.endOf('day').toISOString();
|
|
3085
3085
|
break;
|
|
3086
3086
|
}
|
|
3087
3087
|
case Timeline.NEXT_WEEK: {
|
|
3088
|
-
const now = moment
|
|
3088
|
+
const now = moment().add(1, 'week');
|
|
3089
3089
|
data.date_from = now.startOf('isoWeek').toISOString();
|
|
3090
3090
|
data.date_to = now.endOf('isoWeek').toISOString();
|
|
3091
3091
|
break;
|
|
3092
3092
|
}
|
|
3093
3093
|
case Timeline.NEXT_MONTH: {
|
|
3094
|
-
const now = moment
|
|
3094
|
+
const now = moment().add(1, 'month');
|
|
3095
3095
|
data.date_from = now.startOf('month').toISOString();
|
|
3096
3096
|
data.date_to = now.endOf('month').toISOString();
|
|
3097
3097
|
break;
|
|
@@ -7777,7 +7777,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
7777
7777
|
}] });
|
|
7778
7778
|
|
|
7779
7779
|
/* tslint:disable:radix */
|
|
7780
|
-
// import {isNumeric} from 'rxjs/internal-compatibility';
|
|
7781
7780
|
class RequestHelperService {
|
|
7782
7781
|
constructor(router, activatedRoute) {
|
|
7783
7782
|
this.router = router;
|