wj-elements 0.7.7 → 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/animations.js +28 -51
- package/dist/animations.js.map +1 -1
- package/dist/base-path.js +19 -31
- package/dist/base-path.js.map +1 -1
- package/dist/custom-elements.json +11504 -11499
- package/dist/dark.css +1 -302
- package/dist/date.js +16 -36
- package/dist/date.js.map +1 -1
- package/dist/element-utils.js +20 -81
- package/dist/element-utils.js.map +1 -1
- package/dist/event.js +49 -165
- package/dist/event.js.map +1 -1
- package/dist/form-associated-element-BjeJn7j8.js +101 -0
- package/dist/{form-associated-element-DEQ4y-jn.js.map → form-associated-element-BjeJn7j8.js.map} +1 -1
- package/dist/icon-DmsqtDpL.js +102 -0
- package/dist/{icon-CReYMzAK.js.map → icon-DmsqtDpL.js.map} +1 -1
- package/dist/light.css +1 -731
- package/dist/localize.js +36 -111
- package/dist/localize.js.map +1 -1
- package/dist/packages/wje-accordion-item/accordion-item.element.d.ts +3 -2
- package/dist/permissions.js +14 -41
- package/dist/permissions.js.map +1 -1
- package/dist/popup.element-CbkhthPP.js +806 -0
- package/dist/{popup.element-CwXvVFK7.js.map → popup.element-CbkhthPP.js.map} +1 -1
- package/dist/router-links-CNsJ-elb.js +105 -0
- package/dist/{router-links-wjqCnncc.js.map → router-links-CNsJ-elb.js.map} +1 -1
- package/dist/skeleton.css +1 -197
- package/dist/styles.css +1 -866
- package/dist/universal-service.js +48 -109
- package/dist/universal-service.js.map +1 -1
- package/dist/utils.js +11 -18
- package/dist/utils.js.map +1 -1
- package/dist/web-types.json +760 -760
- package/dist/wje-accordion-item.js +33 -106
- package/dist/wje-accordion-item.js.map +1 -1
- package/dist/wje-accordion.js +19 -84
- package/dist/wje-accordion.js.map +1 -1
- package/dist/wje-animation.js +37 -4258
- package/dist/wje-animation.js.map +1 -1
- package/dist/wje-aside.js +9 -34
- package/dist/wje-aside.js.map +1 -1
- package/dist/wje-avatar.js +36 -126
- package/dist/wje-avatar.js.map +1 -1
- package/dist/wje-badge.js +10 -52
- package/dist/wje-badge.js.map +1 -1
- package/dist/wje-breadcrumb.js +205 -672
- package/dist/wje-breadcrumb.js.map +1 -1
- package/dist/wje-breadcrumbs.js +177 -633
- package/dist/wje-breadcrumbs.js.map +1 -1
- package/dist/wje-button-group.js +48 -153
- package/dist/wje-button-group.js.map +1 -1
- package/dist/wje-button.js +92 -413
- package/dist/wje-button.js.map +1 -1
- package/dist/wje-card-content.js +7 -30
- package/dist/wje-card-content.js.map +1 -1
- package/dist/wje-card-controls.js +7 -30
- package/dist/wje-card-controls.js.map +1 -1
- package/dist/wje-card-header.js +7 -30
- package/dist/wje-card-header.js.map +1 -1
- package/dist/wje-card-subtitle.js +7 -34
- package/dist/wje-card-subtitle.js.map +1 -1
- package/dist/wje-card-title.js +7 -34
- package/dist/wje-card-title.js.map +1 -1
- package/dist/wje-card.js +15 -71
- package/dist/wje-card.js.map +1 -1
- package/dist/wje-carousel-item.js +12 -56
- package/dist/wje-carousel-item.js.map +1 -1
- package/dist/wje-carousel.js +154 -509
- package/dist/wje-carousel.js.map +1 -1
- package/dist/wje-checkbox.js +50 -227
- package/dist/wje-checkbox.js.map +1 -1
- package/dist/wje-chip.js +43 -160
- package/dist/wje-chip.js.map +1 -1
- package/dist/wje-col.js +7 -20
- package/dist/wje-col.js.map +1 -1
- package/dist/wje-color-picker.js +445 -1464
- package/dist/wje-color-picker.js.map +1 -1
- package/dist/wje-container.js +9 -35
- package/dist/wje-container.js.map +1 -1
- package/dist/wje-copy-button.js +64 -204
- package/dist/wje-copy-button.js.map +1 -1
- package/dist/wje-dialog.js +85 -553
- package/dist/wje-dialog.js.map +1 -1
- package/dist/wje-divider.js +7 -34
- package/dist/wje-divider.js.map +1 -1
- package/dist/wje-dropdown.js +78 -305
- package/dist/wje-dropdown.js.map +1 -1
- package/dist/wje-element.js +191 -700
- package/dist/wje-element.js.map +1 -1
- package/dist/wje-file-upload-item.js +51 -156
- package/dist/wje-file-upload-item.js.map +1 -1
- package/dist/wje-file-upload.js +181 -619
- package/dist/wje-file-upload.js.map +1 -1
- package/dist/wje-footer.js +7 -31
- package/dist/wje-footer.js.map +1 -1
- package/dist/wje-form.js +7 -32
- package/dist/wje-form.js.map +1 -1
- package/dist/wje-format-digital.js +26 -118
- package/dist/wje-format-digital.js.map +1 -1
- package/dist/wje-grid.js +7 -33
- package/dist/wje-grid.js.map +1 -1
- package/dist/wje-header.js +9 -35
- package/dist/wje-header.js.map +1 -1
- package/dist/wje-icon-library.js +12 -18
- package/dist/wje-icon-library.js.map +1 -1
- package/dist/wje-icon-picker.js +65 -320
- package/dist/wje-icon-picker.js.map +1 -1
- package/dist/wje-icon.js +1 -1
- package/dist/wje-img-comparer.js +37 -114
- package/dist/wje-img-comparer.js.map +1 -1
- package/dist/wje-img.js +50 -198
- package/dist/wje-img.js.map +1 -1
- package/dist/wje-infinite-scroll.js +94 -346
- package/dist/wje-infinite-scroll.js.map +1 -1
- package/dist/wje-input-file.js +23 -84
- package/dist/wje-input-file.js.map +1 -1
- package/dist/wje-input.js +78 -392
- package/dist/wje-input.js.map +1 -1
- package/dist/wje-item.js +11 -64
- package/dist/wje-item.js.map +1 -1
- package/dist/wje-kanban.js +124 -401
- package/dist/wje-kanban.js.map +1 -1
- package/dist/wje-label.js +9 -32
- package/dist/wje-label.js.map +1 -1
- package/dist/wje-level-indicator.js +38 -157
- package/dist/wje-level-indicator.js.map +1 -1
- package/dist/wje-list.js +10 -40
- package/dist/wje-list.js.map +1 -1
- package/dist/wje-main.js +7 -31
- package/dist/wje-main.js.map +1 -1
- package/dist/wje-masonry.js +66 -211
- package/dist/wje-masonry.js.map +1 -1
- package/dist/wje-master.js +45 -161
- package/dist/wje-master.js.map +1 -1
- package/dist/wje-menu-button.js +10 -38
- package/dist/wje-menu-button.js.map +1 -1
- package/dist/wje-menu-item.js +127 -577
- package/dist/wje-menu-item.js.map +1 -1
- package/dist/wje-menu-label.js +9 -35
- package/dist/wje-menu-label.js.map +1 -1
- package/dist/wje-menu.js +14 -49
- package/dist/wje-menu.js.map +1 -1
- package/dist/wje-option.js +48 -279
- package/dist/wje-option.js.map +1 -1
- package/dist/wje-options.js +130 -384
- package/dist/wje-options.js.map +1 -1
- package/dist/wje-orgchart-group.js +16 -52
- package/dist/wje-orgchart-group.js.map +1 -1
- package/dist/wje-orgchart-item.js +24 -93
- package/dist/wje-orgchart-item.js.map +1 -1
- package/dist/wje-orgchart.js +18 -68
- package/dist/wje-orgchart.js.map +1 -1
- package/dist/wje-pagination.js +113 -397
- package/dist/wje-pagination.js.map +1 -1
- package/dist/wje-popup.js +3 -3
- package/dist/wje-popup.js.map +1 -1
- package/dist/wje-progress-bar.js +53 -205
- package/dist/wje-progress-bar.js.map +1 -1
- package/dist/wje-qr-code.js +398 -2980
- package/dist/wje-qr-code.js.map +1 -1
- package/dist/wje-radio-group.js +52 -190
- package/dist/wje-radio-group.js.map +1 -1
- package/dist/wje-radio.js +24 -118
- package/dist/wje-radio.js.map +1 -1
- package/dist/wje-rate.js +62 -266
- package/dist/wje-rate.js.map +1 -1
- package/dist/wje-relative-time.js +24 -99
- package/dist/wje-relative-time.js.map +1 -1
- package/dist/wje-reorder-dropzone.js +9 -31
- package/dist/wje-reorder-dropzone.js.map +1 -1
- package/dist/wje-reorder-handle.js +67 -204
- package/dist/wje-reorder-handle.js.map +1 -1
- package/dist/wje-reorder-item.js +14 -44
- package/dist/wje-reorder-item.js.map +1 -1
- package/dist/wje-reorder.js +61 -246
- package/dist/wje-reorder.js.map +1 -1
- package/dist/wje-route.js +6 -24
- package/dist/wje-route.js.map +1 -1
- package/dist/wje-router-link.js +11 -39
- package/dist/wje-router-link.js.map +1 -1
- package/dist/wje-router-outlet.js +76 -172
- package/dist/wje-router-outlet.js.map +1 -1
- package/dist/wje-routerx.js +537 -1331
- package/dist/wje-routerx.js.map +1 -1
- package/dist/wje-row.js +9 -31
- package/dist/wje-row.js.map +1 -1
- package/dist/wje-select.js +326 -1152
- package/dist/wje-select.js.map +1 -1
- package/dist/wje-slider.js +44 -225
- package/dist/wje-slider.js.map +1 -1
- package/dist/wje-sliding-container.js +295 -1319
- package/dist/wje-sliding-container.js.map +1 -1
- package/dist/wje-split-view.js +35 -121
- package/dist/wje-split-view.js.map +1 -1
- package/dist/wje-status.js +14 -45
- package/dist/wje-status.js.map +1 -1
- package/dist/wje-step.js +9 -32
- package/dist/wje-step.js.map +1 -1
- package/dist/wje-stepper.js +109 -357
- package/dist/wje-stepper.js.map +1 -1
- package/dist/wje-store.js +67 -360
- package/dist/wje-store.js.map +1 -1
- package/dist/wje-tab-group.js +85 -314
- package/dist/wje-tab-group.js.map +1 -1
- package/dist/wje-tab-panel.js +7 -28
- package/dist/wje-tab-panel.js.map +1 -1
- package/dist/wje-tab.js +21 -198
- package/dist/wje-tab.js.map +1 -1
- package/dist/wje-textarea.js +64 -264
- package/dist/wje-textarea.js.map +1 -1
- package/dist/wje-thumbnail.js +10 -51
- package/dist/wje-thumbnail.js.map +1 -1
- package/dist/wje-toast.js +127 -632
- package/dist/wje-toast.js.map +1 -1
- package/dist/wje-toggle.js +52 -177
- package/dist/wje-toggle.js.map +1 -1
- package/dist/wje-toolbar-action.js +128 -456
- package/dist/wje-toolbar-action.js.map +1 -1
- package/dist/wje-toolbar.js +75 -270
- package/dist/wje-toolbar.js.map +1 -1
- package/dist/wje-tooltip.js +50 -161
- package/dist/wje-tooltip.js.map +1 -1
- package/dist/wje-tree-item.js +70 -301
- package/dist/wje-tree-item.js.map +1 -1
- package/dist/wje-tree.js +145 -489
- package/dist/wje-tree.js.map +1 -1
- package/dist/wje-visually-hidden.js +7 -34
- package/dist/wje-visually-hidden.js.map +1 -1
- package/package.json +3 -2
- package/dist/form-associated-element-DEQ4y-jn.js +0 -245
- package/dist/icon-CReYMzAK.js +0 -245
- package/dist/popup.element-CwXvVFK7.js +0 -2133
- package/dist/router-links-wjqCnncc.js +0 -156
package/dist/wje-kanban.js
CHANGED
|
@@ -1,476 +1,199 @@
|
|
|
1
1
|
var __defProp = Object.defineProperty;
|
|
2
2
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
3
3
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
class Kanban extends WJElement {
|
|
9
|
-
/**
|
|
10
|
-
* Creates an instance of Kanban.
|
|
11
|
-
* @class
|
|
12
|
-
*/
|
|
4
|
+
import e from "./wje-checkbox.js";
|
|
5
|
+
import t from "./wje-element.js";
|
|
6
|
+
import a from "./wje-menu-item.js";
|
|
7
|
+
class r extends t {
|
|
13
8
|
constructor() {
|
|
14
9
|
super();
|
|
15
|
-
|
|
16
|
-
* Dependencies of the Option component.
|
|
17
|
-
*/
|
|
18
|
-
__publicField(this, "dependencies", {
|
|
19
|
-
"wje-checkbox": Checkbox,
|
|
20
|
-
"wje-menu-item": MenuItem
|
|
21
|
-
});
|
|
22
|
-
/**
|
|
23
|
-
* Sets the URL for fetching data.
|
|
24
|
-
* @type {string}
|
|
25
|
-
*/
|
|
10
|
+
__publicField(this, "dependencies", { "wje-checkbox": e, "wje-menu-item": a });
|
|
26
11
|
__publicField(this, "className", "Kanban");
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
*/
|
|
32
|
-
__publicField(this, "customForeach", (pool, items) => {
|
|
33
|
-
for (const item of items) {
|
|
34
|
-
let card = this.htmlCard(item);
|
|
35
|
-
pool.querySelector(".pool-content").appendChild(card);
|
|
12
|
+
__publicField(this, "customForeach", (e2, t2) => {
|
|
13
|
+
for (const a2 of t2) {
|
|
14
|
+
let t3 = this.htmlCard(a2);
|
|
15
|
+
e2.querySelector(".pool-content").appendChild(t3);
|
|
36
16
|
}
|
|
37
17
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
*/
|
|
42
|
-
__publicField(this, "menuItemClickHandler", (e) => {
|
|
43
|
-
const action = e.target.dataset.action;
|
|
44
|
-
const pool = e.target.closest(".pool");
|
|
45
|
-
this.handlePoolAction(action, pool);
|
|
18
|
+
__publicField(this, "menuItemClickHandler", (e2) => {
|
|
19
|
+
const t2 = e2.target.dataset.action, a2 = e2.target.closest(".pool");
|
|
20
|
+
this.handlePoolAction(t2, a2);
|
|
46
21
|
});
|
|
47
|
-
/**
|
|
48
|
-
* Updates the column item count.
|
|
49
|
-
*/
|
|
50
22
|
__publicField(this, "updateColumnItemCount", () => {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
let itemCountDisplay = pool.querySelector(".item-count");
|
|
55
|
-
itemCountDisplay.innerHTML = itemCount;
|
|
23
|
+
this.shadowRoot.querySelectorAll(".pool").forEach((e2) => {
|
|
24
|
+
const t2 = e2.querySelectorAll(".pool-content .card").length;
|
|
25
|
+
e2.querySelector(".item-count").innerHTML = t2;
|
|
56
26
|
});
|
|
57
27
|
});
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
let poolHtml = document.createElement("div");
|
|
82
|
-
poolHtml.classList.add("pool");
|
|
83
|
-
let header = document.createElement("div");
|
|
84
|
-
header.classList.add("pool-header");
|
|
85
|
-
let checkbox = document.createElement("wje-checkbox");
|
|
86
|
-
checkbox.setAttribute("type", "checkbox");
|
|
87
|
-
checkbox.classList.add("select-all-cards");
|
|
88
|
-
checkbox.title = "Select all cards";
|
|
89
|
-
let h4 = document.createElement("h4");
|
|
90
|
-
h4.textContent = title;
|
|
91
|
-
let badge = document.createElement("wje-badge");
|
|
92
|
-
badge.setAttribute("color", "danger");
|
|
93
|
-
badge.classList.add("item-count");
|
|
94
|
-
badge.textContent = countItems;
|
|
95
|
-
let dropdown = document.createElement("wje-dropdown");
|
|
96
|
-
dropdown.setAttribute("placement", "bottom-start");
|
|
97
|
-
dropdown.setAttribute("offset", "5");
|
|
98
|
-
dropdown.setAttribute("collapsible", "");
|
|
99
|
-
dropdown.innerHTML = `
|
|
100
|
-
<wje-button fill="link" slot="trigger" size="small" round>
|
|
101
|
-
<wje-icon name="dots-vertical"></wje-icon>
|
|
102
|
-
</wje-button>
|
|
103
|
-
<wje-menu active>
|
|
104
|
-
<wje-menu-item data-action="rename-pool">
|
|
105
|
-
<wj-label>Zmeniť názov</wj-label>
|
|
106
|
-
</wje-menu-item>
|
|
107
|
-
<wje-menu-item data-action="move-left">
|
|
108
|
-
<wj-label>Posunúť doľava</wj-label>
|
|
109
|
-
</wje-menu-item>
|
|
110
|
-
<wje-menu-item data-action="move-right">
|
|
111
|
-
<wj-label>Posunúť doprava</wj-label>
|
|
112
|
-
</wje-menu-item>
|
|
113
|
-
</wje-menu>
|
|
114
|
-
`;
|
|
115
|
-
header.appendChild(checkbox);
|
|
116
|
-
header.appendChild(h4);
|
|
117
|
-
header.appendChild(badge);
|
|
118
|
-
header.appendChild(dropdown);
|
|
119
|
-
let content = document.createElement("div");
|
|
120
|
-
content.classList.add("pool-content");
|
|
121
|
-
poolHtml.appendChild(header);
|
|
122
|
-
poolHtml.appendChild(content);
|
|
123
|
-
return poolHtml;
|
|
124
|
-
});
|
|
125
|
-
/**
|
|
126
|
-
* Returns the HTML for the card.
|
|
127
|
-
* @param item {Object}
|
|
128
|
-
* @returns {Element}
|
|
129
|
-
*/
|
|
130
|
-
__publicField(this, "htmlCard", (item) => {
|
|
131
|
-
let card = document.createElement("div");
|
|
132
|
-
card.classList.add("card");
|
|
133
|
-
card.draggable = true;
|
|
134
|
-
card.setAttribute("data-id", item.id);
|
|
135
|
-
card.innerHTML = `
|
|
28
|
+
__publicField(this, "getPool", (e2, t2) => e2.reduce((e3, t3) => {
|
|
29
|
+
const a2 = t3.status.name;
|
|
30
|
+
return e3[a2] || (e3[a2] = []), e3[a2].push(t3), e3;
|
|
31
|
+
}, {}));
|
|
32
|
+
__publicField(this, "htmlPool", (e2, t2) => {
|
|
33
|
+
let a2 = document.createElement("div");
|
|
34
|
+
a2.classList.add("pool");
|
|
35
|
+
let r2 = document.createElement("div");
|
|
36
|
+
r2.classList.add("pool-header");
|
|
37
|
+
let s = document.createElement("wje-checkbox");
|
|
38
|
+
s.setAttribute("type", "checkbox"), s.classList.add("select-all-cards"), s.title = "Select all cards";
|
|
39
|
+
let l = document.createElement("h4");
|
|
40
|
+
l.textContent = e2;
|
|
41
|
+
let o = document.createElement("wje-badge");
|
|
42
|
+
o.setAttribute("color", "danger"), o.classList.add("item-count"), o.textContent = t2;
|
|
43
|
+
let i = document.createElement("wje-dropdown");
|
|
44
|
+
i.setAttribute("placement", "bottom-start"), i.setAttribute("offset", "5"), i.setAttribute("collapsible", ""), i.innerHTML = '\n <wje-button fill="link" slot="trigger" size="small" round>\n <wje-icon name="dots-vertical"></wje-icon>\n </wje-button>\n <wje-menu active>\n <wje-menu-item data-action="rename-pool">\n <wj-label>Zmeniť názov</wj-label>\n </wje-menu-item>\n <wje-menu-item data-action="move-left">\n <wj-label>Posunúť doľava</wj-label>\n </wje-menu-item>\n <wje-menu-item data-action="move-right">\n <wj-label>Posunúť doprava</wj-label>\n </wje-menu-item>\n </wje-menu>\n ', r2.appendChild(s), r2.appendChild(l), r2.appendChild(o), r2.appendChild(i);
|
|
45
|
+
let n = document.createElement("div");
|
|
46
|
+
return n.classList.add("pool-content"), a2.appendChild(r2), a2.appendChild(n), a2;
|
|
47
|
+
});
|
|
48
|
+
__publicField(this, "htmlCard", (e2) => {
|
|
49
|
+
let t2 = document.createElement("div");
|
|
50
|
+
return t2.classList.add("card"), t2.draggable = true, t2.setAttribute("data-id", e2.id), t2.innerHTML = `
|
|
136
51
|
<wje-checkbox type="checkbox" class="select-card" title="Select card"></wje-checkbox>
|
|
137
|
-
<div>${
|
|
138
|
-
|
|
139
|
-
return card;
|
|
52
|
+
<div>${e2.body}</div>
|
|
53
|
+
`, t2;
|
|
140
54
|
});
|
|
141
|
-
this.totalPages = 0;
|
|
142
|
-
this.isLoading = [];
|
|
143
|
-
this._response = {};
|
|
144
|
-
this.isDragging = false;
|
|
145
|
-
this.selectedCards = [];
|
|
55
|
+
this.totalPages = 0, this.isLoading = [], this._response = {}, this.isDragging = false, this.selectedCards = [];
|
|
146
56
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
* @param value {string}
|
|
150
|
-
*/
|
|
151
|
-
set response(value) {
|
|
152
|
-
this._response = value;
|
|
57
|
+
set response(e2) {
|
|
58
|
+
this._response = e2;
|
|
153
59
|
}
|
|
154
|
-
/**
|
|
155
|
-
* Gets the URL for fetching data.
|
|
156
|
-
* @returns {*|{}|{}}
|
|
157
|
-
*/
|
|
158
60
|
get response() {
|
|
159
61
|
return this._response;
|
|
160
62
|
}
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
* @param value {array}
|
|
164
|
-
*/
|
|
165
|
-
set selectedItems(value) {
|
|
166
|
-
this._selectedItems = value;
|
|
63
|
+
set selectedItems(e2) {
|
|
64
|
+
this._selectedItems = e2;
|
|
167
65
|
}
|
|
168
|
-
/**
|
|
169
|
-
* Gets the URL for fetching data.
|
|
170
|
-
* @returns {Array}
|
|
171
|
-
*/
|
|
172
66
|
get selectedItems() {
|
|
173
67
|
return this._selectedItems;
|
|
174
68
|
}
|
|
175
|
-
/**
|
|
176
|
-
* Returns the CSS styles for the component.
|
|
177
|
-
* @static
|
|
178
|
-
* @returns {CSSStyleSheet}
|
|
179
|
-
*/
|
|
180
69
|
static get cssStyleSheet() {
|
|
181
|
-
return
|
|
70
|
+
return ":host{display:flex;flex-direction:column;width:100%;height:100%}.native{height:100%;display:grid;grid-auto-flow:column;grid-auto-columns:300px;overflow-x:auto;gap:1rem}.pool{display:inline-block;width:300px;flex:0 0 300px;vertical-align:top;overflow:auto;padding:8px;border-radius:8px;margin-right:15px}h4{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0}.card{border-radius:5px;background:#fff;border:1px solid #ddd;margin-bottom:5px;padding:8px 10px;color:#000}.card:hover{opacity:.5}.dragging{box-shadow:0 0 5px #0000001a;transform:rotate(-2deg);opacity:.5;position:relative;z-index:1000}.card-placeholder{display:block;height:34px;border:1px dashed #ddd;margin:3px 0;border-radius:5px}.pool-header{display:flex;align-items:center;margin-bottom:.25rem;gap:0 .25rem}.pool-header wje-checkbox{margin:0}.pool-header wje-badge{margin-inline-start:auto}";
|
|
182
71
|
}
|
|
183
|
-
/**
|
|
184
|
-
* Returns the list of attributes to observe for changes.
|
|
185
|
-
* @static
|
|
186
|
-
* @returns {Array<string>}
|
|
187
|
-
*/
|
|
188
72
|
static get observedAttributes() {
|
|
189
73
|
return [];
|
|
190
74
|
}
|
|
191
|
-
/**
|
|
192
|
-
* Sets up the attributes for the component.
|
|
193
|
-
*/
|
|
194
75
|
setupAttributes() {
|
|
195
|
-
this.isShadowRoot = "open";
|
|
196
|
-
this.syncAria();
|
|
76
|
+
this.isShadowRoot = "open", this.syncAria();
|
|
197
77
|
}
|
|
198
|
-
|
|
199
|
-
* Prepares the component before drawing.
|
|
200
|
-
* @param {object} context The context for drawing.
|
|
201
|
-
* @param {object} store The store for drawing.
|
|
202
|
-
* @param {object} params The parameters for drawing.
|
|
203
|
-
*/
|
|
204
|
-
async beforeDraw(context, store, params) {
|
|
78
|
+
async beforeDraw(e2, t2, a2) {
|
|
205
79
|
this.response = await this.getPages();
|
|
206
80
|
}
|
|
207
|
-
/**
|
|
208
|
-
* Draws the component after it has been prepared.
|
|
209
|
-
* @returns {DocumentFragment}
|
|
210
|
-
*/
|
|
211
81
|
draw() {
|
|
212
|
-
let
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
native.appendChild(pool);
|
|
221
|
-
const items = pools[statusName];
|
|
222
|
-
this.customForeach(pool, items);
|
|
223
|
-
}
|
|
82
|
+
let e2 = document.createDocumentFragment(), t2 = document.createElement("div");
|
|
83
|
+
t2.classList.add("native"), t2.setAttribute("part", "native-infinite-scroll");
|
|
84
|
+
let a2 = this.getPool(this.response, this.poolName);
|
|
85
|
+
for (const e3 in a2) if (a2.hasOwnProperty(e3)) {
|
|
86
|
+
let r2 = this.htmlPool(e3, a2[e3].length);
|
|
87
|
+
t2.appendChild(r2);
|
|
88
|
+
const s = a2[e3];
|
|
89
|
+
this.customForeach(r2, s);
|
|
224
90
|
}
|
|
225
|
-
|
|
226
|
-
return fragment;
|
|
91
|
+
return e2.appendChild(t2), e2;
|
|
227
92
|
}
|
|
228
|
-
/**
|
|
229
|
-
* Sync ARIA attributes on host.
|
|
230
|
-
*/
|
|
231
93
|
syncAria() {
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
}
|
|
235
|
-
const ariaLabel = this.getAttribute("aria-label");
|
|
236
|
-
const label = this.getAttribute("label");
|
|
237
|
-
if (!ariaLabel && label) {
|
|
238
|
-
this.setAriaState({ label });
|
|
239
|
-
}
|
|
94
|
+
this.hasAttribute("role") || this.setAriaState({ role: "region" });
|
|
95
|
+
const e2 = this.getAttribute("aria-label"), t2 = this.getAttribute("label");
|
|
96
|
+
!e2 && t2 && this.setAriaState({ label: t2 });
|
|
240
97
|
}
|
|
241
|
-
/**
|
|
242
|
-
* Called after the component has been drawn.
|
|
243
|
-
*/
|
|
244
98
|
afterDraw() {
|
|
245
|
-
this.ui = {
|
|
246
|
-
elBoard: this.shadowRoot.getElementById("board"),
|
|
247
|
-
elTotalCardCount: this.shadowRoot.getElementById("totalCards"),
|
|
248
|
-
elCardPlaceholder: null
|
|
249
|
-
};
|
|
250
|
-
this.setupDragAndDropEvents();
|
|
251
|
-
this.setupSelectAllCardsEvent();
|
|
252
|
-
this.setupMenuItemClickEvents();
|
|
99
|
+
this.ui = { elBoard: this.shadowRoot.getElementById("board"), elTotalCardCount: this.shadowRoot.getElementById("totalCards"), elCardPlaceholder: null }, this.setupDragAndDropEvents(), this.setupSelectAllCardsEvent(), this.setupMenuItemClickEvents();
|
|
253
100
|
}
|
|
254
|
-
/**
|
|
255
|
-
* Sets up the drag and drop events for the component.
|
|
256
|
-
*/
|
|
257
101
|
setupDragAndDropEvents() {
|
|
258
|
-
this.live("dragstart", ".pool .card", (
|
|
259
|
-
this.isDragging = true;
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
if (this.ui.elCardPlaceholder) {
|
|
271
|
-
this.ui.elCardPlaceholder.remove();
|
|
272
|
-
}
|
|
273
|
-
this.ui.elCardPlaceholder = null;
|
|
274
|
-
this.isDragging = false;
|
|
275
|
-
});
|
|
276
|
-
this.live("dragover", ".pool, .pool .card, .pool .card-placeholder", (e) => {
|
|
277
|
-
e.preventDefault();
|
|
278
|
-
e.dataTransfer.dropEffect = "move";
|
|
279
|
-
if (e.target.classList.contains("pool")) {
|
|
280
|
-
e.target.appendChild(this.getCardPlaceholder());
|
|
281
|
-
} else if (e.target.classList.contains("card")) {
|
|
282
|
-
e.target.parentNode.insertBefore(this.getCardPlaceholder(), e.target);
|
|
283
|
-
}
|
|
284
|
-
});
|
|
285
|
-
this.live("drop", ".pool, .pool .card-placeholder", (e) => {
|
|
286
|
-
e.preventDefault();
|
|
287
|
-
if (!this.isDragging) return;
|
|
288
|
-
const todo_id = +e.dataTransfer.getData("text");
|
|
289
|
-
const card = this.shadowRoot.querySelector('.card[data-id="' + todo_id + '"]');
|
|
290
|
-
if (e.target.classList.contains("pool")) {
|
|
291
|
-
e.target.querySelector(".pool-content").appendChild(card);
|
|
292
|
-
} else if (e.target.classList.contains("card-placeholder")) {
|
|
293
|
-
e.target.parentNode.replaceChild(card, e.target);
|
|
294
|
-
}
|
|
295
|
-
window.setTimeout(this.updateColumnItemCount, 100);
|
|
102
|
+
this.live("dragstart", ".pool .card", (e2) => {
|
|
103
|
+
this.isDragging = true, e2.dataTransfer.clearData(), e2.dataTransfer.setData("text/plain", e2.target.dataset.id), e2.dataTransfer.dropEffect = "move", e2.target.style.opacity = "0.5";
|
|
104
|
+
const t2 = e2.target.getBoundingClientRect();
|
|
105
|
+
this.draggedElementWidth = t2.width, this.draggedElementHeight = t2.height;
|
|
106
|
+
}), this.live("dragend", ".pool .card", (e2) => {
|
|
107
|
+
e2.target.style.opacity = "", this.ui.elCardPlaceholder && this.ui.elCardPlaceholder.remove(), this.ui.elCardPlaceholder = null, this.isDragging = false;
|
|
108
|
+
}), this.live("dragover", ".pool, .pool .card, .pool .card-placeholder", (e2) => {
|
|
109
|
+
e2.preventDefault(), e2.dataTransfer.dropEffect = "move", e2.target.classList.contains("pool") ? e2.target.appendChild(this.getCardPlaceholder()) : e2.target.classList.contains("card") && e2.target.parentNode.insertBefore(this.getCardPlaceholder(), e2.target);
|
|
110
|
+
}), this.live("drop", ".pool, .pool .card-placeholder", (e2) => {
|
|
111
|
+
if (e2.preventDefault(), !this.isDragging) return;
|
|
112
|
+
const t2 = +e2.dataTransfer.getData("text"), a2 = this.shadowRoot.querySelector('.card[data-id="' + t2 + '"]');
|
|
113
|
+
e2.target.classList.contains("pool") ? e2.target.querySelector(".pool-content").appendChild(a2) : e2.target.classList.contains("card-placeholder") && e2.target.parentNode.replaceChild(a2, e2.target), window.setTimeout(this.updateColumnItemCount, 100);
|
|
296
114
|
});
|
|
297
115
|
}
|
|
298
|
-
/**
|
|
299
|
-
* Sets up the select all cards event for the component.
|
|
300
|
-
*/
|
|
301
116
|
setupSelectAllCardsEvent() {
|
|
302
|
-
this.live("wje-toggle:change", ".select-all-cards", (
|
|
303
|
-
const
|
|
304
|
-
this.updateSelectedCards(
|
|
305
|
-
})
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
this.setSelectedCards(e.target.checked, card);
|
|
309
|
-
if (this.selectedCards.length === 0) {
|
|
310
|
-
e.target.closest(".pool").querySelector(".select-all-cards").checked = false;
|
|
311
|
-
}
|
|
312
|
-
this.setSelectedItems();
|
|
117
|
+
this.live("wje-toggle:change", ".select-all-cards", (e2) => {
|
|
118
|
+
const t2 = e2.target.closest(".pool");
|
|
119
|
+
this.updateSelectedCards(t2, e2.target.checked);
|
|
120
|
+
}), this.live("wje-toggle:change", ".select-card", (e2) => {
|
|
121
|
+
const t2 = e2.target.closest(".card");
|
|
122
|
+
this.setSelectedCards(e2.target.checked, t2), 0 === this.selectedCards.length && (e2.target.closest(".pool").querySelector(".select-all-cards").checked = false), this.setSelectedItems();
|
|
313
123
|
});
|
|
314
124
|
}
|
|
315
|
-
/**
|
|
316
|
-
* Sets up the menu item click events for the component.
|
|
317
|
-
*/
|
|
318
125
|
setupMenuItemClickEvents() {
|
|
319
|
-
this.context.querySelectorAll("wje-menu-item").forEach((
|
|
320
|
-
|
|
321
|
-
})
|
|
322
|
-
|
|
323
|
-
menuItem.addEventListener("wje-menu-item:click", this.menuItemClickHandler);
|
|
126
|
+
this.context.querySelectorAll("wje-menu-item").forEach((e2) => {
|
|
127
|
+
e2.removeEventListener("wje-menu-item:click", this.menuItemClickHandler);
|
|
128
|
+
}), this.context.querySelectorAll("wje-menu-item").forEach((e2) => {
|
|
129
|
+
e2.addEventListener("wje-menu-item:click", this.menuItemClickHandler);
|
|
324
130
|
});
|
|
325
131
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
updateSelectedCards(pool, isChecked) {
|
|
332
|
-
const cards = pool.querySelectorAll(".pool-content .card");
|
|
333
|
-
cards.forEach((card) => {
|
|
334
|
-
const checkbox = card.querySelector("wje-checkbox");
|
|
335
|
-
if (checkbox) {
|
|
336
|
-
checkbox.checked = isChecked;
|
|
337
|
-
}
|
|
338
|
-
this.setSelectedCards(isChecked, card);
|
|
339
|
-
});
|
|
340
|
-
this.setSelectedItems();
|
|
132
|
+
updateSelectedCards(e2, t2) {
|
|
133
|
+
e2.querySelectorAll(".pool-content .card").forEach((e3) => {
|
|
134
|
+
const a2 = e3.querySelector("wje-checkbox");
|
|
135
|
+
a2 && (a2.checked = t2), this.setSelectedCards(t2, e3);
|
|
136
|
+
}), this.setSelectedItems();
|
|
341
137
|
}
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
* @param action {string}
|
|
345
|
-
* @param pool {HTMLElement}
|
|
346
|
-
*/
|
|
347
|
-
handlePoolAction(action, pool) {
|
|
348
|
-
switch (action) {
|
|
138
|
+
handlePoolAction(e2, t2) {
|
|
139
|
+
switch (e2) {
|
|
349
140
|
case "move-left":
|
|
350
|
-
this.movePool(
|
|
141
|
+
this.movePool(t2, "left");
|
|
351
142
|
break;
|
|
352
143
|
case "move-right":
|
|
353
|
-
this.movePool(
|
|
144
|
+
this.movePool(t2, "right");
|
|
354
145
|
break;
|
|
355
146
|
case "rename-pool":
|
|
356
|
-
this.renamePool(
|
|
147
|
+
this.renamePool(t2);
|
|
357
148
|
break;
|
|
358
149
|
default:
|
|
359
|
-
console.error(`Neznáma akcia: ${
|
|
150
|
+
console.error(`Neznáma akcia: ${e2}`);
|
|
360
151
|
}
|
|
361
152
|
}
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
* @param direction {string}
|
|
366
|
-
*/
|
|
367
|
-
movePool(pool, direction) {
|
|
368
|
-
const parent = pool.parentElement;
|
|
369
|
-
if (direction === "left" && pool.previousElementSibling) {
|
|
370
|
-
parent.insertBefore(pool, pool.previousElementSibling);
|
|
371
|
-
} else if (direction === "right" && pool.nextElementSibling) {
|
|
372
|
-
parent.insertBefore(pool.nextElementSibling, pool);
|
|
373
|
-
}
|
|
374
|
-
this.setupMenuItemClickEvents();
|
|
153
|
+
movePool(e2, t2) {
|
|
154
|
+
const a2 = e2.parentElement;
|
|
155
|
+
"left" === t2 && e2.previousElementSibling ? a2.insertBefore(e2, e2.previousElementSibling) : "right" === t2 && e2.nextElementSibling && a2.insertBefore(e2.nextElementSibling, e2), this.setupMenuItemClickEvents();
|
|
375
156
|
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
renamePool(pool) {
|
|
381
|
-
const newName = prompt("Zadajte nový názov pre stĺpec:");
|
|
382
|
-
if (newName) {
|
|
383
|
-
const header = pool.querySelector(".pool-header h4");
|
|
384
|
-
header.innerHTML = `${newName} (<span class="item-count">0</span> položiek)`;
|
|
385
|
-
this.updateColumnItemCount();
|
|
157
|
+
renamePool(e2) {
|
|
158
|
+
const t2 = prompt("Zadajte nový názov pre stĺpec:");
|
|
159
|
+
if (t2) {
|
|
160
|
+
e2.querySelector(".pool-header h4").innerHTML = `${t2} (<span class="item-count">0</span> položiek)`, this.updateColumnItemCount();
|
|
386
161
|
}
|
|
387
162
|
}
|
|
388
|
-
/**
|
|
389
|
-
* Gets the card placeholder.
|
|
390
|
-
* @returns {null|*}
|
|
391
|
-
*/
|
|
392
163
|
getCardPlaceholder() {
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Adds a live event listener to the component.
|
|
406
|
-
* @param eventType {string}
|
|
407
|
-
* @param selector {string}
|
|
408
|
-
* @param callback {function}
|
|
409
|
-
*/
|
|
410
|
-
live(eventType, selector, callback) {
|
|
411
|
-
const attachListener = (root) => {
|
|
412
|
-
root.addEventListener(
|
|
413
|
-
eventType,
|
|
414
|
-
(e) => {
|
|
415
|
-
if (e.target.matches(selector)) {
|
|
416
|
-
callback.call(e.target, e);
|
|
417
|
-
}
|
|
418
|
-
},
|
|
419
|
-
false
|
|
420
|
-
);
|
|
421
|
-
};
|
|
422
|
-
const traverseAndAttach = (root) => {
|
|
423
|
-
attachListener(root);
|
|
424
|
-
root.querySelectorAll("*").forEach((node) => {
|
|
425
|
-
if (node.shadowRoot) {
|
|
426
|
-
traverseAndAttach(node.shadowRoot);
|
|
427
|
-
}
|
|
164
|
+
return this.ui.elCardPlaceholder ? (this.ui.elCardPlaceholder.style.width = this.draggedElementWidth + "px", this.ui.elCardPlaceholder.style.height = this.draggedElementHeight + "px") : (this.ui.elCardPlaceholder = document.createElement("div"), this.ui.elCardPlaceholder.className = "card-placeholder", this.ui.elCardPlaceholder.style.width = this.draggedElementWidth + "px", this.ui.elCardPlaceholder.style.height = this.draggedElementHeight + "px"), this.ui.elCardPlaceholder;
|
|
165
|
+
}
|
|
166
|
+
live(e2, t2, a2) {
|
|
167
|
+
const r2 = (s) => {
|
|
168
|
+
((r3) => {
|
|
169
|
+
r3.addEventListener(e2, (e3) => {
|
|
170
|
+
e3.target.matches(t2) && a2.call(e3.target, e3);
|
|
171
|
+
}, false);
|
|
172
|
+
})(s), s.querySelectorAll("*").forEach((e3) => {
|
|
173
|
+
e3.shadowRoot && r2(e3.shadowRoot);
|
|
428
174
|
});
|
|
429
175
|
};
|
|
430
|
-
|
|
176
|
+
r2(this.shadowRoot || this);
|
|
431
177
|
}
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
* @param isChecked {boolean}
|
|
435
|
-
* @param card {HTMLElement}
|
|
436
|
-
*/
|
|
437
|
-
setSelectedCards(isChecked, card) {
|
|
438
|
-
if (isChecked) {
|
|
439
|
-
if (!this.selectedCards.includes(card)) {
|
|
440
|
-
this.selectedCards.push(card);
|
|
441
|
-
}
|
|
442
|
-
} else {
|
|
443
|
-
this.selectedCards = this.selectedCards.filter((selectedCard) => selectedCard !== card);
|
|
444
|
-
}
|
|
178
|
+
setSelectedCards(e2, t2) {
|
|
179
|
+
e2 ? this.selectedCards.includes(t2) || this.selectedCards.push(t2) : this.selectedCards = this.selectedCards.filter((e3) => e3 !== t2);
|
|
445
180
|
}
|
|
446
|
-
/**
|
|
447
|
-
* Sets the selected items.
|
|
448
|
-
*/
|
|
449
181
|
setSelectedItems() {
|
|
450
|
-
const
|
|
451
|
-
this.selectedItems = this.response.filter((
|
|
182
|
+
const e2 = this.selectedCards.map((e3) => e3.getAttribute("data-id"));
|
|
183
|
+
this.selectedItems = this.response.filter((t2) => e2.includes(t2.id));
|
|
452
184
|
}
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
async getPages(page = 0) {
|
|
459
|
-
let hasParams = this.url.includes("?");
|
|
460
|
-
const response = await fetch(
|
|
461
|
-
`${this.url}${hasParams ? "&" : "?"}page=${page}&size=${this.size}${this == null ? void 0 : this.queryParams}`
|
|
462
|
-
);
|
|
463
|
-
if (!response.ok) {
|
|
464
|
-
throw new Error(`An error occurred: ${response.status}`);
|
|
465
|
-
}
|
|
466
|
-
return await response.json();
|
|
185
|
+
async getPages(e2 = 0) {
|
|
186
|
+
let t2 = this.url.includes("?");
|
|
187
|
+
const a2 = await fetch(`${this.url}${t2 ? "&" : "?"}page=${e2}&size=${this.size}${this == null ? void 0 : this.queryParams}`);
|
|
188
|
+
if (!a2.ok) throw new Error(`An error occurred: ${a2.status}`);
|
|
189
|
+
return await a2.json();
|
|
467
190
|
}
|
|
468
|
-
dispatchEvent(
|
|
191
|
+
dispatchEvent(e2) {
|
|
469
192
|
return false;
|
|
470
193
|
}
|
|
471
194
|
}
|
|
472
|
-
|
|
195
|
+
r.define("wje-kanban", r);
|
|
473
196
|
export {
|
|
474
|
-
|
|
197
|
+
r as default
|
|
475
198
|
};
|
|
476
199
|
//# sourceMappingURL=wje-kanban.js.map
|