@servicetitan/marketing-ui 0.5.0 → 0.8.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/dist/components/image-cropper/image-cropper.d.ts +23 -0
- package/dist/components/image-cropper/image-cropper.d.ts.map +1 -0
- package/dist/components/image-cropper/image-cropper.js +146 -0
- package/dist/components/image-cropper/image-cropper.js.map +1 -0
- package/dist/components/image-cropper/image-cropper.stories.d.ts +10 -0
- package/dist/components/image-cropper/image-cropper.stories.d.ts.map +1 -0
- package/dist/components/image-cropper/image-cropper.stories.js +55 -0
- package/dist/components/image-cropper/image-cropper.stories.js.map +1 -0
- package/dist/components/ui/date-range-picker/date-range-picker.d.ts +10 -0
- package/dist/components/ui/date-range-picker/date-range-picker.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/date-range-picker.js +77 -0
- package/dist/components/ui/date-range-picker/date-range-picker.js.map +1 -0
- package/dist/components/ui/date-range-picker/date-range-picker.module.less +42 -0
- package/dist/components/ui/date-range-picker/date-range-picker.stories.d.ts +10 -0
- package/dist/components/ui/date-range-picker/date-range-picker.stories.d.ts.map +1 -0
- package/dist/components/ui/date-range-picker/date-range-picker.stories.js +17 -0
- package/dist/components/ui/date-range-picker/date-range-picker.stories.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/date/__mocks__/date-mock.d.ts +5 -0
- package/dist/utils/date/__mocks__/date-mock.d.ts.map +1 -0
- package/dist/utils/date/__mocks__/date-mock.js +23 -0
- package/dist/utils/date/__mocks__/date-mock.js.map +1 -0
- package/dist/utils/date/date-range-picker-options.d.ts +45 -0
- package/dist/utils/date/date-range-picker-options.d.ts.map +1 -0
- package/dist/utils/date/date-range-picker-options.js +138 -0
- package/dist/utils/date/date-range-picker-options.js.map +1 -0
- package/dist/utils/date/date-range-picker-state.d.ts +24 -0
- package/dist/utils/date/date-range-picker-state.d.ts.map +1 -0
- package/dist/utils/date/date-range-picker-state.js +73 -0
- package/dist/utils/date/date-range-picker-state.js.map +1 -0
- package/dist/utils/date/date-tenant.d.ts +17 -0
- package/dist/utils/date/date-tenant.d.ts.map +1 -0
- package/dist/utils/date/date-tenant.js +51 -0
- package/dist/utils/date/date-tenant.js.map +1 -0
- package/dist/utils/date/date.d.ts +11 -0
- package/dist/utils/date/date.d.ts.map +1 -0
- package/dist/utils/date/date.js +22 -0
- package/dist/utils/date/date.js.map +1 -0
- package/dist/utils/date/index.d.ts +5 -0
- package/dist/utils/date/index.d.ts.map +1 -0
- package/dist/utils/date/index.js +17 -0
- package/dist/utils/date/index.js.map +1 -0
- package/dist/utils/history/history.d.ts +9 -3
- package/dist/utils/history/history.d.ts.map +1 -1
- package/dist/utils/history/history.js +9 -7
- package/dist/utils/history/history.js.map +1 -1
- package/dist/utils/history/index.d.ts +1 -0
- package/dist/utils/history/index.d.ts.map +1 -1
- package/dist/utils/history/index.js +1 -0
- package/dist/utils/history/index.js.map +1 -1
- package/dist/utils/history/query-params-handler.d.ts +1 -0
- package/dist/utils/history/query-params-handler.d.ts.map +1 -1
- package/dist/utils/history/query-params-handler.js +3 -0
- package/dist/utils/history/query-params-handler.js.map +1 -1
- package/dist/utils/history/url-params-handler.d.ts +18 -0
- package/dist/utils/history/url-params-handler.d.ts.map +1 -0
- package/dist/utils/history/url-params-handler.js +64 -0
- package/dist/utils/history/url-params-handler.js.map +1 -0
- package/dist/utils/history/use-query-params.d.ts.map +1 -1
- package/dist/utils/history/use-query-params.js +5 -3
- package/dist/utils/history/use-query-params.js.map +1 -1
- package/dist/utils/history/use-url-params.d.ts +5 -5
- package/dist/utils/history/use-url-params.d.ts.map +1 -1
- package/dist/utils/history/use-url-params.js +4 -19
- package/dist/utils/history/use-url-params.js.map +1 -1
- package/dist/utils/{use-init-effect.d.ts → invariable-hooks.d.ts} +6 -1
- package/dist/utils/invariable-hooks.d.ts.map +1 -0
- package/dist/utils/{use-init-effect.js → invariable-hooks.js} +11 -2
- package/dist/utils/invariable-hooks.js.map +1 -0
- package/dist/utils/param-parsers.d.ts +2 -1
- package/dist/utils/param-parsers.d.ts.map +1 -1
- package/dist/utils/param-parsers.js +21 -1
- package/dist/utils/param-parsers.js.map +1 -1
- package/package.json +5 -3
- package/src/components/image-cropper/image-cropper.stories.tsx +69 -0
- package/src/components/image-cropper/image-cropper.tsx +108 -0
- package/src/components/ui/date-range-picker/date-range-picker.module.less +42 -0
- package/src/components/ui/date-range-picker/date-range-picker.module.less.d.ts +4 -0
- package/src/components/ui/date-range-picker/date-range-picker.stories.tsx +22 -0
- package/src/components/ui/date-range-picker/date-range-picker.tsx +118 -0
- package/src/index.ts +2 -1
- package/src/utils/__tests__/param-parsers.test.ts +11 -2
- package/src/utils/date/__mocks__/date-mock.ts +23 -0
- package/src/utils/date/__tests__/date-range-picker.test.ts +139 -0
- package/src/utils/date/__tests__/date-tenant.test.ts +38 -0
- package/src/utils/date/date-range-picker-options.ts +167 -0
- package/src/utils/date/date-range-picker-state.ts +62 -0
- package/src/utils/date/date-tenant.ts +49 -0
- package/src/utils/date/date.ts +29 -0
- package/src/utils/date/index.ts +4 -0
- package/src/utils/history/__tests__/history.test.ts +9 -2
- package/src/utils/history/__tests__/url-params-handler.test.ts +32 -0
- package/src/utils/history/__tests__/use-url-params.test.ts +2 -1
- package/src/utils/history/history.ts +27 -10
- package/src/utils/history/index.ts +1 -0
- package/src/utils/history/query-params-handler.ts +4 -0
- package/src/utils/history/url-params-handler.ts +65 -0
- package/src/utils/history/use-query-params.ts +5 -3
- package/src/utils/history/use-url-params.ts +7 -32
- package/src/utils/{use-init-effect.ts → invariable-hooks.ts} +10 -1
- package/src/utils/param-parsers.ts +26 -1
- package/dist/utils/use-init-effect.d.ts.map +0 -1
- package/dist/utils/use-init-effect.js.map +0 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DateRangePickerOptionsTenantAds = exports.DateRangePickerOptions = void 0;
|
|
4
|
+
const date_tenant_1 = require("./date-tenant");
|
|
5
|
+
const date_1 = require("./date");
|
|
6
|
+
/**
|
|
7
|
+
* base class for predefined date range options
|
|
8
|
+
*
|
|
9
|
+
* @note start date is inclusive and end date is exclusive for each option
|
|
10
|
+
*/
|
|
11
|
+
class DateRangePickerOptions {
|
|
12
|
+
constructor() {
|
|
13
|
+
Object.defineProperty(this, "options", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true,
|
|
17
|
+
value: []
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(this, "defaultOption", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
configurable: true,
|
|
22
|
+
writable: true,
|
|
23
|
+
value: void 0
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
get keys() {
|
|
27
|
+
return this.options.map(o => o.key);
|
|
28
|
+
}
|
|
29
|
+
findOption(arg) {
|
|
30
|
+
if (!arg) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
if (typeof arg === 'string') {
|
|
34
|
+
return this.options.find(o => o.key === arg);
|
|
35
|
+
}
|
|
36
|
+
for (const opt of this.options) {
|
|
37
|
+
if (date_1.dateRangesEqual(arg, opt.value)) {
|
|
38
|
+
return opt;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
getComparisonDateRange(_range) {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.DateRangePickerOptions = DateRangePickerOptions;
|
|
48
|
+
const subtractDays = (dt, days) => new Date(dt.getTime() - days * 86400000);
|
|
49
|
+
/**
|
|
50
|
+
* options wrapper in tenant timezone that is used in ads. it contain following options:
|
|
51
|
+
* Today
|
|
52
|
+
* Yesterday
|
|
53
|
+
* Last 7 Days
|
|
54
|
+
* Last 30 Days
|
|
55
|
+
* Current Month
|
|
56
|
+
* Last Month
|
|
57
|
+
* Last 90 Days
|
|
58
|
+
* Current Year
|
|
59
|
+
*/
|
|
60
|
+
class DateRangePickerOptionsTenantAds extends DateRangePickerOptions {
|
|
61
|
+
constructor(tz, defaultOption = 'last30') {
|
|
62
|
+
super();
|
|
63
|
+
Object.defineProperty(this, "options", {
|
|
64
|
+
enumerable: true,
|
|
65
|
+
configurable: true,
|
|
66
|
+
writable: true,
|
|
67
|
+
value: void 0
|
|
68
|
+
});
|
|
69
|
+
Object.defineProperty(this, "getComparisonDateRange", {
|
|
70
|
+
enumerable: true,
|
|
71
|
+
configurable: true,
|
|
72
|
+
writable: true,
|
|
73
|
+
value: (range) => {
|
|
74
|
+
const option = this.findOption(range);
|
|
75
|
+
switch (option === null || option === void 0 ? void 0 : option.key) {
|
|
76
|
+
case 'currentMonth':
|
|
77
|
+
case 'lastMonth':
|
|
78
|
+
return {
|
|
79
|
+
start: new Date(range.start.getFullYear(), range.start.getMonth() - 1, 1),
|
|
80
|
+
end: range.start,
|
|
81
|
+
};
|
|
82
|
+
case 'currentYear':
|
|
83
|
+
return {
|
|
84
|
+
start: new Date(range.start.getFullYear() - 1, 0, 1),
|
|
85
|
+
end: range.start,
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return date_1.getComparisonDateRange(range);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
const todayTenant = date_tenant_1.TenantDate.tenantDateFromLocal(tz.UtcOffset);
|
|
92
|
+
const tomTenant = new Date(todayTenant.getFullYear(), todayTenant.getMonth(), todayTenant.getDate() + 1);
|
|
93
|
+
const yestTenant = new Date(todayTenant.getFullYear(), todayTenant.getMonth(), todayTenant.getDate() - 1);
|
|
94
|
+
const monTenant = new Date(todayTenant.getFullYear(), todayTenant.getMonth(), 1);
|
|
95
|
+
const lastMonTenant = new Date(todayTenant.getFullYear(), todayTenant.getMonth() - 1, 1);
|
|
96
|
+
const yearTenant = new Date(todayTenant.getFullYear(), 0, 1);
|
|
97
|
+
this.options = [
|
|
98
|
+
{ key: 'today', value: { start: todayTenant, end: tomTenant }, text: 'Today' },
|
|
99
|
+
{ key: 'yesterday', value: { start: yestTenant, end: todayTenant }, text: 'Yesterday' },
|
|
100
|
+
{
|
|
101
|
+
key: 'last7',
|
|
102
|
+
value: { start: subtractDays(todayTenant, 6), end: tomTenant },
|
|
103
|
+
text: 'Last 7 Days',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
key: 'last30',
|
|
107
|
+
value: { start: subtractDays(todayTenant, 29), end: tomTenant },
|
|
108
|
+
text: 'Last 30 Days',
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
key: 'currentMonth',
|
|
112
|
+
value: { start: monTenant, end: tomTenant },
|
|
113
|
+
text: 'Current Month',
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
key: 'lastMonth',
|
|
117
|
+
value: { start: lastMonTenant, end: monTenant },
|
|
118
|
+
text: 'Last Month',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
key: 'last90',
|
|
122
|
+
value: { start: subtractDays(todayTenant, 89), end: tomTenant },
|
|
123
|
+
text: 'Last 90 Days',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
key: 'currentYear',
|
|
127
|
+
value: { start: yearTenant, end: tomTenant },
|
|
128
|
+
text: 'Current Year',
|
|
129
|
+
},
|
|
130
|
+
];
|
|
131
|
+
this.defaultOption = defaultOption;
|
|
132
|
+
}
|
|
133
|
+
static create(tz, defaultOption) {
|
|
134
|
+
return new DateRangePickerOptionsTenantAds(tz, defaultOption);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
exports.DateRangePickerOptionsTenantAds = DateRangePickerOptionsTenantAds;
|
|
138
|
+
//# sourceMappingURL=date-range-picker-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-picker-options.js","sourceRoot":"","sources":["../../../src/utils/date/date-range-picker-options.ts"],"names":[],"mappings":";;;AAAA,+CAA2C;AAC3C,iCAA4E;AAQ5E;;;;GAIG;AACH,MAAsB,sBAAsB;IAA5C;QACI;;;;mBAA+C,EAAE;WAAC;QAClD;;;;;WAA2B;IA8B/B,CAAC;IA5BG,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC;IAKD,UAAU,CAAC,GAA4B;QACnC,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;SAChD;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;YAC5B,IAAI,sBAAe,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE;gBACjC,OAAO,GAAG,CAAC;aACd;SACJ;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,sBAAsB,CAAC,MAAiB;QACpC,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAhCD,wDAgCC;AAMD,MAAM,YAAY,GAAG,CAAC,EAAQ,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC;AAY1F;;;;;;;;;;GAUG;AACH,MAAa,+BAAgC,SAAQ,sBAA4D;IAG7G,YACI,EAAkB,EAClB,gBAAsD,QAAQ;QAE9D,KAAK,EAAE,CAAC;QANZ;;;;;WAAgF;QAuEhF;;;;mBAAyB,CAAC,KAAgB,EAAE,EAAE;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAEtC,QAAQ,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,GAAG,EAAE;oBACjB,KAAK,cAAc,CAAC;oBACpB,KAAK,WAAW;wBACZ,OAAO;4BACH,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;4BACzE,GAAG,EAAE,KAAK,CAAC,KAAK;yBACnB,CAAC;oBACN,KAAK,aAAa;wBACd,OAAO;4BACH,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;4BACpD,GAAG,EAAE,KAAK,CAAC,KAAK;yBACnB,CAAC;iBACT;gBAED,OAAO,6BAAsB,CAAC,KAAK,CAAC,CAAC;YACzC,CAAC;WAAC;QAjFE,MAAM,WAAW,GAAG,wBAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QAEjE,MAAM,SAAS,GAAG,IAAI,IAAI,CACtB,WAAW,CAAC,WAAW,EAAE,EACzB,WAAW,CAAC,QAAQ,EAAE,EACtB,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAC5B,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,IAAI,CACvB,WAAW,CAAC,WAAW,EAAE,EACzB,WAAW,CAAC,QAAQ,EAAE,EACtB,WAAW,CAAC,OAAO,EAAE,GAAG,CAAC,CAC5B,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE7D,IAAI,CAAC,OAAO,GAAG;YACX,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;YAC9E,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;YACvF;gBACI,GAAG,EAAE,OAAO;gBACZ,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE;gBAC9D,IAAI,EAAE,aAAa;aACtB;YACD;gBACI,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE;gBAC/D,IAAI,EAAE,cAAc;aACvB;YACD;gBACI,GAAG,EAAE,cAAc;gBACnB,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE;gBAC3C,IAAI,EAAE,eAAe;aACxB;YACD;gBACI,GAAG,EAAE,WAAW;gBAChB,KAAK,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,SAAS,EAAE;gBAC/C,IAAI,EAAE,YAAY;aACrB;YACD;gBACI,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,EAAE,KAAK,EAAE,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAS,EAAE;gBAC/D,IAAI,EAAE,cAAc;aACvB;YACD;gBACI,GAAG,EAAE,aAAa;gBAClB,KAAK,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,SAAS,EAAE;gBAC5C,IAAI,EAAE,cAAc;aACvB;SACJ,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACvC,CAAC;IAED,MAAM,CAAC,MAAM,CACT,EAAkB,EAClB,aAAoD;QAEpD,OAAO,IAAI,+BAA+B,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAClE,CAAC;CAqBJ;AA3FD,0EA2FC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { DateRangePickerOption, DateRangePickerOptions } from './date-range-picker-options';
|
|
2
|
+
import { DateRange } from './date';
|
|
3
|
+
interface DateRangePickerStateConfig {
|
|
4
|
+
defaultValue?: DateRange;
|
|
5
|
+
}
|
|
6
|
+
export interface DateRangePickerStateType {
|
|
7
|
+
value?: DateRange;
|
|
8
|
+
onChange(val?: DateRange): void;
|
|
9
|
+
}
|
|
10
|
+
export interface DateRangePickerOptionsStateType<OptionKeys extends string> extends DateRangePickerStateType {
|
|
11
|
+
readonly options: DateRangePickerOptions<OptionKeys>;
|
|
12
|
+
readonly selectedOption?: DateRangePickerOption<OptionKeys>;
|
|
13
|
+
}
|
|
14
|
+
export declare class DateRangePickerState<OptionKeys extends string = never> {
|
|
15
|
+
value?: DateRange;
|
|
16
|
+
readonly options?: DateRangePickerOptions<OptionKeys>;
|
|
17
|
+
get selectedOption(): DateRangePickerOption<OptionKeys> | undefined;
|
|
18
|
+
constructor(config?: DateRangePickerStateConfig, options?: DateRangePickerOptions<OptionKeys>);
|
|
19
|
+
static create(config?: DateRangePickerStateConfig): DateRangePickerStateType;
|
|
20
|
+
static createWithOptions<OptionKeys extends string>(options: DateRangePickerOptions<OptionKeys>, config?: DateRangePickerStateConfig): DateRangePickerOptionsStateType<OptionKeys>;
|
|
21
|
+
onChange: (val?: DateRange | undefined) => void;
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
24
|
+
//# sourceMappingURL=date-range-picker-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-picker-state.d.ts","sourceRoot":"","sources":["../../../src/utils/date/date-range-picker-state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGnC,UAAU,0BAA0B;IAChC,YAAY,CAAC,EAAE,SAAS,CAAC;CAC5B;AAED,MAAM,WAAW,wBAAwB;IACrC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,+BAA+B,CAAC,UAAU,SAAS,MAAM,CACtE,SAAQ,wBAAwB;IAChC,QAAQ,CAAC,OAAO,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACrD,QAAQ,CAAC,cAAc,CAAC,EAAE,qBAAqB,CAAC,UAAU,CAAC,CAAC;CAC/D;AAED,qBAAa,oBAAoB,CAAC,UAAU,SAAS,MAAM,GAAG,KAAK;IACnD,KAAK,CAAC,EAAE,SAAS,CAAC;IAE9B,QAAQ,CAAC,OAAO,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAEtD,IAAc,cAAc,IAAI,qBAAqB,CAAC,UAAU,CAAC,GAAG,SAAS,CAM5E;gBAEW,MAAM,CAAC,EAAE,0BAA0B,EAAE,OAAO,CAAC,EAAE,sBAAsB,CAAC,UAAU,CAAC;IAY7F,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,0BAA0B,GAAG,wBAAwB;IAI5E,MAAM,CAAC,iBAAiB,CAAC,UAAU,SAAS,MAAM,EAC9C,OAAO,EAAE,sBAAsB,CAAC,UAAU,CAAC,EAC3C,MAAM,CAAC,EAAE,0BAA0B,GACpC,+BAA+B,CAAC,UAAU,CAAC;IAOtC,QAAQ,wCAEd;CACL"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.DateRangePickerState = void 0;
|
|
13
|
+
const mobx_1 = require("mobx");
|
|
14
|
+
class DateRangePickerState {
|
|
15
|
+
constructor(config, options) {
|
|
16
|
+
var _a, _b;
|
|
17
|
+
Object.defineProperty(this, "value", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true,
|
|
20
|
+
writable: true,
|
|
21
|
+
value: void 0
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(this, "options", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true,
|
|
27
|
+
value: void 0
|
|
28
|
+
});
|
|
29
|
+
Object.defineProperty(this, "onChange", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
configurable: true,
|
|
32
|
+
writable: true,
|
|
33
|
+
value: (val) => {
|
|
34
|
+
this.value = val;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
mobx_1.makeObservable(this);
|
|
38
|
+
this.options = options;
|
|
39
|
+
if (config === null || config === void 0 ? void 0 : config.defaultValue) {
|
|
40
|
+
this.value = config.defaultValue;
|
|
41
|
+
}
|
|
42
|
+
else if ((_a = this.options) === null || _a === void 0 ? void 0 : _a.defaultOption) {
|
|
43
|
+
this.value = (_b = this.options.findOption(this.options.defaultOption)) === null || _b === void 0 ? void 0 : _b.value;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
get selectedOption() {
|
|
47
|
+
if (!this.value || !this.options) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
return this.options.findOption(this.value);
|
|
51
|
+
}
|
|
52
|
+
static create(config) {
|
|
53
|
+
return new DateRangePickerState(config);
|
|
54
|
+
}
|
|
55
|
+
static createWithOptions(options, config) {
|
|
56
|
+
return new DateRangePickerState(config, options);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
__decorate([
|
|
60
|
+
mobx_1.observable,
|
|
61
|
+
__metadata("design:type", Object)
|
|
62
|
+
], DateRangePickerState.prototype, "value", void 0);
|
|
63
|
+
__decorate([
|
|
64
|
+
mobx_1.computed,
|
|
65
|
+
__metadata("design:type", Object),
|
|
66
|
+
__metadata("design:paramtypes", [])
|
|
67
|
+
], DateRangePickerState.prototype, "selectedOption", null);
|
|
68
|
+
__decorate([
|
|
69
|
+
mobx_1.action,
|
|
70
|
+
__metadata("design:type", Object)
|
|
71
|
+
], DateRangePickerState.prototype, "onChange", void 0);
|
|
72
|
+
exports.DateRangePickerState = DateRangePickerState;
|
|
73
|
+
//# sourceMappingURL=date-range-picker-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-picker-state.js","sourceRoot":"","sources":["../../../src/utils/date/date-range-picker-state.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,+BAAoE;AAiBpE,MAAa,oBAAoB;IAa7B,YAAY,MAAmC,EAAE,OAA4C;;QAZjF;;;;;WAAkB;QAE9B;;;;;WAAsD;QAoC9C;;;;mBAAW,CAAC,GAAe,EAAE,EAAE;gBACnC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;YACrB,CAAC;WAAC;QA3BE,qBAAc,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QAEvB,IAAI,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,EAAE;YACtB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;SACpC;aAAM,IAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,EAAE;YACpC,IAAI,CAAC,KAAK,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,0CAAE,KAAK,CAAC;SAC3E;IACL,CAAC;IAlBS,IAAI,cAAc;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YAC9B,OAAO,SAAS,CAAC;SACpB;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAcD,MAAM,CAAC,MAAM,CAAC,MAAmC;QAC7C,OAAO,IAAI,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,iBAAiB,CACpB,OAA2C,EAC3C,MAAmC;QAEnC,OAAO,IAAI,oBAAoB,CAC3B,MAAM,EACN,OAAO,CACqC,CAAC;IACrD,CAAC;CAKJ;AAzCe;IAAX,iBAAU;;mDAAmB;AAIpB;IAAT,eAAQ;;;0DAMR;AA4BO;IAAP,aAAM;;sDAEL;AAzCN,oDA0CC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare class TenantDate {
|
|
2
|
+
/**
|
|
3
|
+
* represent local time in tenant's Timezone
|
|
4
|
+
* @note returned date still have local timezone, so it shouldn't be converted to UTC anywhere
|
|
5
|
+
* @param tenantUtcOffset tenant's timezone offset to UTC (in minutes)
|
|
6
|
+
* @param localDateTime datetime or undefined (for 'now')
|
|
7
|
+
*/
|
|
8
|
+
static tenantTimeFromLocal(tenantUtcOffset: number, localDateTime?: Date): Date;
|
|
9
|
+
/**
|
|
10
|
+
* represent local date in tenant's Timezone (time values will be 0)
|
|
11
|
+
* @note returned date still have local timezone, so it shouldn't be converted to UTC anywhere
|
|
12
|
+
* @param tenantUtcOffset tenant's timezone offset to UTC (in minutes)
|
|
13
|
+
* @param localDateTime datetime or undefined (for 'now')
|
|
14
|
+
*/
|
|
15
|
+
static tenantDateFromLocal(tenantUtcOffset: number, localDateTime?: Date): Date;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=date-tenant.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-tenant.d.ts","sourceRoot":"","sources":["../../../src/utils/date/date-tenant.ts"],"names":[],"mappings":"AAuBA,qBAAa,UAAU;IACnB;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI;IAO/E;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,IAAI,GAAG,IAAI;CAKlF"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TenantDate = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* This class exists because we:
|
|
6
|
+
*
|
|
7
|
+
* (1) want to always use tenant TZ (as specified in the settings) over the browser TZ to display/parse dates
|
|
8
|
+
* (2) have parts which we can't/don't want to change right now which use Date (instead of Moment)
|
|
9
|
+
*
|
|
10
|
+
* The issue with Date is that it doesn't support timezones. So we have to introduce the idea of UI Date --
|
|
11
|
+
* a Date value with ticks set to such value that the local time in the current browser TZ is equal to local time in tenant TZ represented by passed real Date
|
|
12
|
+
*
|
|
13
|
+
* Example:
|
|
14
|
+
*
|
|
15
|
+
* Tenant TZ is PDT UTC-07
|
|
16
|
+
* Browser TZ is EDT UTC-04
|
|
17
|
+
*
|
|
18
|
+
* In DB we have a LaunchDate which is 2020-05-11 04:00:00 (we use UTC in DB)
|
|
19
|
+
* This time gives local time of 2020-05-11 00:00:00 in tenant TZ
|
|
20
|
+
* To display the same time in browser's TZ, we need to create a Date with UTC value of 2020-05-11 07:00:00 (see createUIDate)
|
|
21
|
+
* Note that the UTC value of this Date is useless, we only care about local time it gives in that particular TZ, that's why it's an UI date
|
|
22
|
+
* The same reasoning applies when we get a Date from a DatePicker, for example --
|
|
23
|
+
* it's an UI date, we only care about its local time, thus we need to construct a moment which represents the same local time but in tenant TZ (see momentFromUI)
|
|
24
|
+
*
|
|
25
|
+
* If at any point we're able to get rid of all the components relying on Date, this class won't be needed anymore.
|
|
26
|
+
*/
|
|
27
|
+
class TenantDate {
|
|
28
|
+
/**
|
|
29
|
+
* represent local time in tenant's Timezone
|
|
30
|
+
* @note returned date still have local timezone, so it shouldn't be converted to UTC anywhere
|
|
31
|
+
* @param tenantUtcOffset tenant's timezone offset to UTC (in minutes)
|
|
32
|
+
* @param localDateTime datetime or undefined (for 'now')
|
|
33
|
+
*/
|
|
34
|
+
static tenantTimeFromLocal(tenantUtcOffset, localDateTime) {
|
|
35
|
+
const dtLocal = localDateTime !== null && localDateTime !== void 0 ? localDateTime : new Date();
|
|
36
|
+
const dtUtc = new Date(dtLocal.getTime() + dtLocal.getTimezoneOffset() * 60000);
|
|
37
|
+
return new Date(dtUtc.getTime() + tenantUtcOffset * 60000);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* represent local date in tenant's Timezone (time values will be 0)
|
|
41
|
+
* @note returned date still have local timezone, so it shouldn't be converted to UTC anywhere
|
|
42
|
+
* @param tenantUtcOffset tenant's timezone offset to UTC (in minutes)
|
|
43
|
+
* @param localDateTime datetime or undefined (for 'now')
|
|
44
|
+
*/
|
|
45
|
+
static tenantDateFromLocal(tenantUtcOffset, localDateTime) {
|
|
46
|
+
const dt = TenantDate.tenantTimeFromLocal(tenantUtcOffset, localDateTime);
|
|
47
|
+
return new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.TenantDate = TenantDate;
|
|
51
|
+
//# sourceMappingURL=date-tenant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-tenant.js","sourceRoot":"","sources":["../../../src/utils/date/date-tenant.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAa,UAAU;IACnB;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAuB,EAAE,aAAoB;QACpE,MAAM,OAAO,GAAG,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,IAAI,IAAI,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,iBAAiB,EAAE,GAAG,KAAK,CAAC,CAAC;QAEhF,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,eAAe,GAAG,KAAK,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,mBAAmB,CAAC,eAAuB,EAAE,aAAoB;QACpE,MAAM,EAAE,GAAG,UAAU,CAAC,mBAAmB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;QAE1E,OAAO,IAAI,IAAI,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;CACJ;AAzBD,gCAyBC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface DateRange {
|
|
2
|
+
start: Date;
|
|
3
|
+
end: Date;
|
|
4
|
+
}
|
|
5
|
+
export declare const datesEqual: (date1: Date, date2: Date) => boolean;
|
|
6
|
+
export declare const dateRangesEqual: (dateRange1: DateRange, dateRange2: DateRange) => boolean;
|
|
7
|
+
export declare const getComparisonDateRange: (range: DateRange) => {
|
|
8
|
+
start: Date;
|
|
9
|
+
end: Date;
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=date.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../../src/utils/date/date.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,IAAI,CAAC;IACZ,GAAG,EAAE,IAAI,CAAC;CACb;AAED,eAAO,MAAM,UAAU,UAAW,IAAI,SAAS,IAAI,YAMN,CAAC;AAE9C,eAAO,MAAM,eAAe,eAAgB,SAAS,cAAc,SAAS,YACoB,CAAC;AAEjG,eAAO,MAAM,sBAAsB,UAAW,SAAS;;;CAYtD,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getComparisonDateRange = exports.dateRangesEqual = exports.datesEqual = void 0;
|
|
4
|
+
const datesEqual = (date1, date2) => date1.getFullYear() === date2.getFullYear() &&
|
|
5
|
+
date1.getMonth() === date2.getMonth() &&
|
|
6
|
+
date1.getDate() === date2.getDate() &&
|
|
7
|
+
date1.getHours() === date2.getHours() &&
|
|
8
|
+
date1.getMinutes() === date2.getMinutes() &&
|
|
9
|
+
date1.getSeconds() === date2.getSeconds();
|
|
10
|
+
exports.datesEqual = datesEqual;
|
|
11
|
+
const dateRangesEqual = (dateRange1, dateRange2) => exports.datesEqual(dateRange1.start, dateRange2.start) && exports.datesEqual(dateRange1.end, dateRange2.end);
|
|
12
|
+
exports.dateRangesEqual = dateRangesEqual;
|
|
13
|
+
const getComparisonDateRange = (range) => {
|
|
14
|
+
const diff = range.end.getTime() - range.start.getTime();
|
|
15
|
+
const compareStart = new Date(range.start.getTime() - diff);
|
|
16
|
+
return {
|
|
17
|
+
start: new Date(compareStart.getFullYear(), compareStart.getMonth(), compareStart.getDate()),
|
|
18
|
+
end: range.start,
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.getComparisonDateRange = getComparisonDateRange;
|
|
22
|
+
//# sourceMappingURL=date.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../../src/utils/date/date.ts"],"names":[],"mappings":";;;AAKO,MAAM,UAAU,GAAG,CAAC,KAAW,EAAE,KAAW,EAAE,EAAE,CACnD,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;IAC3C,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;IACrC,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;IACnC,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;IACrC,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC,UAAU,EAAE;IACzC,KAAK,CAAC,UAAU,EAAE,KAAK,KAAK,CAAC,UAAU,EAAE,CAAC;AANjC,QAAA,UAAU,cAMuB;AAEvC,MAAM,eAAe,GAAG,CAAC,UAAqB,EAAE,UAAqB,EAAE,EAAE,CAC5E,kBAAU,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,IAAI,kBAAU,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC;AADpF,QAAA,eAAe,mBACqE;AAE1F,MAAM,sBAAsB,GAAG,CAAC,KAAgB,EAAE,EAAE;IACvD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;IAE5D,OAAO;QACH,KAAK,EAAE,IAAI,IAAI,CACX,YAAY,CAAC,WAAW,EAAE,EAC1B,YAAY,CAAC,QAAQ,EAAE,EACvB,YAAY,CAAC,OAAO,EAAE,CACzB;QACD,GAAG,EAAE,KAAK,CAAC,KAAK;KACnB,CAAC;AACN,CAAC,CAAC;AAZW,QAAA,sBAAsB,0BAYjC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/date/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./date"), exports);
|
|
14
|
+
__exportStar(require("./date-tenant"), exports);
|
|
15
|
+
__exportStar(require("./date-range-picker-options"), exports);
|
|
16
|
+
__exportStar(require("./date-range-picker-state"), exports);
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/date/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuB;AACvB,gDAA8B;AAC9B,8DAA4C;AAC5C,4DAA0C"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { History } from 'history';
|
|
1
2
|
import { QueryParamsHandler } from './query-params-handler';
|
|
3
|
+
import { UrlParamsHandler } from './url-params-handler';
|
|
2
4
|
declare type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
|
|
3
5
|
declare type Values<T> = T[keyof T];
|
|
4
6
|
export interface ParametrizedHistory<Keys extends string, UrlMappings = void, QueryMappings = void> {
|
|
@@ -6,14 +8,18 @@ export interface ParametrizedHistory<Keys extends string, UrlMappings = void, Qu
|
|
|
6
8
|
href: Overloading<Keys, UrlMappings, QueryMappings, string>;
|
|
7
9
|
push: Overloading<Keys, UrlMappings, QueryMappings, void>;
|
|
8
10
|
replace: Overloading<Keys, UrlMappings, QueryMappings, void>;
|
|
11
|
+
history: History;
|
|
9
12
|
}
|
|
10
13
|
declare type AllOverloads<Keys extends string, UrlMappings, QueryMappings, O> = {
|
|
11
|
-
[Prop in Keys]: Prop extends keyof UrlMappings ? Prop extends keyof QueryMappings ? (key: Prop, urlParams: UrlMappings[Prop], queryParams?: QueryMappings[Prop]) => O : (key: Prop, urlParams: UrlMappings[Prop]) => O : Prop extends keyof QueryMappings ? (key: Prop, urlParams?: undefined, queryParams?: QueryMappings[Prop]) => O : (key: Prop) => O;
|
|
14
|
+
[Prop in Keys]: Prop extends keyof UrlMappings ? Prop extends keyof QueryMappings ? Partial<UrlMappings[Prop]> extends UrlMappings[Prop] ? (key: Prop, urlParams?: UrlMappings[Prop], queryParams?: QueryMappings[Prop]) => O : (key: Prop, urlParams: UrlMappings[Prop], queryParams?: QueryMappings[Prop]) => O : Partial<UrlMappings[Prop]> extends UrlMappings[Prop] ? (key: Prop, urlParams?: UrlMappings[Prop]) => O : (key: Prop, urlParams: UrlMappings[Prop]) => O : Prop extends keyof QueryMappings ? (key: Prop, urlParams?: undefined, queryParams?: QueryMappings[Prop]) => O : (key: Prop) => O;
|
|
12
15
|
};
|
|
13
16
|
declare type Overloading<Keys extends string, UrlMappings, QueryMappings, O> = UnionToIntersection<Values<AllOverloads<Keys, UrlMappings, QueryMappings, O>>>;
|
|
14
|
-
declare type
|
|
17
|
+
declare type QueryParamHandlers<QueryMappings> = {
|
|
15
18
|
[Prop in keyof QueryMappings]?: QueryParamsHandler<QueryMappings[Prop]>;
|
|
16
19
|
};
|
|
20
|
+
declare type UrlParamHandlers<QueryMappings> = {
|
|
21
|
+
[Prop in keyof QueryMappings]?: UrlParamsHandler<QueryMappings[Prop]>;
|
|
22
|
+
};
|
|
17
23
|
/**
|
|
18
24
|
* Create parameterized history to check passed arguments
|
|
19
25
|
*
|
|
@@ -50,6 +56,6 @@ declare type ParamHandlers<QueryMappings> = {
|
|
|
50
56
|
* return <Button onClick={onClick}>cool</Button>
|
|
51
57
|
* }
|
|
52
58
|
*/
|
|
53
|
-
export declare const useParamsHistory: <Keys extends string, PU = void, PQ = void>(paths: Record<Keys, string>,
|
|
59
|
+
export declare const useParamsHistory: <Keys extends string, PU = void, PQ = void>(paths: Record<Keys, string>, urlHandlers?: UrlParamHandlers<PU> | undefined, queryHandlers?: QueryParamHandlers<PQ> | undefined) => ParametrizedHistory<Keys, PU, PQ>;
|
|
54
60
|
export {};
|
|
55
61
|
//# sourceMappingURL=history.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/utils/history/history.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"history.d.ts","sourceRoot":"","sources":["../../../src/utils/history/history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.useParamsHistory = void 0;
|
|
4
|
-
const react_1 = require("react");
|
|
5
4
|
const react_router_dom_1 = require("react-router-dom");
|
|
6
5
|
const history_1 = require("history");
|
|
6
|
+
const invariable_hooks_1 = require("../invariable-hooks");
|
|
7
7
|
/**
|
|
8
8
|
* Create parameterized history to check passed arguments
|
|
9
9
|
*
|
|
@@ -40,14 +40,14 @@ const history_1 = require("history");
|
|
|
40
40
|
* return <Button onClick={onClick}>cool</Button>
|
|
41
41
|
* }
|
|
42
42
|
*/
|
|
43
|
-
const useParamsHistory = (paths,
|
|
43
|
+
const useParamsHistory = (paths, urlHandlers, queryHandlers) => {
|
|
44
44
|
const history = react_router_dom_1.useHistory();
|
|
45
|
-
return
|
|
45
|
+
return invariable_hooks_1.useInvariableMemo(() => {
|
|
46
46
|
const generateLocation = (path, urlParams, queryParams) => {
|
|
47
|
-
var _a;
|
|
47
|
+
var _a, _b;
|
|
48
48
|
let searchParams = undefined;
|
|
49
49
|
if (queryParams) {
|
|
50
|
-
const hand = (_a =
|
|
50
|
+
const hand = (_a = queryHandlers) === null || _a === void 0 ? void 0 : _a[path];
|
|
51
51
|
if (hand) {
|
|
52
52
|
searchParams = '?' + hand.toString(queryParams);
|
|
53
53
|
}
|
|
@@ -55,12 +55,14 @@ const useParamsHistory = (paths, handlers) => {
|
|
|
55
55
|
searchParams = '?' + new URLSearchParams(queryParams).toString();
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
+
const urlHandler = (_b = urlHandlers) === null || _b === void 0 ? void 0 : _b[path];
|
|
58
59
|
return {
|
|
59
|
-
pathname: react_router_dom_1.generatePath(paths[path], urlParams),
|
|
60
|
+
pathname: react_router_dom_1.generatePath(paths[path], urlHandler ? urlHandler.toString(urlParams) : urlParams),
|
|
60
61
|
search: searchParams,
|
|
61
62
|
};
|
|
62
63
|
};
|
|
63
64
|
return {
|
|
65
|
+
history,
|
|
64
66
|
path: ((key, urlParams, queryParams) => {
|
|
65
67
|
return history_1.createPath(generateLocation(key, urlParams, queryParams));
|
|
66
68
|
}),
|
|
@@ -76,7 +78,7 @@ const useParamsHistory = (paths, handlers) => {
|
|
|
76
78
|
history.replace(history_1.createPath(generateLocation(key, urlParams, queryParams)));
|
|
77
79
|
}),
|
|
78
80
|
};
|
|
79
|
-
}
|
|
81
|
+
});
|
|
80
82
|
};
|
|
81
83
|
exports.useParamsHistory = useParamsHistory;
|
|
82
84
|
//# sourceMappingURL=history.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/utils/history/history.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"history.js","sourceRoot":"","sources":["../../../src/utils/history/history.ts"],"names":[],"mappings":";;;AAAA,uDAA4D;AAC5D,qCAA8C;AAC9C,0DAAwD;AA+CxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACI,MAAM,gBAAgB,GAAG,CAC5B,KAA2B,EAC3B,WAAkC,EAClC,aAAsC,EACL,EAAE;IACnC,MAAM,OAAO,GAAG,6BAAU,EAAE,CAAC;IAE7B,OAAO,oCAAiB,CAAC,GAAG,EAAE;QAC1B,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAE,SAAe,EAAE,WAAiB,EAAE,EAAE;;YACxE,IAAI,YAAY,GAAG,SAAS,CAAC;YAE7B,IAAI,WAAW,EAAE;gBACb,MAAM,IAAI,GAAG,MAAC,aAAqB,0CAAG,IAAW,CAA4B,CAAC;gBAE9E,IAAI,IAAI,EAAE;oBACN,YAAY,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;iBACnD;qBAAM;oBACH,YAAY,GAAG,GAAG,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACpE;aACJ;YAED,MAAM,UAAU,GAAG,MAAC,WAAmB,0CAAG,IAAI,CAA0B,CAAC;YAEzE,OAAO;gBACH,QAAQ,EAAE,+BAAY,CAClB,KAAK,CAAC,IAAI,CAAC,EACX,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAC1D;gBACD,MAAM,EAAE,YAAY;aACvB,CAAC;QACN,CAAC,CAAC;QAEF,OAAO;YACH,OAAO;YACP,IAAI,EAAE,CAAC,CAAC,GAAS,EAAE,SAAmB,EAAE,WAAqB,EAAE,EAAE;gBAC7D,OAAO,oBAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC;YACrE,CAAC,CAAsC;YACvC,IAAI,EAAE,CAAC,CAAC,GAAS,EAAE,SAAmB,EAAE,WAAqB,EAAE,EAAE;gBAC7D,OAAO,OAAO,CAAC,UAAU,CAAC;oBACtB,QAAQ,EAAE,oBAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;iBACtE,CAAC,CAAC;YACP,CAAC,CAAsC;YACvC,IAAI,EAAE,CAAC,CAAC,GAAS,EAAE,SAAmB,EAAE,WAAqB,EAAE,EAAE;gBAC7D,OAAO,CAAC,IAAI,CAAC,oBAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAoC;YACrC,OAAO,EAAE,CAAC,CAAC,GAAS,EAAE,SAAuB,EAAE,WAAqB,EAAE,EAAE;gBACpE,OAAO,CAAC,OAAO,CAAC,oBAAU,CAAC,gBAAgB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;YAC/E,CAAC,CAAoC;SACxC,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAlDW,QAAA,gBAAgB,oBAkD3B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/history/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/history/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC"}
|
|
@@ -12,6 +12,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
13
|
__exportStar(require("./history"), exports);
|
|
14
14
|
__exportStar(require("./query-params-handler"), exports);
|
|
15
|
+
__exportStar(require("./url-params-handler"), exports);
|
|
15
16
|
__exportStar(require("./use-query-params"), exports);
|
|
16
17
|
__exportStar(require("./use-url-params"), exports);
|
|
17
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/history/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yDAAuC;AACvC,qDAAmC;AACnC,mDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/history/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAA0B;AAC1B,yDAAuC;AACvC,uDAAqC;AACrC,qDAAmC;AACnC,mDAAiC"}
|
|
@@ -17,6 +17,7 @@ export declare class QueryParamsHandler<Values extends Record<string, any | unde
|
|
|
17
17
|
static readonly querySingleParam: <TP>(parser: StringParamParser<TP>) => QueryParamWrapper<TP>;
|
|
18
18
|
static readonly queryArrayParam: <TP>(parser: StringParamParser<TP>) => QueryParamWrapper<TP[]>;
|
|
19
19
|
constructor(handlers: HandlersFromValues<Values>);
|
|
20
|
+
static from<T>(handlers: HandlersFromValues<T>): QueryParamsHandler<T>;
|
|
20
21
|
toString(params: Values): string;
|
|
21
22
|
parse(query?: string): Values;
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-params-handler.d.ts","sourceRoot":"","sources":["../../../src/utils/history/query-params-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,UAAU,iBAAiB,CAAC,EAAE;IAC1B,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC;IACxD,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAC;CAC1D;AAED,aAAK,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC,IAAI;KACrE,IAAI,IAAI,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC1D,CAAC;AA4DF,qBAAa,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;IAW9D,OAAO,CAAC,QAAQ;IAV5B,MAAM,CAAC,QAAQ,CAAC,YAAY,4BAAsC;IAClE,MAAM,CAAC,QAAQ,CAAC,YAAY,4BAAyC;IACrE,MAAM,CAAC,QAAQ,CAAC,UAAU,0BAAuC;IACjE,MAAM,CAAC,QAAQ,CAAC,aAAa,6BAAuC;IACpE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,8BAAwC;IACzE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,8BAAqC;IAEtE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,+DAAoB;IACpD,MAAM,CAAC,QAAQ,CAAC,eAAe,iEAAmB;gBAE9B,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAExD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAgBhC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;CAoBhC"}
|
|
1
|
+
{"version":3,"file":"query-params-handler.d.ts","sourceRoot":"","sources":["../../../src/utils/history/query-params-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAEnE,UAAU,iBAAiB,CAAC,EAAE;IAC1B,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC;IACxD,GAAG,CAAC,GAAG,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,GAAG,EAAE,GAAG,SAAS,CAAC;CAC1D;AAED,aAAK,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC,IAAI;KACrE,IAAI,IAAI,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC1D,CAAC;AA4DF,qBAAa,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;IAW9D,OAAO,CAAC,QAAQ;IAV5B,MAAM,CAAC,QAAQ,CAAC,YAAY,4BAAsC;IAClE,MAAM,CAAC,QAAQ,CAAC,YAAY,4BAAyC;IACrE,MAAM,CAAC,QAAQ,CAAC,UAAU,0BAAuC;IACjE,MAAM,CAAC,QAAQ,CAAC,aAAa,6BAAuC;IACpE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,8BAAwC;IACzE,MAAM,CAAC,QAAQ,CAAC,iBAAiB,8BAAqC;IAEtE,MAAM,CAAC,QAAQ,CAAC,gBAAgB,+DAAoB;IACpD,MAAM,CAAC,QAAQ,CAAC,eAAe,iEAAmB;gBAE9B,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAExD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAI9C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAgBhC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM;CAoBhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-params-handler.js","sourceRoot":"","sources":["../../../src/utils/history/query-params-handler.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"query-params-handler.js","sourceRoot":"","sources":["../../../src/utils/history/query-params-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { StringParamParser } from '../param-parsers';
|
|
2
|
+
declare type HandlersFromValues<Values extends Record<string, any | undefined>> = {
|
|
3
|
+
[Prop in keyof Values]: StringParamParser<Values[Prop]>;
|
|
4
|
+
};
|
|
5
|
+
declare type StringParams<T extends Record<string, any>> = {
|
|
6
|
+
[Prop in keyof T]: string | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare class UrlParamsHandler<Values extends Record<string, any | undefined>> {
|
|
9
|
+
private parsers;
|
|
10
|
+
static readonly parserString: StringParamParser<string>;
|
|
11
|
+
static readonly parserNumber: StringParamParser<number>;
|
|
12
|
+
constructor(parsers: HandlersFromValues<Values>);
|
|
13
|
+
static from<T>(parsers: HandlersFromValues<T>): UrlParamsHandler<T>;
|
|
14
|
+
toString(values?: Partial<Values>): Partial<StringParams<Values>>;
|
|
15
|
+
parse(params: StringParams<Values>): Partial<Values>;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=url-params-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"url-params-handler.d.ts","sourceRoot":"","sources":["../../../src/utils/history/url-params-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGnE,aAAK,kBAAkB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC,IAAI;KACrE,IAAI,IAAI,MAAM,MAAM,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CAC1D,CAAC;AAEF,aAAK,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI;KAC9C,IAAI,IAAI,MAAM,CAAC,GAAG,MAAM,GAAG,SAAS;CACxC,CAAC;AAEF,qBAAa,gBAAgB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,SAAS,CAAC;IAI5D,OAAO,CAAC,OAAO;IAH3B,MAAM,CAAC,QAAQ,CAAC,YAAY,4BAAoB;IAChD,MAAM,CAAC,QAAQ,CAAC,YAAY,4BAAuB;gBAE/B,OAAO,EAAE,kBAAkB,CAAC,MAAM,CAAC;IAEvD,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAI7C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAwBjE,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;CAmBvD"}
|