1
1
import type { LogViewerDateRange , UmbLogViewerWorkspaceContext } from '../workspace/logviewer-workspace.context.js' ;
2
2
import { UMB_APP_LOG_VIEWER_CONTEXT } from '../workspace/logviewer-workspace.context-token.js' ;
3
3
import { UmbTextStyles } from '@umbraco-cms/backoffice/style' ;
4
- import { css , html , customElement , property , queryAll , state } from '@umbraco-cms/backoffice/external/lit' ;
4
+ import { css , html , customElement , property , state } from '@umbraco-cms/backoffice/external/lit' ;
5
5
import { UmbLitElement } from '@umbraco-cms/backoffice/lit-element' ;
6
6
import { query as getQuery , path , toQueryString } from '@umbraco-cms/backoffice/router' ;
7
+ import type { UUIInputEvent } from '@umbraco-cms/backoffice/external/uui' ;
7
8
8
9
@customElement ( 'umb-log-viewer-date-range-selector' )
9
10
export class UmbLogViewerDateRangeSelectorElement extends UmbLitElement {
@@ -13,26 +14,18 @@ export class UmbLogViewerDateRangeSelectorElement extends UmbLitElement {
13
14
@state ( )
14
15
private _endDate = '' ;
15
16
16
- @queryAll ( 'input' )
17
- private _inputs ! : NodeListOf < HTMLInputElement > ;
18
-
19
17
@property ( { type : Boolean , reflect : true } )
20
18
horizontal = false ;
21
19
22
20
#logViewerContext?: UmbLogViewerWorkspaceContext ;
23
21
24
22
constructor ( ) {
25
23
super ( ) ;
26
- this . addEventListener ( 'input' , this . #setDates) ;
27
24
this . consumeContext ( UMB_APP_LOG_VIEWER_CONTEXT , ( instance ) => {
28
25
this . #logViewerContext = instance ;
29
26
this . #observeStuff( ) ;
30
27
} ) ;
31
28
}
32
- override disconnectedCallback ( ) : void {
33
- super . disconnectedCallback ( ) ;
34
- this . removeEventListener ( 'input' , this . #setDates) ;
35
- }
36
29
37
30
#observeStuff( ) {
38
31
if ( ! this . #logViewerContext) return ;
@@ -46,14 +39,17 @@ export class UmbLogViewerDateRangeSelectorElement extends UmbLitElement {
46
39
) ;
47
40
}
48
41
49
- #setDates( ) {
50
- this . _inputs . forEach ( ( input ) => {
51
- if ( input . id === 'start-date' ) {
52
- this . _startDate = input . value ;
53
- } else if ( input . id === 'end-date' ) {
54
- this . _endDate = input . value ;
55
- }
56
- } ) ;
42
+ #setStartDate( e : UUIInputEvent ) {
43
+ this . _startDate = e . target . value as string ;
44
+ this . #updateFiltered( ) ;
45
+ }
46
+
47
+ #setEndDate( e : UUIInputEvent ) {
48
+ this . _endDate = e . target . value as string ;
49
+ this . #updateFiltered( ) ;
50
+ }
51
+
52
+ #updateFiltered( ) {
57
53
this . #logViewerContext?. setDateRange ( { startDate : this . _startDate , endDate : this . _endDate } ) ;
58
54
59
55
const query = getQuery ( ) ;
@@ -71,9 +67,7 @@ export class UmbLogViewerDateRangeSelectorElement extends UmbLitElement {
71
67
<div class= "input-container" >
72
68
<uui- label for = "start-date" > From : </ uui- label>
73
69
<umb- input- date
74
- @click = ${ ( e : Event ) => {
75
- ( e . target as HTMLInputElement ) . showPicker ( ) ;
76
- } }
70
+ @change = ${ this . #setStartDate}
77
71
id= "start-date"
78
72
type = "date"
79
73
label = "From"
@@ -83,9 +77,7 @@ export class UmbLogViewerDateRangeSelectorElement extends UmbLitElement {
83
77
<div class= "input-container" >
84
78
<uui- label for = "end-date" > To : </ uui- label>
85
79
<umb- input- date
86
- @click = ${ ( e : Event ) => {
87
- ( e . target as HTMLInputElement ) . showPicker ( ) ;
88
- } }
80
+ @change = ${ this . #setEndDate}
89
81
id= "end-date"
90
82
type = "date"
91
83
label = "To"
0 commit comments