@brightspace-ui/core 3.227.4 → 3.227.5
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/components/button/button.js +8 -8
- package/components/demo/test/demo-page-settings.test.js +25 -0
- package/components/demo/test/demo-page.test.js +17 -0
- package/package.json +1 -1
- package/components/alert/demo/alert-toast.html +0 -106
- package/components/alert/demo/alert.html +0 -82
- package/components/backdrop/demo/backdrop-loading.html +0 -166
- package/components/backdrop/demo/backdrop.html +0 -57
- package/components/breadcrumbs/demo/breadcrumbs.html +0 -53
- package/components/button/demo/button-add.html +0 -55
- package/components/button/demo/button-copy.html +0 -122
- package/components/button/demo/button-icon.html +0 -174
- package/components/button/demo/button-move.html +0 -38
- package/components/button/demo/button-split.html +0 -76
- package/components/button/demo/button-subtle.html +0 -132
- package/components/button/demo/button-toggle.html +0 -80
- package/components/button/demo/button.html +0 -67
- package/components/button/demo/floating-buttons-in-frame.html +0 -44
- package/components/button/demo/floating-buttons-in-tabs.html +0 -244
- package/components/button/demo/floating-buttons-page.html +0 -100
- package/components/button/demo/floating-buttons.html +0 -101
- package/components/calendar/demo/calendar.html +0 -76
- package/components/card/demo/card.html +0 -304
- package/components/collapsible-panel/demo/collapsible-panel.html +0 -218
- package/components/colors/demo/color-swatch.js +0 -240
- package/components/colors/demo/colors.html +0 -139
- package/components/count-badge/demo/count-badge-icon.html +0 -48
- package/components/count-badge/demo/count-badge.html +0 -73
- package/components/demo/demo/demo-snippet.html +0 -71
- package/components/description-list/demo/description-list-test.js +0 -142
- package/components/description-list/demo/description-list.html +0 -48
- package/components/dialog/demo/dialog-async-content-until.js +0 -89
- package/components/dialog/demo/dialog-async-content.js +0 -72
- package/components/dialog/demo/dialog-confirm.html +0 -102
- package/components/dialog/demo/dialog-container.js +0 -40
- package/components/dialog/demo/dialog-fullscreen.html +0 -273
- package/components/dialog/demo/dialog-nested.html +0 -94
- package/components/dialog/demo/dialog.html +0 -398
- package/components/dropdown/demo/dropdown-button.html +0 -102
- package/components/dropdown/demo/dropdown-context-menu.html +0 -129
- package/components/dropdown/demo/dropdown-flicker-inner.html +0 -70
- package/components/dropdown/demo/dropdown-flicker.html +0 -142
- package/components/dropdown/demo/dropdown-menu-demo-view.js +0 -37
- package/components/dropdown/demo/dropdown-menu.html +0 -227
- package/components/dropdown/demo/dropdown-more.html +0 -160
- package/components/dropdown/demo/dropdown-positioning.html +0 -127
- package/components/dropdown/demo/dropdown-tabs.html +0 -87
- package/components/dropdown/demo/dropdown.html +0 -217
- package/components/empty-state/demo/empty-state.html +0 -94
- package/components/expand-collapse/demo/expand-collapse-content.html +0 -58
- package/components/filter/demo/filter-load-more-demo.js +0 -182
- package/components/filter/demo/filter-overflow-group.html +0 -246
- package/components/filter/demo/filter-search-demo.js +0 -135
- package/components/filter/demo/filter-tags.html +0 -115
- package/components/filter/demo/filter.html +0 -230
- package/components/focus-trap/demo/focus-trap.html +0 -75
- package/components/form/demo/form-demo.js +0 -105
- package/components/form/demo/form-dialog-demo.js +0 -94
- package/components/form/demo/form-panel-demo.js +0 -89
- package/components/form/demo/form.html +0 -37
- package/components/hierarchical-view/demo/hierarchical-view.html +0 -221
- package/components/html-block/demo/html-block-code.html +0 -55
- package/components/html-block/demo/html-block.html +0 -696
- package/components/icons/demo/icon-color-override.js +0 -23
- package/components/icons/demo/icon-custom.html +0 -112
- package/components/icons/demo/icon-size-override.js +0 -24
- package/components/icons/demo/icon.html +0 -52
- package/components/inputs/demo/input-checkbox.html +0 -118
- package/components/inputs/demo/input-color-palette.js +0 -67
- package/components/inputs/demo/input-color.html +0 -110
- package/components/inputs/demo/input-date-range.html +0 -114
- package/components/inputs/demo/input-date-time-range.html +0 -128
- package/components/inputs/demo/input-date-time.html +0 -100
- package/components/inputs/demo/input-date.html +0 -81
- package/components/inputs/demo/input-group.html +0 -56
- package/components/inputs/demo/input-number.html +0 -136
- package/components/inputs/demo/input-percent.html +0 -99
- package/components/inputs/demo/input-radio-label-test.js +0 -45
- package/components/inputs/demo/input-radio-solo-test.js +0 -47
- package/components/inputs/demo/input-radio.html +0 -119
- package/components/inputs/demo/input-search.html +0 -75
- package/components/inputs/demo/input-select-test.js +0 -60
- package/components/inputs/demo/input-select.html +0 -45
- package/components/inputs/demo/input-text.html +0 -163
- package/components/inputs/demo/input-textarea.html +0 -124
- package/components/inputs/demo/input-time-range.html +0 -121
- package/components/inputs/demo/input-time.html +0 -95
- package/components/link/demo/link.html +0 -111
- package/components/list/demo/demo-list-nav.js +0 -170
- package/components/list/demo/demo-list-nested-iterations-helper.js +0 -168
- package/components/list/demo/demo-list-nested-lazy-load.js +0 -133
- package/components/list/demo/demo-list-nested.js +0 -291
- package/components/list/demo/demo-list.js +0 -241
- package/components/list/demo/list-color.html +0 -423
- package/components/list/demo/list-demo-scenarios.js +0 -380
- package/components/list/demo/list-drag-and-drop-position.js +0 -102
- package/components/list/demo/list-drag-and-drop.html +0 -82
- package/components/list/demo/list-expand-collapse.html +0 -136
- package/components/list/demo/list-item-actions.html +0 -371
- package/components/list/demo/list-item-custom.js +0 -204
- package/components/list/demo/list-item-layouts.html +0 -331
- package/components/list/demo/list-item-scroll.html +0 -122
- package/components/list/demo/list-layout.html +0 -575
- package/components/list/demo/list-nav.html +0 -110
- package/components/list/demo/list-nested.html +0 -270
- package/components/list/demo/list-selection.html +0 -301
- package/components/list/demo/list.html +0 -319
- package/components/loading-spinner/demo/loading-spinner-override.js +0 -34
- package/components/loading-spinner/demo/loading-spinner.html +0 -63
- package/components/menu/demo/checkbox-menu.html +0 -52
- package/components/menu/demo/custom-menu-item.js +0 -37
- package/components/menu/demo/custom-view.js +0 -63
- package/components/menu/demo/menu.html +0 -211
- package/components/menu/demo/radio-menu.html +0 -52
- package/components/meter/demo/meter.html +0 -115
- package/components/more-less/demo/more-less-test.js +0 -67
- package/components/more-less/demo/more-less.html +0 -71
- package/components/object-property-list/demo/object-property-list.html +0 -99
- package/components/offscreen/demo/offscreen-demo.js +0 -16
- package/components/offscreen/demo/offscreen.html +0 -44
- package/components/overflow-group/demo/demo-overflow-group.js +0 -29
- package/components/overflow-group/demo/overflow-group.html +0 -110
- package/components/paging/demo/pager-load-more.html +0 -120
- package/components/popover/demo/popover.html +0 -309
- package/components/progress/demo/progress.html +0 -104
- package/components/scroll-wrapper/demo/scroll-wrapper-test.js +0 -108
- package/components/scroll-wrapper/demo/scroll-wrapper.html +0 -52
- package/components/selection/demo/demo-selection.js +0 -35
- package/components/selection/demo/selection.html +0 -198
- package/components/skeleton/demo/skeleton-group-nested-test.js +0 -71
- package/components/skeleton/demo/skeleton-group-test-wrapper.js +0 -18
- package/components/skeleton/demo/skeleton-group-test.js +0 -91
- package/components/skeleton/demo/skeleton-mixin.html +0 -78
- package/components/skeleton/demo/skeleton-test-box.js +0 -34
- package/components/skeleton/demo/skeleton-test-container.js +0 -45
- package/components/skeleton/demo/skeleton-test-heading.js +0 -44
- package/components/skeleton/demo/skeleton-test-link.js +0 -47
- package/components/skeleton/demo/skeleton-test-paragraph.js +0 -54
- package/components/skeleton/demo/skeleton-test-stack.js +0 -38
- package/components/skeleton/demo/skeleton-test-width.js +0 -20
- package/components/sorting/demo/sort.html +0 -37
- package/components/status-indicator/demo/status-indicator.html +0 -99
- package/components/switch/demo/switch.html +0 -95
- package/components/table/demo/table-test.js +0 -271
- package/components/table/demo/table.html +0 -107
- package/components/tabs/demo/tab-custom.js +0 -39
- package/components/tabs/demo/tabs-array.js +0 -43
- package/components/tabs/demo/tabs.html +0 -558
- package/components/tag-list/demo/tag-list.html +0 -117
- package/components/tooltip/demo/tooltip.html +0 -275
- package/components/typography/demo/typography.html +0 -93
- package/components/view-switcher/demo/demo-table-view.js +0 -41
- package/components/view-switcher/demo/view-switcher.html +0 -71
- package/directives/animate/demo/animate-test.js +0 -98
- package/directives/animate/demo/index.html +0 -23
- package/helpers/demo/announce-test.js +0 -37
- package/helpers/demo/announce.html +0 -19
- package/helpers/demo/dismissible-test.js +0 -66
- package/helpers/demo/dismissible.html +0 -38
- package/helpers/demo/gestures.html +0 -58
- package/helpers/demo/prism.html +0 -694
- package/helpers/demo/template-tags.html +0 -118
- package/mixins/arrow-keys/demo/arrow-keys-mixin.html +0 -29
- package/mixins/arrow-keys/demo/arrow-keys-test.js +0 -38
- package/mixins/async-container/demo/async-container.html +0 -109
- package/mixins/async-container/demo/async-container.js +0 -27
- package/mixins/async-container/demo/async-item.js +0 -80
- package/mixins/labelled/demo/labelled-mixin.html +0 -90
- package/mixins/localize/demo/localize-mixin-greeting.js +0 -39
- package/mixins/localize/demo/localize-mixin-mission.js +0 -25
- package/mixins/localize/demo/localize-mixin.html +0 -28
- package/templates/primary-secondary/demo/form.html +0 -55
- package/templates/primary-secondary/demo/index.html +0 -27
- package/templates/primary-secondary/demo/integration.html +0 -457
- package/templates/primary-secondary/demo/overflow-hidden.html +0 -22
- package/templates/primary-secondary/demo/width-type-normal.html +0 -26
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en" data-timezone='{"name":"Canada - Toronto", "identifier":"America/Toronto"}'>
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1, user-scalable=yes">
|
|
6
|
-
<link rel="stylesheet" href="../../demo/styles.css" type="text/css">
|
|
7
|
-
<script type="module">
|
|
8
|
-
import '../../demo/demo-page.js';
|
|
9
|
-
import '../filter.js';
|
|
10
|
-
import '../filter-dimension-set.js';
|
|
11
|
-
import '../filter-dimension-set-value.js';
|
|
12
|
-
import '../../filter/filter-dimension-set-date-text-value.js';
|
|
13
|
-
import '../../filter/filter-dimension-set-date-time-range-value.js';
|
|
14
|
-
import '../filter-tags.js';
|
|
15
|
-
</script>
|
|
16
|
-
<style>
|
|
17
|
-
d2l-demo-snippet {
|
|
18
|
-
max-width: 1400px;
|
|
19
|
-
}
|
|
20
|
-
</style>
|
|
21
|
-
</head>
|
|
22
|
-
<body unresolved class="d2l-typography">
|
|
23
|
-
|
|
24
|
-
<d2l-demo-page page-title="d2l-filter-tags">
|
|
25
|
-
|
|
26
|
-
<div class="d2l-body-compact">
|
|
27
|
-
Use these d2l-filters to control the applied filters in the demos below. The first filter is set up to send the dimension and value to the subscribers. The second filter only sends the value.
|
|
28
|
-
</div>
|
|
29
|
-
|
|
30
|
-
<d2l-filter id="core-filter">
|
|
31
|
-
<d2l-filter-dimension-set key="1" text="Dim 1">
|
|
32
|
-
<d2l-filter-dimension-set-value selected text="Option 1 - 1" key="1" ></d2l-filter-dimension-set-value>
|
|
33
|
-
<d2l-filter-dimension-set-value selected text="Option 1 - 2" key="2"></d2l-filter-dimension-set-value>
|
|
34
|
-
<d2l-filter-dimension-set-value text="Option 1 - 3" key="3"></d2l-filter-dimension-set-value>
|
|
35
|
-
<d2l-filter-dimension-set-value text="Option 1 - 4" key="4"></d2l-filter-dimension-set-value>
|
|
36
|
-
</d2l-filter-dimension-set>
|
|
37
|
-
<d2l-filter-dimension-set key="2" text="Dim 2">
|
|
38
|
-
<d2l-filter-dimension-set-value text="Option 2 - 1" key="1"></d2l-filter-dimension-set-value>
|
|
39
|
-
<d2l-filter-dimension-set-value selected text="Option 2 - 2" key="2"></d2l-filter-dimension-set-value>
|
|
40
|
-
<d2l-filter-dimension-set-value selected text="Option 2 - 3" key="3"></d2l-filter-dimension-set-value>
|
|
41
|
-
</d2l-filter-dimension-set>
|
|
42
|
-
</d2l-filter>
|
|
43
|
-
|
|
44
|
-
<d2l-filter id="core-filter-2">
|
|
45
|
-
<d2l-filter-dimension-set key="1" text="Dim 1" value-only-active-filter-text>
|
|
46
|
-
<d2l-filter-dimension-set-value selected text="Option 1 - 1" key="1" ></d2l-filter-dimension-set-value>
|
|
47
|
-
<d2l-filter-dimension-set-value text="Option 1 - 2" key="2"></d2l-filter-dimension-set-value>
|
|
48
|
-
<d2l-filter-dimension-set-value text="Option 1 - 3" key="3"></d2l-filter-dimension-set-value>
|
|
49
|
-
<d2l-filter-dimension-set-value text="Option 1 - 4" key="4"></d2l-filter-dimension-set-value>
|
|
50
|
-
</d2l-filter-dimension-set>
|
|
51
|
-
<d2l-filter-dimension-set key="2" text="Dim 2" value-only-active-filter-text>
|
|
52
|
-
<d2l-filter-dimension-set-value selected text="Option 2 - 1" key="1"></d2l-filter-dimension-set-value>
|
|
53
|
-
<d2l-filter-dimension-set-value text="Option 2 - 2" key="2"></d2l-filter-dimension-set-value>
|
|
54
|
-
<d2l-filter-dimension-set-value text="Option 2 - 3" key="3"></d2l-filter-dimension-set-value>
|
|
55
|
-
</d2l-filter-dimension-set>
|
|
56
|
-
</d2l-filter>
|
|
57
|
-
|
|
58
|
-
<d2l-filter id="dates-filter">
|
|
59
|
-
<d2l-filter-dimension-set key="dates" text="Dates" value-only-active-filter-text>
|
|
60
|
-
<d2l-filter-dimension-set-value key="lastweek" text="Last 60 days"></d2l-filter-dimension-set-value>
|
|
61
|
-
<d2l-filter-dimension-set-date-text-value key="lastHour" range="lastHour"></d2l-filter-dimension-set-date-text-value>
|
|
62
|
-
<d2l-filter-dimension-set-date-text-value key="48hours" range="48hours" disabled></d2l-filter-dimension-set-date-text-value>
|
|
63
|
-
<d2l-filter-dimension-set-date-text-value key="today" range="today"></d2l-filter-dimension-set-date-text-value>
|
|
64
|
-
<d2l-filter-dimension-set-date-text-value key="6months" range="6months"></d2l-filter-dimension-set-date-text-value>
|
|
65
|
-
<d2l-filter-dimension-set-date-time-range-value key="custom" type="date" selected start-value="2022-02-04T12:00:00Z"></d2l-filter-dimension-set-date-time-range-value>
|
|
66
|
-
<d2l-filter-dimension-set-date-time-range-value key="custom2" text="Custom Date Range with Time"></d2l-filter-dimension-set-date-time-range-value>
|
|
67
|
-
</d2l-filter-dimension-set>
|
|
68
|
-
</d2l-filter>
|
|
69
|
-
<script>
|
|
70
|
-
const coreFilter = document.querySelector('#core-filter');
|
|
71
|
-
coreFilter.addEventListener('d2l-filter-dimension-first-open', (e) => {
|
|
72
|
-
logEvent(e, 'Filter dimension opened!');
|
|
73
|
-
});
|
|
74
|
-
coreFilter.addEventListener('d2l-filter-dimension-search', (e) => {
|
|
75
|
-
logEvent(e, 'Filter dimension searched!');
|
|
76
|
-
});
|
|
77
|
-
coreFilter.addEventListener('d2l-filter-change', (e) => {
|
|
78
|
-
logEvent(e, 'Filter value(s) changed!');
|
|
79
|
-
});
|
|
80
|
-
function logEvent(e, text) {
|
|
81
|
-
console.group(text);
|
|
82
|
-
console.log('event', e);
|
|
83
|
-
if (e.detail) console.log('detail', e.detail);
|
|
84
|
-
console.groupEnd();
|
|
85
|
-
}
|
|
86
|
-
</script>
|
|
87
|
-
|
|
88
|
-
<h2>Registered to both filters</h2>
|
|
89
|
-
|
|
90
|
-
<d2l-demo-snippet>
|
|
91
|
-
<d2l-filter-tags filter-ids="core-filter core-filter-2"></d2l-filter-tags>
|
|
92
|
-
</d2l-demo-snippet>
|
|
93
|
-
|
|
94
|
-
<h2>Registered to only the first filter</h2>
|
|
95
|
-
|
|
96
|
-
<d2l-demo-snippet>
|
|
97
|
-
<d2l-filter-tags filter-ids="core-filter"></d2l-filter-tags>
|
|
98
|
-
</d2l-demo-snippet>
|
|
99
|
-
|
|
100
|
-
<h2>Registered to first filter and dates filter</h2>
|
|
101
|
-
|
|
102
|
-
<d2l-demo-snippet>
|
|
103
|
-
<d2l-filter-tags filter-ids="core-filter dates-filter"></d2l-filter-tags>
|
|
104
|
-
</d2l-demo-snippet>
|
|
105
|
-
|
|
106
|
-
<h2>Registered to dates filter</h2>
|
|
107
|
-
|
|
108
|
-
<d2l-demo-snippet>
|
|
109
|
-
<d2l-filter-tags filter-ids="dates-filter"></d2l-filter-tags>
|
|
110
|
-
</d2l-demo-snippet>
|
|
111
|
-
|
|
112
|
-
</d2l-demo-page>
|
|
113
|
-
|
|
114
|
-
</body>
|
|
115
|
-
</html>
|
|
@@ -1,230 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en" data-timezone='{"name":"Canada - Toronto", "identifier":"America/Toronto"}'>
|
|
3
|
-
|
|
4
|
-
<head>
|
|
5
|
-
<link rel="stylesheet" href="../../demo/styles.css" type="text/css">
|
|
6
|
-
<script type="module">
|
|
7
|
-
import '../../demo/demo-page.js';
|
|
8
|
-
import '../../button/button.js';
|
|
9
|
-
import '../../filter/filter.js';
|
|
10
|
-
import '../../filter/filter-dimension-set.js';
|
|
11
|
-
import '../../filter/filter-dimension-set-empty-state.js';
|
|
12
|
-
import '../../filter/filter-dimension-set-value.js';
|
|
13
|
-
import '../../filter/filter-dimension-set-date-text-value.js';
|
|
14
|
-
import '../../filter/filter-dimension-set-date-time-range-value.js';
|
|
15
|
-
import './filter-search-demo.js';
|
|
16
|
-
import './filter-load-more-demo.js';
|
|
17
|
-
</script>
|
|
18
|
-
<meta name="viewport" content="width=device-width, minimum-scale=1, initial-scale=1.0">
|
|
19
|
-
<meta charset="UTF-8">
|
|
20
|
-
</head>
|
|
21
|
-
|
|
22
|
-
<body unresolved>
|
|
23
|
-
|
|
24
|
-
<d2l-demo-page page-title="d2l-filter">
|
|
25
|
-
|
|
26
|
-
<h2>Single Set Dimension</h2>
|
|
27
|
-
<d2l-demo-snippet>
|
|
28
|
-
<template>
|
|
29
|
-
<d2l-filter id="filter-single">
|
|
30
|
-
<d2l-filter-dimension-set key="course" introductory-text="Filter content by courses. Start typing any course name to explore." text="Course" select-all>
|
|
31
|
-
<d2l-filter-dimension-set-value key="art" text="Art" count="12"></d2l-filter-dimension-set-value>
|
|
32
|
-
<d2l-filter-dimension-set-value key="astronomy" text="Astronomy" count="2" selected></d2l-filter-dimension-set-value>
|
|
33
|
-
<d2l-filter-dimension-set-value key="biology" text="Biology" count="15"></d2l-filter-dimension-set-value>
|
|
34
|
-
<d2l-filter-dimension-set-value key="chemistry" text="Chemistry" count="1" disabled selected></d2l-filter-dimension-set-value>
|
|
35
|
-
<d2l-filter-dimension-set-value key="drama" text="Drama" count="23" disabled></d2l-filter-dimension-set-value>
|
|
36
|
-
<d2l-filter-dimension-set-value key="english" text="English" count="100"></d2l-filter-dimension-set-value>
|
|
37
|
-
<d2l-filter-dimension-set-value key="how-to" text="How To Write a How To Article With a Flashy Title" count="100"></d2l-filter-dimension-set-value>
|
|
38
|
-
<d2l-filter-dimension-set-value key="math" text="Math" count="50"></d2l-filter-dimension-set-value>
|
|
39
|
-
<d2l-filter-dimension-set-value key="physics" text="Physics" count="23"></d2l-filter-dimension-set-value>
|
|
40
|
-
<d2l-filter-dimension-set-value key="stats" text="Statistics" count="333"></d2l-filter-dimension-set-value>
|
|
41
|
-
<d2l-filter-dimension-set-value key="writerscraft" text="Writer's Craft" count="2211"></d2l-filter-dimension-set-value>
|
|
42
|
-
<d2l-filter-dimension-set-empty-state slot="search-empty-state" description="Search returned no results." action-text="Do something"></d2l-filter-dimension-set-empty-state>
|
|
43
|
-
<d2l-filter-dimension-set-empty-state slot="set-empty-state" description="There are no available items." action-text="Add an item"></d2l-filter-dimension-set-empty-state>
|
|
44
|
-
</d2l-filter-dimension-set>
|
|
45
|
-
</d2l-filter>
|
|
46
|
-
</template>
|
|
47
|
-
</d2l-demo-snippet>
|
|
48
|
-
|
|
49
|
-
<h2>Single Set Dimension - Single Selection</h2>
|
|
50
|
-
<d2l-demo-snippet>
|
|
51
|
-
<template>
|
|
52
|
-
<d2l-filter>
|
|
53
|
-
<d2l-filter-dimension-set key="semester" text="Semester" selection-single>
|
|
54
|
-
<d2l-filter-dimension-set-value key="fall" text="Fall"></d2l-filter-dimension-set-value>
|
|
55
|
-
<d2l-filter-dimension-set-value key="winter" text="Winter" selected></d2l-filter-dimension-set-value>
|
|
56
|
-
<d2l-filter-dimension-set-value key="spring" text="Spring" disabled></d2l-filter-dimension-set-value>
|
|
57
|
-
<d2l-filter-dimension-set-value key="summer" text="Summer"></d2l-filter-dimension-set-value>
|
|
58
|
-
</d2l-filter-dimension-set>
|
|
59
|
-
</d2l-filter>
|
|
60
|
-
</template>
|
|
61
|
-
</d2l-demo-snippet>
|
|
62
|
-
|
|
63
|
-
<h2>Single Set Dimension - Header Text and Selected First</h2>
|
|
64
|
-
<d2l-demo-snippet>
|
|
65
|
-
<template>
|
|
66
|
-
<d2l-filter id="filter-single">
|
|
67
|
-
<d2l-filter-dimension-set key="course" introductory-text="Filter content by courses. Start typing any course name to explore." header-text="Skills Promoted at Your Company" text="Course" select-all selected-first>
|
|
68
|
-
<d2l-filter-dimension-set-value key="art" text="Art" count="12"></d2l-filter-dimension-set-value>
|
|
69
|
-
<d2l-filter-dimension-set-value key="astronomy" text="Astronomy" count="2" selected></d2l-filter-dimension-set-value>
|
|
70
|
-
<d2l-filter-dimension-set-value key="biology" text="Biology" count="15"></d2l-filter-dimension-set-value>
|
|
71
|
-
<d2l-filter-dimension-set-value key="chemistry" text="Chemistry" count="1"disabled></d2l-filter-dimension-set-value>
|
|
72
|
-
<d2l-filter-dimension-set-value key="drama" text="Drama" count="23" disabled></d2l-filter-dimension-set-value>
|
|
73
|
-
<d2l-filter-dimension-set-value key="english" text="English" count="100"></d2l-filter-dimension-set-value>
|
|
74
|
-
<d2l-filter-dimension-set-value key="physics" text="Physics" count="23"></d2l-filter-dimension-set-value>
|
|
75
|
-
<d2l-filter-dimension-set-value key="stats" text="Statistics" count="333"></d2l-filter-dimension-set-value>
|
|
76
|
-
<d2l-filter-dimension-set-value key="writerscraft" text="Writer's Craft" count="2211"></d2l-filter-dimension-set-value>
|
|
77
|
-
</d2l-filter-dimension-set>
|
|
78
|
-
</d2l-filter>
|
|
79
|
-
</template>
|
|
80
|
-
</d2l-demo-snippet>
|
|
81
|
-
|
|
82
|
-
<h2>Multiple Dimensions</h2>
|
|
83
|
-
<d2l-demo-snippet>
|
|
84
|
-
<template>
|
|
85
|
-
<d2l-filter>
|
|
86
|
-
<d2l-filter-dimension-set key="course" introductory-text="Filter content by courses. Start typing any course name to explore." header-text="Skills Promoted at Your Company" text="Course" select-all>
|
|
87
|
-
<d2l-filter-dimension-set-value key="art" text="Art" count="0"></d2l-filter-dimension-set-value>
|
|
88
|
-
<d2l-filter-dimension-set-value key="astronomy" text="Astronomy" count="1" selected></d2l-filter-dimension-set-value>
|
|
89
|
-
<d2l-filter-dimension-set-value key="biology" text="Biology" count="-12"></d2l-filter-dimension-set-value>
|
|
90
|
-
<d2l-filter-dimension-set-value key="chemistry" text="Chemistry" count="12.35"></d2l-filter-dimension-set-value>
|
|
91
|
-
<d2l-filter-dimension-set-value key="drama" text="Drama" count="xxx"></d2l-filter-dimension-set-value>
|
|
92
|
-
<d2l-filter-dimension-set-value key="english" text="English" count="881"></d2l-filter-dimension-set-value>
|
|
93
|
-
<d2l-filter-dimension-set-value key="how-to" text="How To Write a How To Article With a Flashy Title" count="100"></d2l-filter-dimension-set-value>
|
|
94
|
-
<d2l-filter-dimension-set-value key="math" text="Math" count="23909"></d2l-filter-dimension-set-value>
|
|
95
|
-
<d2l-filter-dimension-set-value key="physics" text="Physics" count="1012"></d2l-filter-dimension-set-value>
|
|
96
|
-
<d2l-filter-dimension-set-value key="stats" text="Statistics" count="2"></d2l-filter-dimension-set-value>
|
|
97
|
-
<d2l-filter-dimension-set-value key="writerscraft" text="Writer's Craft"></d2l-filter-dimension-set-value>
|
|
98
|
-
<d2l-filter-dimension-set-empty-state slot="search-empty-state" description="Search returned no results." action-text="Do something" action-href="https://d2l.com/"></d2l-filter-dimension-set-empty-state>
|
|
99
|
-
</d2l-filter-dimension-set>
|
|
100
|
-
<d2l-filter-dimension-set key="role" text="Role" selected-first>
|
|
101
|
-
<d2l-filter-dimension-set-value key="admin" text="Admin" count="0"></d2l-filter-dimension-set-value>
|
|
102
|
-
<d2l-filter-dimension-set-value key="instructor" text="Instructor" count="22"></d2l-filter-dimension-set-value>
|
|
103
|
-
<d2l-filter-dimension-set-value key="student" text="Student" count="50"></d2l-filter-dimension-set-value>
|
|
104
|
-
</d2l-filter-dimension-set>
|
|
105
|
-
<d2l-filter-dimension-set key="semester" text="Semester" selection-single>
|
|
106
|
-
<d2l-filter-dimension-set-value key="fall" text="Fall"></d2l-filter-dimension-set-value>
|
|
107
|
-
<d2l-filter-dimension-set-value key="winter" text="Winter" selected></d2l-filter-dimension-set-value>
|
|
108
|
-
<d2l-filter-dimension-set-value key="spring" text="Spring"></d2l-filter-dimension-set-value>
|
|
109
|
-
<d2l-filter-dimension-set-value key="summer" text="Summer"></d2l-filter-dimension-set-value>
|
|
110
|
-
</d2l-filter-dimension-set>
|
|
111
|
-
</d2l-filter>
|
|
112
|
-
</template>
|
|
113
|
-
</d2l-demo-snippet>
|
|
114
|
-
|
|
115
|
-
<h2>Loading and Empty State</h2>
|
|
116
|
-
<d2l-demo-snippet>
|
|
117
|
-
<template>
|
|
118
|
-
<d2l-filter>
|
|
119
|
-
<d2l-filter-dimension-set key="course" text="Course" loading select-all>
|
|
120
|
-
<d2l-filter-dimension-set-value key="art" text="Art"></d2l-filter-dimension-set-value>
|
|
121
|
-
<d2l-filter-dimension-set-value key="astronomy" text="Astronomy"></d2l-filter-dimension-set-value>
|
|
122
|
-
<d2l-filter-dimension-set-value key="biology" text="Biology"></d2l-filter-dimension-set-value>
|
|
123
|
-
<d2l-filter-dimension-set-value key="chemistry" text="Chemistry"></d2l-filter-dimension-set-value>
|
|
124
|
-
<d2l-filter-dimension-set-value key="drama" text="Drama"></d2l-filter-dimension-set-value>
|
|
125
|
-
<d2l-filter-dimension-set-value key="english" text="English"></d2l-filter-dimension-set-value>
|
|
126
|
-
<d2l-filter-dimension-set-value key="how-to" text="How To Write a How To Article With a Flashy Title"></d2l-filter-dimension-set-value>
|
|
127
|
-
<d2l-filter-dimension-set-value key="math" text="Math"></d2l-filter-dimension-set-value>
|
|
128
|
-
<d2l-filter-dimension-set-value key="physics" text="Physics"></d2l-filter-dimension-set-value>
|
|
129
|
-
<d2l-filter-dimension-set-value key="stats" text="Statistics"></d2l-filter-dimension-set-value>
|
|
130
|
-
<d2l-filter-dimension-set-value key="writerscraft" text="Writer's Craft"></d2l-filter-dimension-set-value>
|
|
131
|
-
</d2l-filter-dimension-set>
|
|
132
|
-
|
|
133
|
-
</d2l-filter>
|
|
134
|
-
<d2l-filter text="More Filters">
|
|
135
|
-
<d2l-filter-dimension-set key="course" text="Course" loading select-all></d2l-filter-dimension-set>
|
|
136
|
-
<d2l-filter-dimension-set key="role" text="Role" loading>
|
|
137
|
-
<d2l-filter-dimension-set-value key="admin" text="Admin"></d2l-filter-dimension-set-value>
|
|
138
|
-
<d2l-filter-dimension-set-value key="instructor" text="Instructor"></d2l-filter-dimension-set-value>
|
|
139
|
-
<d2l-filter-dimension-set-value key="student" text="Student"></d2l-filter-dimension-set-value>
|
|
140
|
-
</d2l-filter-dimension-set>
|
|
141
|
-
<d2l-filter-dimension-set key="semester" text="Semester" loading selection-single></d2l-filter-dimension-set>
|
|
142
|
-
</d2l-filter>
|
|
143
|
-
<d2l-button id="finish-loading">Finish loading (in 5 seconds)</d2l-button>
|
|
144
|
-
</template>
|
|
145
|
-
</d2l-demo-snippet>
|
|
146
|
-
|
|
147
|
-
<h2>Load More</h2>
|
|
148
|
-
<d2l-demo-snippet>
|
|
149
|
-
<template>
|
|
150
|
-
<d2l-filter-load-more-demo></d2l-filter-load-more-demo>
|
|
151
|
-
</template>
|
|
152
|
-
</d2l-demo-snippet>
|
|
153
|
-
|
|
154
|
-
<h2>Search</h2>
|
|
155
|
-
<d2l-demo-snippet>
|
|
156
|
-
<template>
|
|
157
|
-
<d2l-filter-search-demo></d2l-filter-search-demo>
|
|
158
|
-
</template>
|
|
159
|
-
</d2l-demo-snippet>
|
|
160
|
-
|
|
161
|
-
<h2>Date Filter</h2>
|
|
162
|
-
<d2l-demo-snippet>
|
|
163
|
-
<template>
|
|
164
|
-
<d2l-filter id="filter-single">
|
|
165
|
-
<d2l-filter-dimension-set key="dates" text="Dates">
|
|
166
|
-
<d2l-filter-dimension-set-value key="60days" text="Last 60 days"></d2l-filter-dimension-set-value>
|
|
167
|
-
<d2l-filter-dimension-set-date-text-value key="lastHour" range="lastHour" ></d2l-filter-dimension-set-date-text-value>
|
|
168
|
-
<d2l-filter-dimension-set-date-text-value key="48hours" range="48hours" disabled></d2l-filter-dimension-set-date-text-value>
|
|
169
|
-
<d2l-filter-dimension-set-date-text-value key="today" range="today"></d2l-filter-dimension-set-date-text-value>
|
|
170
|
-
<d2l-filter-dimension-set-date-text-value key="6months" range="6months"></d2l-filter-dimension-set-date-text-value>
|
|
171
|
-
<d2l-filter-dimension-set-date-time-range-value key="custom" type="date"></d2l-filter-dimension-set-date-time-range-value>
|
|
172
|
-
<d2l-filter-dimension-set-date-time-range-value key="custom2" text="Custom Date Range with Time" start-value="2024-10-12T12:00:00Z"></d2l-filter-dimension-set-date-time-range-value>
|
|
173
|
-
</d2l-filter-dimension-set>
|
|
174
|
-
<d2l-filter-dimension-set key="dates2" text="Dates (short)">
|
|
175
|
-
<d2l-filter-dimension-set-date-text-value key="6months2" range="6months"></d2l-filter-dimension-set-date-text-value>
|
|
176
|
-
<d2l-filter-dimension-set-date-time-range-value key="custom3" text="Custom Date Range with Time" start-value="2024-10-12T12:00:00Z"></d2l-filter-dimension-set-date-time-range-value>
|
|
177
|
-
</d2l-filter-dimension-set>
|
|
178
|
-
<d2l-filter-dimension-set key="dates3" text="Start and End Ranges" ignore-enforce-selection-single>
|
|
179
|
-
<d2l-filter-dimension-set-date-text-value key="6months" range="6months"></d2l-filter-dimension-set-date-text-value>
|
|
180
|
-
<d2l-filter-dimension-set-date-time-range-value key="custom4" text="Start Date"></d2l-filter-dimension-set-date-time-range-value>
|
|
181
|
-
<d2l-filter-dimension-set-date-time-range-value key="custom5" text="End Date"></d2l-filter-dimension-set-date-time-range-value>
|
|
182
|
-
</d2l-filter-dimension-set>
|
|
183
|
-
<d2l-filter-dimension-set key="role" text="Role" selected-first>
|
|
184
|
-
<d2l-filter-dimension-set-value key="admin" text="Admin" count="0"></d2l-filter-dimension-set-value>
|
|
185
|
-
<d2l-filter-dimension-set-value key="instructor" text="Instructor" count="22"></d2l-filter-dimension-set-value>
|
|
186
|
-
<d2l-filter-dimension-set-value key="student" text="Student" count="50"></d2l-filter-dimension-set-value>
|
|
187
|
-
</d2l-filter-dimension-set>
|
|
188
|
-
</d2l-filter>
|
|
189
|
-
</template>
|
|
190
|
-
</d2l-demo-snippet>
|
|
191
|
-
</d2l-demo-page>
|
|
192
|
-
|
|
193
|
-
<script type="module">
|
|
194
|
-
document.addEventListener('d2l-filter-change', e => {
|
|
195
|
-
if (e.detail.dimensions.length === 1) {
|
|
196
|
-
console.log(`Filter selection(s) changed for dimension "${e.detail.dimensions[0].dimensionKey}":`, e.detail.dimensions[0].changes);
|
|
197
|
-
if (e.detail.dimensions[0].cleared) console.log(`(Dimension "${e.detail.dimensions[0].dimensionKey}" cleared)`);
|
|
198
|
-
} else {
|
|
199
|
-
console.log('Multiple dimension selections changed:', e.detail.dimensions);
|
|
200
|
-
}
|
|
201
|
-
|
|
202
|
-
if (e.detail.allCleared) {
|
|
203
|
-
console.log('(All dimensions cleared)');
|
|
204
|
-
}
|
|
205
|
-
});
|
|
206
|
-
|
|
207
|
-
document.addEventListener('d2l-filter-dimension-first-open', e => {
|
|
208
|
-
console.log(`Filter dimension opened for the first time: ${e.detail.key}`);
|
|
209
|
-
});
|
|
210
|
-
|
|
211
|
-
document.querySelector('#filter-single').addEventListener('d2l-filter-dimension-empty-state-action', e => {
|
|
212
|
-
console.log(`Filter dimension empty state action clicked:\nkey: ${e.detail.key}\ntype: ${e.detail.type}`);
|
|
213
|
-
});
|
|
214
|
-
|
|
215
|
-
requestAnimationFrame(() => {
|
|
216
|
-
document.getElementById('finish-loading').addEventListener('click', e => {
|
|
217
|
-
e.target.disabled = true;
|
|
218
|
-
setTimeout(() => {
|
|
219
|
-
const loadingFilters = document.querySelectorAll('d2l-filter-dimension-set[loading]');
|
|
220
|
-
loadingFilters.forEach(filter => {
|
|
221
|
-
filter.loading = false;
|
|
222
|
-
});
|
|
223
|
-
e.target.textContent = 'Done Loading';
|
|
224
|
-
}, 5000);
|
|
225
|
-
});
|
|
226
|
-
});
|
|
227
|
-
</script>
|
|
228
|
-
|
|
229
|
-
</body>
|
|
230
|
-
</html>
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
5
|
-
<meta charset="UTF-8">
|
|
6
|
-
<link rel="stylesheet" href="../../demo/styles.css" type="text/css">
|
|
7
|
-
<script type="module">
|
|
8
|
-
import '../../demo/demo-page.js';
|
|
9
|
-
import '../../inputs/input-checkbox.js';
|
|
10
|
-
import '../../link/link.js';
|
|
11
|
-
import '../focus-trap.js';
|
|
12
|
-
</script>
|
|
13
|
-
<style>
|
|
14
|
-
d2l-focus-trap {
|
|
15
|
-
border: 2px dashed var(--d2l-color-celestine);
|
|
16
|
-
border-radius: 6px;
|
|
17
|
-
display: block;
|
|
18
|
-
margin: 0.6rem 0;
|
|
19
|
-
padding: 0.6rem;
|
|
20
|
-
}
|
|
21
|
-
d2l-link {
|
|
22
|
-
display: block;
|
|
23
|
-
}
|
|
24
|
-
</style>
|
|
25
|
-
</head>
|
|
26
|
-
<body unresolved>
|
|
27
|
-
|
|
28
|
-
<d2l-demo-page page-title="d2l-focus-trap">
|
|
29
|
-
|
|
30
|
-
<h2>Focus Trap</h2>
|
|
31
|
-
|
|
32
|
-
<d2l-demo-snippet>
|
|
33
|
-
<template>
|
|
34
|
-
<d2l-link href="http://www.d2l.com">Before Trap</d2l-link>
|
|
35
|
-
<d2l-focus-trap trap>
|
|
36
|
-
<d2l-link href="http://www.d2l.com">Inside Trap</d2l-link>
|
|
37
|
-
<d2l-input-checkbox checked label="Trapping"></d2l-input-checkbox>
|
|
38
|
-
Trysail Sail ho Corsair red ensign hulk smartly boom jib rum gangway.
|
|
39
|
-
<d2l-link href="http://www.d2l.com">Inside Trap</d2l-link>
|
|
40
|
-
</d2l-focus-trap>
|
|
41
|
-
<d2l-link href="http://www.d2l.com">After Trap</d2l-link>
|
|
42
|
-
</template>
|
|
43
|
-
</d2l-demo-snippet>
|
|
44
|
-
|
|
45
|
-
<h2>Focus Trap (Custom Focus First)</h2>
|
|
46
|
-
|
|
47
|
-
<d2l-demo-snippet>
|
|
48
|
-
<template>
|
|
49
|
-
<d2l-link href="http://www.d2l.com">Before Trap</d2l-link>
|
|
50
|
-
<d2l-focus-trap id="custom">
|
|
51
|
-
<d2l-link href="http://www.d2l.com">Inside Trap</d2l-link>
|
|
52
|
-
<d2l-input-checkbox label="Trapping"></d2l-input-checkbox>
|
|
53
|
-
Trysail Sail ho Corsair red ensign hulk smartly boom jib rum gangway.
|
|
54
|
-
<d2l-link href="http://www.d2l.com">Inside Trap</d2l-link>
|
|
55
|
-
</d2l-focus-trap>
|
|
56
|
-
<d2l-link href="http://www.d2l.com">After Trap</d2l-link>
|
|
57
|
-
<script>
|
|
58
|
-
document.querySelector('#custom').addEventListener('d2l-focus-trap-enter', (e) => {
|
|
59
|
-
e.target.querySelector('d2l-input-checkbox').focus();
|
|
60
|
-
});
|
|
61
|
-
</script>
|
|
62
|
-
</template>
|
|
63
|
-
</d2l-demo-snippet>
|
|
64
|
-
|
|
65
|
-
</d2l-demo-page>
|
|
66
|
-
|
|
67
|
-
<script>
|
|
68
|
-
document.addEventListener('change', (e) => {
|
|
69
|
-
const focusTrap = e.target.parentNode;
|
|
70
|
-
focusTrap.trap = e.target.checked;
|
|
71
|
-
});
|
|
72
|
-
</script>
|
|
73
|
-
|
|
74
|
-
</body>
|
|
75
|
-
</html>
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import '../../button/button.js';
|
|
3
|
-
import '../../button/floating-buttons.js';
|
|
4
|
-
import '../../inputs/input-date-time-range.js';
|
|
5
|
-
import '../../inputs/input-percent.js';
|
|
6
|
-
import '../../inputs/input-text.js';
|
|
7
|
-
import '../../inputs/input-textarea.js';
|
|
8
|
-
import '../../validation/validation-custom.js';
|
|
9
|
-
import '../form.js';
|
|
10
|
-
import './form-panel-demo.js';
|
|
11
|
-
import { css, html, LitElement } from 'lit';
|
|
12
|
-
import { inputStyles } from '../../inputs/input-styles.js';
|
|
13
|
-
import { selectStyles } from '../../inputs/input-select-styles.js';
|
|
14
|
-
|
|
15
|
-
class FormNestedDemo extends LitElement {
|
|
16
|
-
|
|
17
|
-
static get styles() {
|
|
18
|
-
return [inputStyles, selectStyles, css`
|
|
19
|
-
|
|
20
|
-
.d2l-form-demo-split-container {
|
|
21
|
-
display: flex;
|
|
22
|
-
margin-top: 18px;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.d2l-form-demo-container {
|
|
26
|
-
margin-bottom: 10px;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.d2l-form-demo-main {
|
|
30
|
-
flex-grow: 1;
|
|
31
|
-
padding: 0 20px 20px 0;
|
|
32
|
-
}
|
|
33
|
-
`];
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
render() {
|
|
37
|
-
return html`
|
|
38
|
-
<d2l-form id="root" @d2l-form-submit=${this._onRootSubmit}>
|
|
39
|
-
<div class="d2l-form-demo-split-container">
|
|
40
|
-
<d2l-form class="d2l-form-demo-main" @d2l-form-submit=${this._onMainSubmit}>
|
|
41
|
-
<div class="d2l-form-demo-container">
|
|
42
|
-
<d2l-input-text label="Email" name="email" type="email"></d2l-input-text>
|
|
43
|
-
</div>
|
|
44
|
-
<div class="d2l-form-demo-container">
|
|
45
|
-
<d2l-validation-custom for="password" @d2l-validation-custom-validate=${this._validatePassword} failure-text="Expected hunter2" ></d2l-validation-custom>
|
|
46
|
-
<d2l-input-text id="password" label="Password" name="password" required type="password"></d2l-input-text>
|
|
47
|
-
</div>
|
|
48
|
-
<div class="d2l-form-demo-container">
|
|
49
|
-
<d2l-input-textarea label="Description" name="description" rows="2" required></d2l-input-textarea>
|
|
50
|
-
</div>
|
|
51
|
-
<div class="d2l-form-demo-container">
|
|
52
|
-
<d2l-input-percent label="Awesome" name="grade"></d2l-input-percent>
|
|
53
|
-
</div>
|
|
54
|
-
<div class="d2l-form-demo-container">
|
|
55
|
-
<d2l-input-date-time-range label="Date Range"></d2l-input-date-time-range>
|
|
56
|
-
</div>
|
|
57
|
-
<fieldset class="d2l-form-demo-container">
|
|
58
|
-
<legend>Choose your favorite monster</legend>
|
|
59
|
-
<label><input type="radio" name="monster" value="kraken"> Kraken</label>
|
|
60
|
-
<label><input type="radio" name="monster" value="sasquatch"> Sasquatch</label>
|
|
61
|
-
</fieldset>
|
|
62
|
-
<div class="d2l-form-demo-container">
|
|
63
|
-
<label>Favorite Pet<br/>
|
|
64
|
-
<select class="d2l-input-select" name="pets" required>
|
|
65
|
-
<option value="">--Please choose an option--</option>
|
|
66
|
-
<option value="porpoise">Porpoise</option>
|
|
67
|
-
<option value="house hippo">House Hippo</option>
|
|
68
|
-
<option value="spiker monkey">Spider Monkey</option>
|
|
69
|
-
<option value="capybara">Capybara</option>
|
|
70
|
-
</select>
|
|
71
|
-
</label>
|
|
72
|
-
</div>
|
|
73
|
-
</d2l-form>
|
|
74
|
-
<d2l-form-panel-demo></d2l-form-panel-demo>
|
|
75
|
-
</div>
|
|
76
|
-
<d2l-floating-buttons always-float>
|
|
77
|
-
<d2l-button primary @click=${this._submit}>Save</d2l-button>
|
|
78
|
-
<d2l-button @click=${this._reset}>Reset</d2l-button>
|
|
79
|
-
</d2l-floating-buttons>
|
|
80
|
-
</d2l-form>
|
|
81
|
-
`;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
_onMainSubmit(e) {
|
|
85
|
-
// eslint-disable-next-line no-console
|
|
86
|
-
console.log(e.detail.formData);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
_onRootSubmit(e) {
|
|
90
|
-
e.preventDefault();
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
_reset() {
|
|
94
|
-
if (this.shadowRoot) this.shadowRoot.querySelector('#root').resetValidation();
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
_submit() {
|
|
98
|
-
if (this.shadowRoot) this.shadowRoot.querySelector('#root').submit();
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
_validatePassword(e) {
|
|
102
|
-
e.detail.resolve(e.detail.forElement.value === 'hunter2');
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
customElements.define('d2l-form-demo', FormNestedDemo);
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import '../../button/button.js';
|
|
3
|
-
import '../../button/floating-buttons.js';
|
|
4
|
-
import '../../dialog/dialog.js';
|
|
5
|
-
import '../../inputs/input-text.js';
|
|
6
|
-
import '../../validation/validation-custom.js';
|
|
7
|
-
import '../form.js';
|
|
8
|
-
import './form-panel-demo.js';
|
|
9
|
-
import { css, html, LitElement } from 'lit';
|
|
10
|
-
import { inputStyles } from '../../inputs/input-styles.js';
|
|
11
|
-
import { selectStyles } from '../../inputs/input-select-styles.js';
|
|
12
|
-
|
|
13
|
-
class FormDialogDemo extends LitElement {
|
|
14
|
-
|
|
15
|
-
static get styles() {
|
|
16
|
-
return [inputStyles, selectStyles, css`
|
|
17
|
-
|
|
18
|
-
.d2l-form-dialog-demo-container {
|
|
19
|
-
margin-bottom: 10px;
|
|
20
|
-
}
|
|
21
|
-
`];
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
render() {
|
|
25
|
-
return html`
|
|
26
|
-
<d2l-form id="dialog-main-form" @d2l-form-submit=${this._onSubmit}>
|
|
27
|
-
<div class="d2l-form-dialog-demo-container">
|
|
28
|
-
<d2l-input-text label="Email" name="email" type="email"></d2l-input-text>
|
|
29
|
-
</div>
|
|
30
|
-
<div class="d2l-form-dialog-demo-container">
|
|
31
|
-
<d2l-validation-custom for="password-dialog" @d2l-validation-custom-validate=${this._validatePassword} failure-text="Expected hunter2" ></d2l-validation-custom>
|
|
32
|
-
<d2l-input-text label="Password" name="password" id="password-dialog" type="password"></d2l-input-text>
|
|
33
|
-
</div>
|
|
34
|
-
<d2l-dialog id="dialog" title-text="My Favorites">
|
|
35
|
-
<d2l-form id="dialog-secondary-form" no-nesting @d2l-form-submit=${this._onDialogSubmit}>
|
|
36
|
-
<fieldset class="d2l-form-dialog-demo-container">
|
|
37
|
-
<legend>Choose your favorite monster</legend>
|
|
38
|
-
<label><input type="radio" name="monster" value="kraken"> Kraken</label>
|
|
39
|
-
<label><input type="radio" name="monster" value="sasquatch"> Sasquatch</label>
|
|
40
|
-
</fieldset>
|
|
41
|
-
<div class="d2l-form-dialog-demo-container">
|
|
42
|
-
<label>Favorite Pet<br/>
|
|
43
|
-
<select class="d2l-input-select" name="pets" required>
|
|
44
|
-
<option value="">--Please choose an option--</option>
|
|
45
|
-
<option value="porpoise">Porpoise</option>
|
|
46
|
-
<option value="house hippo">House Hippo</option>
|
|
47
|
-
<option value="spiker monkey">Spider Monkey</option>
|
|
48
|
-
<option value="capybara">Capybara</option>
|
|
49
|
-
</select>
|
|
50
|
-
</label>
|
|
51
|
-
<d2l-input-text label="Favorite Food" name="favorite-food" required></d2l-input-text>
|
|
52
|
-
</div>
|
|
53
|
-
</d2l-form>
|
|
54
|
-
<d2l-button slot="footer" primary @click=${this._onDialogSubmitClicked}>Save</d2l-button>
|
|
55
|
-
<d2l-button slot="footer" data-dialog-action>Cancel</d2l-button>
|
|
56
|
-
</d2l-dialog>
|
|
57
|
-
<div class="d2l-form-dialog-demo-container">
|
|
58
|
-
<d2l-button @click=${this._openDialog}>Show Favorites Dialog</d2l-button>
|
|
59
|
-
</div>
|
|
60
|
-
<d2l-button primary @click=${this._onSubmitClicked}>Save</d2l-button>
|
|
61
|
-
</d2l-form>
|
|
62
|
-
`;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
_onDialogSubmit(e) {
|
|
66
|
-
e.stopPropagation();
|
|
67
|
-
// eslint-disable-next-line no-console
|
|
68
|
-
console.log(e.detail.formData);
|
|
69
|
-
if (this.shadowRoot) this.shadowRoot.querySelector('#dialog').opened = false;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
_onDialogSubmitClicked() {
|
|
73
|
-
if (this.shadowRoot) this.shadowRoot.querySelector('#dialog-secondary-form').submit();
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
_onSubmit(e) {
|
|
77
|
-
// eslint-disable-next-line no-console
|
|
78
|
-
console.log(e.detail.formData);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
_onSubmitClicked() {
|
|
82
|
-
if (this.shadowRoot) this.shadowRoot.querySelector('#dialog-main-form').submit();
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
_openDialog() {
|
|
86
|
-
if (this.shadowRoot) this.shadowRoot.querySelector('#dialog').opened = true;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
_validatePassword(e) {
|
|
90
|
-
e.detail.resolve(e.detail.forElement.value === 'hunter2');
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
customElements.define('d2l-form-dialog-demo', FormDialogDemo);
|