@brightspace-ui/core 3.17.2 → 3.18.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.
@@ -171,7 +171,8 @@
171
171
  <d2l-filter-dimension-set-date-text-value key="48hours" range="48hours" disabled></d2l-filter-dimension-set-date-text-value>
172
172
  <d2l-filter-dimension-set-date-text-value key="today" range="today"></d2l-filter-dimension-set-date-text-value>
173
173
  <d2l-filter-dimension-set-date-text-value key="6months" range="6months"></d2l-filter-dimension-set-date-text-value>
174
- <d2l-filter-dimension-set-date-time-range-value key="custom" ></d2l-filter-dimension-set-date-time-range-value>
174
+ <d2l-filter-dimension-set-date-time-range-value key="custom" type="date"></d2l-filter-dimension-set-date-time-range-value>
175
+ <d2l-filter-dimension-set-date-time-range-value key="custom2" text="Custom Date Range with Time"></d2l-filter-dimension-set-date-time-range-value>
175
176
  </d2l-filter-dimension-set>
176
177
  </d2l-filter>
177
178
  </template>
@@ -1,4 +1,6 @@
1
+ import '../inputs/input-date-range.js';
1
2
  import '../inputs/input-date-time-range.js';
3
+ import { getLocalDateTimeFromUTCDateTime, getUTCDateTimeFromLocalDateTime } from '../../helpers/dateTime.js';
2
4
  import { html, LitElement } from 'lit';
3
5
  import { ifDefined } from 'lit/directives/if-defined.js';
4
6
  import { LocalizeCoreElement } from '../../helpers/localize-core-element.js';
@@ -39,7 +41,12 @@ class FilterDimensionSetDateTimeRangeValue extends LocalizeCoreElement(LitElemen
39
41
  * Defaults to "Custom Date Range" (localized). Can be overridden if desired.
40
42
  * @type {string}
41
43
  */
42
- text: { type: String, reflect: true }
44
+ text: { type: String, reflect: true },
45
+ /**
46
+ * Date/time range input type
47
+ * @type {'date'|'date-time'}
48
+ */
49
+ type: { type: String }
43
50
  };
44
51
  }
45
52
 
@@ -47,6 +54,7 @@ class FilterDimensionSetDateTimeRangeValue extends LocalizeCoreElement(LitElemen
47
54
  super();
48
55
  this.disabled = false;
49
56
  this.selected = false;
57
+ this.type = 'date-time';
50
58
  this._dispatchFilterChangeEvent = false;
51
59
  this._enforceSingleSelection = true;
52
60
  this._filterSetValue = true;
@@ -104,13 +112,21 @@ class FilterDimensionSetDateTimeRangeValue extends LocalizeCoreElement(LitElemen
104
112
  }
105
113
 
106
114
  _getAdditionalContent() {
107
- return html`
108
- <d2l-input-date-time-range
115
+ return this.type === 'date'
116
+ ? html`<d2l-input-date-range
117
+ @change="${this._handleDateChange}"
118
+ child-labels-hidden
119
+ end-value="${ifDefined(this.endValue ? getLocalDateTimeFromUTCDateTime(this.endValue) : undefined)}"
120
+ label="${this.localize('components.filter-dimension-set-date-time-range-value.text')}"
121
+ label-hidden
122
+ prefer-fixed-positioning
123
+ start-value="${ifDefined(this.startValue ? getLocalDateTimeFromUTCDateTime(this.startValue) : undefined)}"
124
+ ></d2l-input-date-range>`
125
+ : html`<d2l-input-date-time-range
109
126
  @change="${this._handleDateChange}"
110
127
  child-labels-hidden
111
- data-dimensionvaluekey="${this.key}"
112
128
  end-value="${ifDefined(this.endValue)}"
113
- label="Custom Range"
129
+ label="${this.localize('components.filter-dimension-set-date-time-range-value.text')}"
114
130
  label-hidden
115
131
  prefer-fixed-positioning
116
132
  start-value="${ifDefined(this.startValue)}"
@@ -124,8 +140,13 @@ class FilterDimensionSetDateTimeRangeValue extends LocalizeCoreElement(LitElemen
124
140
  }
125
141
 
126
142
  async _handleDateChange(e) {
127
- this.startValue = e.target.startValue;
128
- this.endValue = e.target.endValue;
143
+ if (this.type === 'date') {
144
+ this.startValue = e.target.startValue ? getUTCDateTimeFromLocalDateTime(e.target.startValue, '0:0') : undefined;
145
+ this.endValue = e.target.endValue ? getUTCDateTimeFromLocalDateTime(e.target.endValue, '0:0') : undefined;
146
+ } else {
147
+ this.startValue = e.target.startValue;
148
+ this.endValue = e.target.endValue;
149
+ }
129
150
 
130
151
  this._dispatchFilterChangeEvent = true;
131
152
  }
@@ -3894,6 +3894,12 @@
3894
3894
  "description": "Whether this value in the filter is selected or not",
3895
3895
  "type": "boolean",
3896
3896
  "default": "false"
3897
+ },
3898
+ {
3899
+ "name": "type",
3900
+ "description": "Date/time range input type",
3901
+ "type": "'date'|'date-time'",
3902
+ "default": "\"date-time\""
3897
3903
  }
3898
3904
  ],
3899
3905
  "properties": [
@@ -3923,6 +3929,13 @@
3923
3929
  "type": "boolean",
3924
3930
  "default": "false"
3925
3931
  },
3932
+ {
3933
+ "name": "type",
3934
+ "attribute": "type",
3935
+ "description": "Date/time range input type",
3936
+ "type": "'date'|'date-time'",
3937
+ "default": "\"date-time\""
3938
+ },
3926
3939
  {
3927
3940
  "name": "documentLocaleSettings",
3928
3941
  "default": "\"getDocumentLocaleSettings()\""
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@brightspace-ui/core",
3
- "version": "3.17.2",
3
+ "version": "3.18.0",
4
4
  "description": "A collection of accessible, free, open-source web components for building Brightspace applications",
5
5
  "type": "module",
6
6
  "repository": "https://github.com/BrightspaceUI/core.git",