@design.estate/dees-catalog 12.4.0 → 13.0.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_bundle/bundle.js +2603 -1201
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +3 -3
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.d.ts +26 -16
- package/dist_ts_web/elements/00group-chart/dees-chart-area/component.js +161 -72
- package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.d.ts +2 -1
- package/dist_ts_web/elements/00group-chart/dees-chart-area/realtime-updates.js +3 -2
- package/dist_ts_web/elements/00group-chart/dees-chart-area/template.js +4 -3
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.d.ts +13 -0
- package/dist_ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.js +76 -7
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.d.ts +42 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.js +8 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/dees-input-reference.js +347 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/document.d.ts +5 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/document.js +45 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/index.d.ts +2 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/index.js +3 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.d.ts +16 -0
- package/dist_ts_web/elements/00group-input/dees-input-reference/interfaces.js +2 -0
- package/dist_ts_web/elements/00group-input/index.d.ts +1 -0
- package/dist_ts_web/elements/00group-input/index.js +2 -1
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.d.ts +58 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.d.ts +1 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.js +9 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban/dees-kanban.js +536 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.d.ts +20 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.js +157 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.d.ts +23 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.js +192 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.d.ts +24 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.js +211 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.d.ts +35 -0
- package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.js +269 -0
- package/dist_ts_web/elements/00group-kanban/index.d.ts +6 -0
- package/dist_ts_web/elements/00group-kanban/index.js +7 -0
- package/dist_ts_web/elements/00group-kanban/interfaces.d.ts +84 -0
- package/dist_ts_web/elements/00group-kanban/interfaces.js +2 -0
- package/dist_ts_web/elements/00group-kanban/kanban.demodata.d.ts +7 -0
- package/dist_ts_web/elements/00group-kanban/kanban.demodata.js +60 -0
- package/dist_ts_web/elements/00group-kanban/kanban.helpers.d.ts +6 -0
- package/dist_ts_web/elements/00group-kanban/kanban.helpers.js +11 -0
- package/dist_ts_web/elements/00group-kanban/kanban.styles.d.ts +1 -0
- package/dist_ts_web/elements/00group-kanban/kanban.styles.js +18 -0
- package/dist_ts_web/elements/index.d.ts +1 -0
- package/dist_ts_web/elements/index.js +2 -1
- package/dist_ts_web/services/DeesServiceLibLoader.d.ts +1 -0
- package/dist_ts_web/services/DeesServiceLibLoader.js +2 -1
- package/package.json +1 -1
- package/readme.md +165 -1
- package/scripts/check-packed-consumer.mjs +1 -1
- package/ts_web/00_commitinfo_data.ts +3 -3
- package/ts_web/elements/00group-chart/dees-chart-area/component.ts +195 -79
- package/ts_web/elements/00group-chart/dees-chart-area/realtime-updates.ts +4 -2
- package/ts_web/elements/00group-chart/dees-chart-area/template.ts +3 -2
- package/ts_web/elements/00group-input/dees-input-dropdown/dees-input-dropdown-popup.ts +40 -5
- package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.demo.ts +9 -0
- package/ts_web/elements/00group-input/dees-input-reference/dees-input-reference.ts +221 -0
- package/ts_web/elements/00group-input/dees-input-reference/document.ts +38 -0
- package/ts_web/elements/00group-input/dees-input-reference/index.ts +2 -0
- package/ts_web/elements/00group-input/dees-input-reference/interfaces.ts +8 -0
- package/ts_web/elements/00group-input/index.ts +1 -0
- package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.demo.ts +9 -0
- package/ts_web/elements/00group-kanban/dees-kanban/dees-kanban.ts +315 -0
- package/ts_web/elements/00group-kanban/dees-kanban-card/dees-kanban-card.ts +58 -0
- package/ts_web/elements/00group-kanban/dees-kanban-column/dees-kanban-column.ts +60 -0
- package/ts_web/elements/00group-kanban/dees-kanban-discussion/dees-kanban-discussion.ts +81 -0
- package/ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.ts +114 -0
- package/ts_web/elements/00group-kanban/index.ts +6 -0
- package/ts_web/elements/00group-kanban/interfaces.ts +67 -0
- package/ts_web/elements/00group-kanban/kanban.demodata.ts +56 -0
- package/ts_web/elements/00group-kanban/kanban.helpers.ts +13 -0
- package/ts_web/elements/00group-kanban/kanban.styles.ts +18 -0
- package/ts_web/elements/index.ts +1 -0
- package/ts_web/services/DeesServiceLibLoader.ts +2 -0
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { DeesElement, customElement, property, state, html, css } from '@design.estate/dees-element';
|
|
36
|
+
import { kanbanStyles } from '../kanban.styles.js';
|
|
37
|
+
import { kanbanError, kanbanEvent } from '../kanban.helpers.js';
|
|
38
|
+
import { referenceText } from '../../00group-input/dees-input-reference/index.js';
|
|
39
|
+
import '../../00group-button/dees-button/dees-button.js';
|
|
40
|
+
let DeesKanbanDiscussion = (() => {
|
|
41
|
+
let _classDecorators = [customElement('dees-kanban-discussion')];
|
|
42
|
+
let _classDescriptor;
|
|
43
|
+
let _classExtraInitializers = [];
|
|
44
|
+
let _classThis;
|
|
45
|
+
let _classSuper = DeesElement;
|
|
46
|
+
let _ticketId_decorators;
|
|
47
|
+
let _ticketId_initializers = [];
|
|
48
|
+
let _ticketId_extraInitializers = [];
|
|
49
|
+
let _comments_decorators;
|
|
50
|
+
let _comments_initializers = [];
|
|
51
|
+
let _comments_extraInitializers = [];
|
|
52
|
+
let _draft_decorators;
|
|
53
|
+
let _draft_initializers = [];
|
|
54
|
+
let _draft_extraInitializers = [];
|
|
55
|
+
let _searchTickets_decorators;
|
|
56
|
+
let _searchTickets_initializers = [];
|
|
57
|
+
let _searchTickets_extraInitializers = [];
|
|
58
|
+
let _addComment_decorators;
|
|
59
|
+
let _addComment_initializers = [];
|
|
60
|
+
let _addComment_extraInitializers = [];
|
|
61
|
+
let _loading_decorators;
|
|
62
|
+
let _loading_initializers = [];
|
|
63
|
+
let _loading_extraInitializers = [];
|
|
64
|
+
let _readOnly_decorators;
|
|
65
|
+
let _readOnly_initializers = [];
|
|
66
|
+
let _readOnly_extraInitializers = [];
|
|
67
|
+
let _error_decorators;
|
|
68
|
+
let _error_initializers = [];
|
|
69
|
+
let _error_extraInitializers = [];
|
|
70
|
+
let _pending_decorators;
|
|
71
|
+
let _pending_initializers = [];
|
|
72
|
+
let _pending_extraInitializers = [];
|
|
73
|
+
let _failures_decorators;
|
|
74
|
+
let _failures_initializers = [];
|
|
75
|
+
let _failures_extraInitializers = [];
|
|
76
|
+
var DeesKanbanDiscussion = class extends _classSuper {
|
|
77
|
+
static { _classThis = this; }
|
|
78
|
+
static {
|
|
79
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
80
|
+
_ticketId_decorators = [property({ type: String })];
|
|
81
|
+
_comments_decorators = [property({ attribute: false })];
|
|
82
|
+
_draft_decorators = [property({ attribute: false })];
|
|
83
|
+
_searchTickets_decorators = [property({ attribute: false })];
|
|
84
|
+
_addComment_decorators = [property({ attribute: false })];
|
|
85
|
+
_loading_decorators = [property({ type: Boolean })];
|
|
86
|
+
_readOnly_decorators = [property({ type: Boolean })];
|
|
87
|
+
_error_decorators = [property({ type: String })];
|
|
88
|
+
_pending_decorators = [state()];
|
|
89
|
+
_failures_decorators = [state()];
|
|
90
|
+
__esDecorate(this, null, _ticketId_decorators, { kind: "accessor", name: "ticketId", static: false, private: false, access: { has: obj => "ticketId" in obj, get: obj => obj.ticketId, set: (obj, value) => { obj.ticketId = value; } }, metadata: _metadata }, _ticketId_initializers, _ticketId_extraInitializers);
|
|
91
|
+
__esDecorate(this, null, _comments_decorators, { kind: "accessor", name: "comments", static: false, private: false, access: { has: obj => "comments" in obj, get: obj => obj.comments, set: (obj, value) => { obj.comments = value; } }, metadata: _metadata }, _comments_initializers, _comments_extraInitializers);
|
|
92
|
+
__esDecorate(this, null, _draft_decorators, { kind: "accessor", name: "draft", static: false, private: false, access: { has: obj => "draft" in obj, get: obj => obj.draft, set: (obj, value) => { obj.draft = value; } }, metadata: _metadata }, _draft_initializers, _draft_extraInitializers);
|
|
93
|
+
__esDecorate(this, null, _searchTickets_decorators, { kind: "accessor", name: "searchTickets", static: false, private: false, access: { has: obj => "searchTickets" in obj, get: obj => obj.searchTickets, set: (obj, value) => { obj.searchTickets = value; } }, metadata: _metadata }, _searchTickets_initializers, _searchTickets_extraInitializers);
|
|
94
|
+
__esDecorate(this, null, _addComment_decorators, { kind: "accessor", name: "addComment", static: false, private: false, access: { has: obj => "addComment" in obj, get: obj => obj.addComment, set: (obj, value) => { obj.addComment = value; } }, metadata: _metadata }, _addComment_initializers, _addComment_extraInitializers);
|
|
95
|
+
__esDecorate(this, null, _loading_decorators, { kind: "accessor", name: "loading", static: false, private: false, access: { has: obj => "loading" in obj, get: obj => obj.loading, set: (obj, value) => { obj.loading = value; } }, metadata: _metadata }, _loading_initializers, _loading_extraInitializers);
|
|
96
|
+
__esDecorate(this, null, _readOnly_decorators, { kind: "accessor", name: "readOnly", static: false, private: false, access: { has: obj => "readOnly" in obj, get: obj => obj.readOnly, set: (obj, value) => { obj.readOnly = value; } }, metadata: _metadata }, _readOnly_initializers, _readOnly_extraInitializers);
|
|
97
|
+
__esDecorate(this, null, _error_decorators, { kind: "accessor", name: "error", static: false, private: false, access: { has: obj => "error" in obj, get: obj => obj.error, set: (obj, value) => { obj.error = value; } }, metadata: _metadata }, _error_initializers, _error_extraInitializers);
|
|
98
|
+
__esDecorate(this, null, _pending_decorators, { kind: "accessor", name: "pending", static: false, private: false, access: { has: obj => "pending" in obj, get: obj => obj.pending, set: (obj, value) => { obj.pending = value; } }, metadata: _metadata }, _pending_initializers, _pending_extraInitializers);
|
|
99
|
+
__esDecorate(this, null, _failures_decorators, { kind: "accessor", name: "failures", static: false, private: false, access: { has: obj => "failures" in obj, get: obj => obj.failures, set: (obj, value) => { obj.failures = value; } }, metadata: _metadata }, _failures_initializers, _failures_extraInitializers);
|
|
100
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
101
|
+
DeesKanbanDiscussion = _classThis = _classDescriptor.value;
|
|
102
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
103
|
+
}
|
|
104
|
+
#ticketId_accessor_storage = __runInitializers(this, _ticketId_initializers, '');
|
|
105
|
+
get ticketId() { return this.#ticketId_accessor_storage; }
|
|
106
|
+
set ticketId(value) { this.#ticketId_accessor_storage = value; }
|
|
107
|
+
#comments_accessor_storage = (__runInitializers(this, _ticketId_extraInitializers), __runInitializers(this, _comments_initializers, []));
|
|
108
|
+
get comments() { return this.#comments_accessor_storage; }
|
|
109
|
+
set comments(value) { this.#comments_accessor_storage = value; }
|
|
110
|
+
#draft_accessor_storage = (__runInitializers(this, _comments_extraInitializers), __runInitializers(this, _draft_initializers, []));
|
|
111
|
+
get draft() { return this.#draft_accessor_storage; }
|
|
112
|
+
set draft(value) { this.#draft_accessor_storage = value; }
|
|
113
|
+
#searchTickets_accessor_storage = (__runInitializers(this, _draft_extraInitializers), __runInitializers(this, _searchTickets_initializers, void 0));
|
|
114
|
+
get searchTickets() { return this.#searchTickets_accessor_storage; }
|
|
115
|
+
set searchTickets(value) { this.#searchTickets_accessor_storage = value; }
|
|
116
|
+
#addComment_accessor_storage = (__runInitializers(this, _searchTickets_extraInitializers), __runInitializers(this, _addComment_initializers, void 0));
|
|
117
|
+
get addComment() { return this.#addComment_accessor_storage; }
|
|
118
|
+
set addComment(value) { this.#addComment_accessor_storage = value; }
|
|
119
|
+
#loading_accessor_storage = (__runInitializers(this, _addComment_extraInitializers), __runInitializers(this, _loading_initializers, false));
|
|
120
|
+
get loading() { return this.#loading_accessor_storage; }
|
|
121
|
+
set loading(value) { this.#loading_accessor_storage = value; }
|
|
122
|
+
#readOnly_accessor_storage = (__runInitializers(this, _loading_extraInitializers), __runInitializers(this, _readOnly_initializers, false));
|
|
123
|
+
get readOnly() { return this.#readOnly_accessor_storage; }
|
|
124
|
+
set readOnly(value) { this.#readOnly_accessor_storage = value; }
|
|
125
|
+
#error_accessor_storage = (__runInitializers(this, _readOnly_extraInitializers), __runInitializers(this, _error_initializers, ''));
|
|
126
|
+
get error() { return this.#error_accessor_storage; }
|
|
127
|
+
set error(value) { this.#error_accessor_storage = value; }
|
|
128
|
+
#pending_accessor_storage = (__runInitializers(this, _error_extraInitializers), __runInitializers(this, _pending_initializers, new Set()));
|
|
129
|
+
get pending() { return this.#pending_accessor_storage; }
|
|
130
|
+
set pending(value) { this.#pending_accessor_storage = value; }
|
|
131
|
+
#failures_accessor_storage = (__runInitializers(this, _pending_extraInitializers), __runInitializers(this, _failures_initializers, new Map()));
|
|
132
|
+
get failures() { return this.#failures_accessor_storage; }
|
|
133
|
+
set failures(value) { this.#failures_accessor_storage = value; }
|
|
134
|
+
static styles = [...kanbanStyles, css `
|
|
135
|
+
header { display: flex; align-items: center; margin-bottom: 16px; }
|
|
136
|
+
h3 { font-size: var(--dees-font-body-size); font-weight: 600; }
|
|
137
|
+
ol { list-style: none; padding: 0; margin: 0; }
|
|
138
|
+
li { padding: 0 0 20px; }
|
|
139
|
+
.author { font-weight: 550; font-size: var(--dees-font-footnote-size); }
|
|
140
|
+
time { font-size: var(--dees-font-caption1-size); color: var(--dees-color-text-secondary); }
|
|
141
|
+
.message { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.6; margin-top: 6px; }
|
|
142
|
+
.reference { display: inline; border: 0; border-radius: var(--dees-radius-sm); padding: 1px 4px; color: var(--dees-color-link); background: var(--dees-color-badge-default-bg); font: inherit; cursor: pointer; }
|
|
143
|
+
.compose { padding-top: 4px; }
|
|
144
|
+
.compose .row { padding-top: 8px; }
|
|
145
|
+
`];
|
|
146
|
+
render() {
|
|
147
|
+
const pending = this.pending.has(this.ticketId);
|
|
148
|
+
const comments = this.comments.filter(comment => comment.ticketId === this.ticketId)
|
|
149
|
+
.slice().sort((a, b) => Date.parse(a.createdAt) - Date.parse(b.createdAt));
|
|
150
|
+
return html `<header><h3>Discussion <span class="caption">${comments.length}</span></h3><span class="spacer"></span>
|
|
151
|
+
<dees-button size="sm" type="ghost" icon="lucide:RefreshCw" text="Refresh" .disabled=${this.loading}
|
|
152
|
+
@clicked=${() => kanbanEvent(this, 'kanban-comments-refresh', { ticketId: this.ticketId })}></dees-button></header>
|
|
153
|
+
${this.loading ? html `<p class="caption" role="status">Loading comments…</p>` : ''}
|
|
154
|
+
${this.error ? html `<p class="error" role="alert">${this.error}</p>` : ''}
|
|
155
|
+
<ol aria-label="Comments">${comments.map(comment => html `<li>
|
|
156
|
+
<div class="row"><span class="author">${comment.author.name}</span><time datetime=${comment.createdAt}>${new Date(comment.createdAt).toLocaleString()}</time></div>
|
|
157
|
+
<div class="message">${comment.body.map(part => part.type === 'text' ? part.text : html `<button class="reference"
|
|
158
|
+
@click=${() => kanbanEvent(this, 'kanban-ticket-open', { ticketId: part.id })}>${part.label}</button>`)}</div>
|
|
159
|
+
</li>`)}</ol>
|
|
160
|
+
${!comments.length && !this.loading && !this.error ? html `<p class="empty">Start the conversation.</p>` : ''}
|
|
161
|
+
${this.addComment && !this.readOnly ? html `<div class="compose">
|
|
162
|
+
<dees-input-reference label="Comment" placeholder="Write a comment…" .documentKey=${this.ticketId} .value=${this.draft} .disabled=${pending}
|
|
163
|
+
.searchReferences=${this.searchTickets}
|
|
164
|
+
@reference-input=${(event) => {
|
|
165
|
+
this.draft = event.detail.value;
|
|
166
|
+
kanbanEvent(this, 'kanban-comment-draft', { ticketId: this.ticketId, body: this.draft });
|
|
167
|
+
}}
|
|
168
|
+
@reference-open=${(event) => kanbanEvent(this, 'kanban-ticket-open', { ticketId: event.detail.id })}
|
|
169
|
+
@reference-submit=${() => { void this.submit(); }}></dees-input-reference>
|
|
170
|
+
<div class="row"><span class="caption">Type #_ to link a ticket · Ctrl/⌘ Enter to send</span><span class="spacer"></span>
|
|
171
|
+
<dees-button type="accent" size="sm" text="Comment" .disabled=${pending || !referenceText(this.draft).trim()}
|
|
172
|
+
.status=${pending ? 'pending' : 'normal'} @clicked=${() => { void this.submit(); }}></dees-button></div>
|
|
173
|
+
${this.failures.get(this.ticketId) ? html `<p class="error" role="alert">${this.failures.get(this.ticketId)}</p>` : ''}
|
|
174
|
+
</div>` : html `<p class="caption">Comments are read-only.</p>`}`;
|
|
175
|
+
}
|
|
176
|
+
async submit() {
|
|
177
|
+
const ticketId = this.ticketId;
|
|
178
|
+
if (!ticketId || !this.addComment || this.readOnly || this.pending.has(ticketId) || !referenceText(this.draft).trim())
|
|
179
|
+
return;
|
|
180
|
+
const body = this.draft.map(part => ({ ...part }));
|
|
181
|
+
this.pending = new Set(this.pending).add(ticketId);
|
|
182
|
+
this.failures = new Map(this.failures);
|
|
183
|
+
this.failures.delete(ticketId);
|
|
184
|
+
try {
|
|
185
|
+
const comment = await this.addComment({ ticketId, body });
|
|
186
|
+
if (comment.ticketId !== ticketId)
|
|
187
|
+
throw new Error('The saved comment belongs to a different ticket.');
|
|
188
|
+
if (this.ticketId === ticketId && JSON.stringify(this.draft) === JSON.stringify(body))
|
|
189
|
+
this.draft = [];
|
|
190
|
+
kanbanEvent(this, 'kanban-comment-added', { comment, submittedBody: body });
|
|
191
|
+
}
|
|
192
|
+
catch (error) {
|
|
193
|
+
this.failures = new Map(this.failures).set(ticketId, kanbanError(error));
|
|
194
|
+
}
|
|
195
|
+
finally {
|
|
196
|
+
this.pending = new Set(this.pending);
|
|
197
|
+
this.pending.delete(ticketId);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
constructor() {
|
|
201
|
+
super(...arguments);
|
|
202
|
+
__runInitializers(this, _failures_extraInitializers);
|
|
203
|
+
}
|
|
204
|
+
static {
|
|
205
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
return DeesKanbanDiscussion = _classThis;
|
|
209
|
+
})();
|
|
210
|
+
export { DeesKanbanDiscussion };
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1rYW5iYW4tZGlzY3Vzc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWthbmJhbi9kZWVzLWthbmJhbi1kaXNjdXNzaW9uL2RlZXMta2FuYmFuLWRpc2N1c3Npb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRXJHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxhQUFhLEVBQWlELE1BQU0sbURBQW1ELENBQUM7QUFDakksT0FBTyxpREFBaUQsQ0FBQztJQUs1QyxvQkFBb0I7NEJBRGhDLGFBQWEsQ0FBQyx3QkFBd0IsQ0FBQzs7OztzQkFDRSxXQUFXOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O29DQUFuQixTQUFRLFdBQVc7Ozs7b0NBQ2xELFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztvQ0FDMUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO2lDQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7eUNBQzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztzQ0FDOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO21DQUM5QixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUM7b0NBQzNCLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFB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
|
package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.d.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { DeesElement } from '@design.estate/dees-element';
|
|
2
|
+
import type { IKanbanColumn, IKanbanComment, IKanbanPerson, IKanbanProvider, IKanbanTicket, IKanbanTicketDraft } from '../interfaces.js';
|
|
3
|
+
import type { TReferenceContent, TReferenceSearch } from '../../00group-input/dees-input-reference/interfaces.js';
|
|
4
|
+
import '../../00group-input/dees-input-text/dees-input-text.js';
|
|
5
|
+
import '../../00group-input/dees-input-textarea/dees-input-textarea.js';
|
|
6
|
+
import '../../00group-input/dees-input-dropdown/dees-input-dropdown.js';
|
|
7
|
+
import '../dees-kanban-discussion/dees-kanban-discussion.js';
|
|
8
|
+
declare global {
|
|
9
|
+
interface HTMLElementTagNameMap {
|
|
10
|
+
'dees-kanban-ticket-detail': DeesKanbanTicketDetail;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export declare class DeesKanbanTicketDetail extends DeesElement {
|
|
14
|
+
accessor ticket: IKanbanTicket | undefined;
|
|
15
|
+
accessor tickets: IKanbanTicket[];
|
|
16
|
+
accessor columns: IKanbanColumn[];
|
|
17
|
+
accessor people: IKanbanPerson[];
|
|
18
|
+
accessor provider: IKanbanProvider;
|
|
19
|
+
accessor draft: IKanbanTicketDraft | undefined;
|
|
20
|
+
accessor commentDraft: TReferenceContent;
|
|
21
|
+
accessor comments: IKanbanComment[];
|
|
22
|
+
accessor searchTickets: TReferenceSearch | undefined;
|
|
23
|
+
accessor loadingComments: boolean;
|
|
24
|
+
accessor commentsError: string;
|
|
25
|
+
accessor error: string;
|
|
26
|
+
accessor saving: boolean;
|
|
27
|
+
accessor canGoBack: boolean;
|
|
28
|
+
private accessor editing;
|
|
29
|
+
static styles: import("@design.estate/dees-element").CSSResult[];
|
|
30
|
+
updated(changed: Map<string, unknown>): void;
|
|
31
|
+
private changeDraft;
|
|
32
|
+
private addComment;
|
|
33
|
+
render(): import("@design.estate/dees-element").TemplateResult<1>;
|
|
34
|
+
finishEditing(): void;
|
|
35
|
+
}
|
package/dist_ts_web/elements/00group-kanban/dees-kanban-ticket-detail/dees-kanban-ticket-detail.js
ADDED
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
var __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
|
|
2
|
+
function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
|
|
3
|
+
var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
|
|
4
|
+
var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
|
|
5
|
+
var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
|
|
6
|
+
var _, done = false;
|
|
7
|
+
for (var i = decorators.length - 1; i >= 0; i--) {
|
|
8
|
+
var context = {};
|
|
9
|
+
for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
|
|
10
|
+
for (var p in contextIn.access) context.access[p] = contextIn.access[p];
|
|
11
|
+
context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
|
|
12
|
+
var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
|
|
13
|
+
if (kind === "accessor") {
|
|
14
|
+
if (result === void 0) continue;
|
|
15
|
+
if (result === null || typeof result !== "object") throw new TypeError("Object expected");
|
|
16
|
+
if (_ = accept(result.get)) descriptor.get = _;
|
|
17
|
+
if (_ = accept(result.set)) descriptor.set = _;
|
|
18
|
+
if (_ = accept(result.init)) initializers.unshift(_);
|
|
19
|
+
}
|
|
20
|
+
else if (_ = accept(result)) {
|
|
21
|
+
if (kind === "field") initializers.unshift(_);
|
|
22
|
+
else descriptor[key] = _;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (target) Object.defineProperty(target, contextIn.name, descriptor);
|
|
26
|
+
done = true;
|
|
27
|
+
};
|
|
28
|
+
var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
|
|
29
|
+
var useValue = arguments.length > 2;
|
|
30
|
+
for (var i = 0; i < initializers.length; i++) {
|
|
31
|
+
value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
|
|
32
|
+
}
|
|
33
|
+
return useValue ? value : void 0;
|
|
34
|
+
};
|
|
35
|
+
import { DeesElement, customElement, property, state, html, css } from '@design.estate/dees-element';
|
|
36
|
+
import { kanbanStyles } from '../kanban.styles.js';
|
|
37
|
+
import { kanbanEvent, sortKanbanTickets, ticketDraft, ticketLabel } from '../kanban.helpers.js';
|
|
38
|
+
import '../../00group-input/dees-input-text/dees-input-text.js';
|
|
39
|
+
import '../../00group-input/dees-input-textarea/dees-input-textarea.js';
|
|
40
|
+
import '../../00group-input/dees-input-dropdown/dees-input-dropdown.js';
|
|
41
|
+
import '../dees-kanban-discussion/dees-kanban-discussion.js';
|
|
42
|
+
let DeesKanbanTicketDetail = (() => {
|
|
43
|
+
let _classDecorators = [customElement('dees-kanban-ticket-detail')];
|
|
44
|
+
let _classDescriptor;
|
|
45
|
+
let _classExtraInitializers = [];
|
|
46
|
+
let _classThis;
|
|
47
|
+
let _classSuper = DeesElement;
|
|
48
|
+
let _ticket_decorators;
|
|
49
|
+
let _ticket_initializers = [];
|
|
50
|
+
let _ticket_extraInitializers = [];
|
|
51
|
+
let _tickets_decorators;
|
|
52
|
+
let _tickets_initializers = [];
|
|
53
|
+
let _tickets_extraInitializers = [];
|
|
54
|
+
let _columns_decorators;
|
|
55
|
+
let _columns_initializers = [];
|
|
56
|
+
let _columns_extraInitializers = [];
|
|
57
|
+
let _people_decorators;
|
|
58
|
+
let _people_initializers = [];
|
|
59
|
+
let _people_extraInitializers = [];
|
|
60
|
+
let _provider_decorators;
|
|
61
|
+
let _provider_initializers = [];
|
|
62
|
+
let _provider_extraInitializers = [];
|
|
63
|
+
let _draft_decorators;
|
|
64
|
+
let _draft_initializers = [];
|
|
65
|
+
let _draft_extraInitializers = [];
|
|
66
|
+
let _commentDraft_decorators;
|
|
67
|
+
let _commentDraft_initializers = [];
|
|
68
|
+
let _commentDraft_extraInitializers = [];
|
|
69
|
+
let _comments_decorators;
|
|
70
|
+
let _comments_initializers = [];
|
|
71
|
+
let _comments_extraInitializers = [];
|
|
72
|
+
let _searchTickets_decorators;
|
|
73
|
+
let _searchTickets_initializers = [];
|
|
74
|
+
let _searchTickets_extraInitializers = [];
|
|
75
|
+
let _loadingComments_decorators;
|
|
76
|
+
let _loadingComments_initializers = [];
|
|
77
|
+
let _loadingComments_extraInitializers = [];
|
|
78
|
+
let _commentsError_decorators;
|
|
79
|
+
let _commentsError_initializers = [];
|
|
80
|
+
let _commentsError_extraInitializers = [];
|
|
81
|
+
let _error_decorators;
|
|
82
|
+
let _error_initializers = [];
|
|
83
|
+
let _error_extraInitializers = [];
|
|
84
|
+
let _saving_decorators;
|
|
85
|
+
let _saving_initializers = [];
|
|
86
|
+
let _saving_extraInitializers = [];
|
|
87
|
+
let _canGoBack_decorators;
|
|
88
|
+
let _canGoBack_initializers = [];
|
|
89
|
+
let _canGoBack_extraInitializers = [];
|
|
90
|
+
let _editing_decorators;
|
|
91
|
+
let _editing_initializers = [];
|
|
92
|
+
let _editing_extraInitializers = [];
|
|
93
|
+
var DeesKanbanTicketDetail = class extends _classSuper {
|
|
94
|
+
static { _classThis = this; }
|
|
95
|
+
static {
|
|
96
|
+
const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(_classSuper[Symbol.metadata] ?? null) : void 0;
|
|
97
|
+
_ticket_decorators = [property({ attribute: false })];
|
|
98
|
+
_tickets_decorators = [property({ attribute: false })];
|
|
99
|
+
_columns_decorators = [property({ attribute: false })];
|
|
100
|
+
_people_decorators = [property({ attribute: false })];
|
|
101
|
+
_provider_decorators = [property({ attribute: false })];
|
|
102
|
+
_draft_decorators = [property({ attribute: false })];
|
|
103
|
+
_commentDraft_decorators = [property({ attribute: false })];
|
|
104
|
+
_comments_decorators = [property({ attribute: false })];
|
|
105
|
+
_searchTickets_decorators = [property({ attribute: false })];
|
|
106
|
+
_loadingComments_decorators = [property({ type: Boolean })];
|
|
107
|
+
_commentsError_decorators = [property({ type: String })];
|
|
108
|
+
_error_decorators = [property({ type: String })];
|
|
109
|
+
_saving_decorators = [property({ type: Boolean })];
|
|
110
|
+
_canGoBack_decorators = [property({ type: Boolean })];
|
|
111
|
+
_editing_decorators = [state()];
|
|
112
|
+
__esDecorate(this, null, _ticket_decorators, { kind: "accessor", name: "ticket", static: false, private: false, access: { has: obj => "ticket" in obj, get: obj => obj.ticket, set: (obj, value) => { obj.ticket = value; } }, metadata: _metadata }, _ticket_initializers, _ticket_extraInitializers);
|
|
113
|
+
__esDecorate(this, null, _tickets_decorators, { kind: "accessor", name: "tickets", static: false, private: false, access: { has: obj => "tickets" in obj, get: obj => obj.tickets, set: (obj, value) => { obj.tickets = value; } }, metadata: _metadata }, _tickets_initializers, _tickets_extraInitializers);
|
|
114
|
+
__esDecorate(this, null, _columns_decorators, { kind: "accessor", name: "columns", static: false, private: false, access: { has: obj => "columns" in obj, get: obj => obj.columns, set: (obj, value) => { obj.columns = value; } }, metadata: _metadata }, _columns_initializers, _columns_extraInitializers);
|
|
115
|
+
__esDecorate(this, null, _people_decorators, { kind: "accessor", name: "people", static: false, private: false, access: { has: obj => "people" in obj, get: obj => obj.people, set: (obj, value) => { obj.people = value; } }, metadata: _metadata }, _people_initializers, _people_extraInitializers);
|
|
116
|
+
__esDecorate(this, null, _provider_decorators, { kind: "accessor", name: "provider", static: false, private: false, access: { has: obj => "provider" in obj, get: obj => obj.provider, set: (obj, value) => { obj.provider = value; } }, metadata: _metadata }, _provider_initializers, _provider_extraInitializers);
|
|
117
|
+
__esDecorate(this, null, _draft_decorators, { kind: "accessor", name: "draft", static: false, private: false, access: { has: obj => "draft" in obj, get: obj => obj.draft, set: (obj, value) => { obj.draft = value; } }, metadata: _metadata }, _draft_initializers, _draft_extraInitializers);
|
|
118
|
+
__esDecorate(this, null, _commentDraft_decorators, { kind: "accessor", name: "commentDraft", static: false, private: false, access: { has: obj => "commentDraft" in obj, get: obj => obj.commentDraft, set: (obj, value) => { obj.commentDraft = value; } }, metadata: _metadata }, _commentDraft_initializers, _commentDraft_extraInitializers);
|
|
119
|
+
__esDecorate(this, null, _comments_decorators, { kind: "accessor", name: "comments", static: false, private: false, access: { has: obj => "comments" in obj, get: obj => obj.comments, set: (obj, value) => { obj.comments = value; } }, metadata: _metadata }, _comments_initializers, _comments_extraInitializers);
|
|
120
|
+
__esDecorate(this, null, _searchTickets_decorators, { kind: "accessor", name: "searchTickets", static: false, private: false, access: { has: obj => "searchTickets" in obj, get: obj => obj.searchTickets, set: (obj, value) => { obj.searchTickets = value; } }, metadata: _metadata }, _searchTickets_initializers, _searchTickets_extraInitializers);
|
|
121
|
+
__esDecorate(this, null, _loadingComments_decorators, { kind: "accessor", name: "loadingComments", static: false, private: false, access: { has: obj => "loadingComments" in obj, get: obj => obj.loadingComments, set: (obj, value) => { obj.loadingComments = value; } }, metadata: _metadata }, _loadingComments_initializers, _loadingComments_extraInitializers);
|
|
122
|
+
__esDecorate(this, null, _commentsError_decorators, { kind: "accessor", name: "commentsError", static: false, private: false, access: { has: obj => "commentsError" in obj, get: obj => obj.commentsError, set: (obj, value) => { obj.commentsError = value; } }, metadata: _metadata }, _commentsError_initializers, _commentsError_extraInitializers);
|
|
123
|
+
__esDecorate(this, null, _error_decorators, { kind: "accessor", name: "error", static: false, private: false, access: { has: obj => "error" in obj, get: obj => obj.error, set: (obj, value) => { obj.error = value; } }, metadata: _metadata }, _error_initializers, _error_extraInitializers);
|
|
124
|
+
__esDecorate(this, null, _saving_decorators, { kind: "accessor", name: "saving", static: false, private: false, access: { has: obj => "saving" in obj, get: obj => obj.saving, set: (obj, value) => { obj.saving = value; } }, metadata: _metadata }, _saving_initializers, _saving_extraInitializers);
|
|
125
|
+
__esDecorate(this, null, _canGoBack_decorators, { kind: "accessor", name: "canGoBack", static: false, private: false, access: { has: obj => "canGoBack" in obj, get: obj => obj.canGoBack, set: (obj, value) => { obj.canGoBack = value; } }, metadata: _metadata }, _canGoBack_initializers, _canGoBack_extraInitializers);
|
|
126
|
+
__esDecorate(this, null, _editing_decorators, { kind: "accessor", name: "editing", static: false, private: false, access: { has: obj => "editing" in obj, get: obj => obj.editing, set: (obj, value) => { obj.editing = value; } }, metadata: _metadata }, _editing_initializers, _editing_extraInitializers);
|
|
127
|
+
__esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
|
|
128
|
+
DeesKanbanTicketDetail = _classThis = _classDescriptor.value;
|
|
129
|
+
if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
|
|
130
|
+
}
|
|
131
|
+
#ticket_accessor_storage = __runInitializers(this, _ticket_initializers, void 0);
|
|
132
|
+
get ticket() { return this.#ticket_accessor_storage; }
|
|
133
|
+
set ticket(value) { this.#ticket_accessor_storage = value; }
|
|
134
|
+
#tickets_accessor_storage = (__runInitializers(this, _ticket_extraInitializers), __runInitializers(this, _tickets_initializers, []));
|
|
135
|
+
get tickets() { return this.#tickets_accessor_storage; }
|
|
136
|
+
set tickets(value) { this.#tickets_accessor_storage = value; }
|
|
137
|
+
#columns_accessor_storage = (__runInitializers(this, _tickets_extraInitializers), __runInitializers(this, _columns_initializers, []));
|
|
138
|
+
get columns() { return this.#columns_accessor_storage; }
|
|
139
|
+
set columns(value) { this.#columns_accessor_storage = value; }
|
|
140
|
+
#people_accessor_storage = (__runInitializers(this, _columns_extraInitializers), __runInitializers(this, _people_initializers, []));
|
|
141
|
+
get people() { return this.#people_accessor_storage; }
|
|
142
|
+
set people(value) { this.#people_accessor_storage = value; }
|
|
143
|
+
#provider_accessor_storage = (__runInitializers(this, _people_extraInitializers), __runInitializers(this, _provider_initializers, {}));
|
|
144
|
+
get provider() { return this.#provider_accessor_storage; }
|
|
145
|
+
set provider(value) { this.#provider_accessor_storage = value; }
|
|
146
|
+
#draft_accessor_storage = (__runInitializers(this, _provider_extraInitializers), __runInitializers(this, _draft_initializers, void 0));
|
|
147
|
+
get draft() { return this.#draft_accessor_storage; }
|
|
148
|
+
set draft(value) { this.#draft_accessor_storage = value; }
|
|
149
|
+
#commentDraft_accessor_storage = (__runInitializers(this, _draft_extraInitializers), __runInitializers(this, _commentDraft_initializers, []));
|
|
150
|
+
get commentDraft() { return this.#commentDraft_accessor_storage; }
|
|
151
|
+
set commentDraft(value) { this.#commentDraft_accessor_storage = value; }
|
|
152
|
+
#comments_accessor_storage = (__runInitializers(this, _commentDraft_extraInitializers), __runInitializers(this, _comments_initializers, []));
|
|
153
|
+
get comments() { return this.#comments_accessor_storage; }
|
|
154
|
+
set comments(value) { this.#comments_accessor_storage = value; }
|
|
155
|
+
#searchTickets_accessor_storage = (__runInitializers(this, _comments_extraInitializers), __runInitializers(this, _searchTickets_initializers, void 0));
|
|
156
|
+
get searchTickets() { return this.#searchTickets_accessor_storage; }
|
|
157
|
+
set searchTickets(value) { this.#searchTickets_accessor_storage = value; }
|
|
158
|
+
#loadingComments_accessor_storage = (__runInitializers(this, _searchTickets_extraInitializers), __runInitializers(this, _loadingComments_initializers, false));
|
|
159
|
+
get loadingComments() { return this.#loadingComments_accessor_storage; }
|
|
160
|
+
set loadingComments(value) { this.#loadingComments_accessor_storage = value; }
|
|
161
|
+
#commentsError_accessor_storage = (__runInitializers(this, _loadingComments_extraInitializers), __runInitializers(this, _commentsError_initializers, ''));
|
|
162
|
+
get commentsError() { return this.#commentsError_accessor_storage; }
|
|
163
|
+
set commentsError(value) { this.#commentsError_accessor_storage = value; }
|
|
164
|
+
#error_accessor_storage = (__runInitializers(this, _commentsError_extraInitializers), __runInitializers(this, _error_initializers, ''));
|
|
165
|
+
get error() { return this.#error_accessor_storage; }
|
|
166
|
+
set error(value) { this.#error_accessor_storage = value; }
|
|
167
|
+
#saving_accessor_storage = (__runInitializers(this, _error_extraInitializers), __runInitializers(this, _saving_initializers, false));
|
|
168
|
+
get saving() { return this.#saving_accessor_storage; }
|
|
169
|
+
set saving(value) { this.#saving_accessor_storage = value; }
|
|
170
|
+
#canGoBack_accessor_storage = (__runInitializers(this, _saving_extraInitializers), __runInitializers(this, _canGoBack_initializers, false));
|
|
171
|
+
get canGoBack() { return this.#canGoBack_accessor_storage; }
|
|
172
|
+
set canGoBack(value) { this.#canGoBack_accessor_storage = value; }
|
|
173
|
+
#editing_accessor_storage = (__runInitializers(this, _canGoBack_extraInitializers), __runInitializers(this, _editing_initializers, false));
|
|
174
|
+
get editing() { return this.#editing_accessor_storage; }
|
|
175
|
+
set editing(value) { this.#editing_accessor_storage = value; }
|
|
176
|
+
static styles = [...kanbanStyles, css `
|
|
177
|
+
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 230px; gap: 28px; }
|
|
178
|
+
.main { min-width: 0; }
|
|
179
|
+
.toolbar { margin-bottom: 16px; }
|
|
180
|
+
h2 { font-size: var(--dees-font-title2-size); line-height: 1.3; font-weight: 600; margin-bottom: 18px; overflow-wrap: anywhere; }
|
|
181
|
+
.description { white-space: pre-wrap; line-height: 1.65; overflow-wrap: anywhere; margin-bottom: 24px; }
|
|
182
|
+
aside { border-left: 1px solid var(--dees-color-border-subtle); padding-left: 22px; }
|
|
183
|
+
.fields { display: grid; gap: 16px; }
|
|
184
|
+
.fields label { display: block; margin-bottom: 6px; }
|
|
185
|
+
h3 { font-size: var(--dees-font-body-size); margin-bottom: 12px; }
|
|
186
|
+
.children { margin-bottom: 24px; }
|
|
187
|
+
.child { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--dees-color-border-subtle); }
|
|
188
|
+
.discussion { border-top: 1px solid var(--dees-color-border-subtle); padding-top: 22px; }
|
|
189
|
+
.edit { display: grid; gap: 14px; margin-bottom: 22px; }
|
|
190
|
+
@media (max-width: 700px) { .layout { grid-template-columns: minmax(0, 1fr); gap: 24px; } aside { grid-row: 1; border-left: 0; padding-left: 0; } .fields { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
|
|
191
|
+
`];
|
|
192
|
+
updated(changed) {
|
|
193
|
+
const previous = changed.get('ticket');
|
|
194
|
+
if (changed.has('ticket') && previous?.id !== this.ticket?.id)
|
|
195
|
+
this.editing = Boolean(this.draft);
|
|
196
|
+
}
|
|
197
|
+
changeDraft(change) {
|
|
198
|
+
this.draft = { ...(this.draft ?? ticketDraft(this.ticket)), ...change };
|
|
199
|
+
kanbanEvent(this, 'kanban-ticket-draft', { ticketId: this.ticket.id, draft: this.draft });
|
|
200
|
+
}
|
|
201
|
+
addComment = (__runInitializers(this, _editing_extraInitializers), (input) => this.provider.addComment(input));
|
|
202
|
+
render() {
|
|
203
|
+
const ticket = this.ticket;
|
|
204
|
+
if (!ticket)
|
|
205
|
+
return html ``;
|
|
206
|
+
const draft = this.draft ?? ticketDraft(ticket);
|
|
207
|
+
const parent = this.tickets.find(item => item.id === ticket.parentId);
|
|
208
|
+
const children = sortKanbanTickets(this.tickets.filter(item => item.parentId === ticket.id));
|
|
209
|
+
const editable = Boolean(this.provider.updateTicket) && ticket.permissions?.edit !== false;
|
|
210
|
+
const movable = Boolean(this.provider.moveTicket) && ticket.permissions?.move !== false;
|
|
211
|
+
const parents = this.tickets.filter(item => item.kind === (ticket.kind === 'subtask' ? 'task' : 'epic'));
|
|
212
|
+
return html `<div class="toolbar row">
|
|
213
|
+
${this.canGoBack ? html `<dees-button size="sm" type="ghost" icon="lucide:ArrowLeft" text="Back" @clicked=${() => kanbanEvent(this, 'kanban-detail-back', {})}></dees-button>` : ''}
|
|
214
|
+
<span class="badge">${ticket.kind}</span><span class="caption">${ticket.key}</span>
|
|
215
|
+
${parent ? html `<span class="caption">/</span><button class="link caption" @click=${() => kanbanEvent(this, 'kanban-ticket-open', { ticketId: parent.id })}>${parent.title}</button>` : ''}
|
|
216
|
+
<span class="spacer"></span>${editable && !this.editing ? html `<dees-button size="sm" type="ghost" text="Edit ticket" icon="lucide:Pencil" @clicked=${() => { this.editing = true; this.changeDraft({}); }}></dees-button>` : ''}
|
|
217
|
+
</div>
|
|
218
|
+
${this.error ? html `<p class="error" role="alert">${this.error}</p>` : ''}
|
|
219
|
+
<div class="layout"><div class="main">
|
|
220
|
+
${this.editing && editable ? html `<div class="edit">
|
|
221
|
+
<dees-input-text label="Title" .value=${draft.title} .disabled=${this.saving}
|
|
222
|
+
@input=${(event) => this.changeDraft({ title: String(event.currentTarget.value ?? '') })}></dees-input-text>
|
|
223
|
+
<dees-input-textarea label="Description" .value=${draft.description} .rows=${5} .disabled=${this.saving}
|
|
224
|
+
@input=${(event) => this.changeDraft({ description: event.currentTarget.value })}></dees-input-textarea>
|
|
225
|
+
<div class="row"><dees-button size="sm" type="accent" text="Save changes" .disabled=${this.saving || !draft.title.trim()} .status=${this.saving ? 'pending' : 'normal'}
|
|
226
|
+
@clicked=${() => kanbanEvent(this, 'kanban-ticket-save', { ticketId: ticket.id, draft })}></dees-button>
|
|
227
|
+
<dees-button size="sm" type="ghost" text="Cancel" .disabled=${this.saving} @clicked=${() => {
|
|
228
|
+
this.editing = false;
|
|
229
|
+
this.draft = undefined;
|
|
230
|
+
kanbanEvent(this, 'kanban-ticket-draft', { ticketId: ticket.id, draft: undefined });
|
|
231
|
+
}}></dees-button></div>
|
|
232
|
+
</div>` : html `<h2>${ticket.title}</h2><div class="description ${ticket.description ? '' : 'muted'}">${ticket.description || 'No description yet.'}</div>`}
|
|
233
|
+
${ticket.kind !== 'subtask' ? html `<section class="children"><div class="row"><h3>${ticket.kind === 'epic' ? 'Tasks' : 'Subtasks'}</h3><span class="spacer"></span>
|
|
234
|
+
${this.provider.createTicket && ticket.permissions?.createChild !== false ? html `<dees-button size="sm" type="ghost" icon="lucide:Plus" text=${ticket.kind === 'epic' ? 'Add task' : 'Add subtask'}
|
|
235
|
+
@clicked=${() => kanbanEvent(this, 'kanban-ticket-create', { kind: ticket.kind === 'epic' ? 'task' : 'subtask', parentId: ticket.id, columnId: this.columns[0]?.id ?? ticket.columnId })}></dees-button>` : ''}</div>
|
|
236
|
+
${children.map(child => html `<div class="child"><button class="link" @click=${() => kanbanEvent(this, 'kanban-ticket-open', { ticketId: child.id })}>${ticketLabel(child)}</button>
|
|
237
|
+
<span class="badge">${this.columns.find(column => column.id === child.columnId)?.title ?? child.columnId}</span></div>`)}
|
|
238
|
+
${!children.length ? html `<p class="caption">No ${ticket.kind === 'epic' ? 'tasks' : 'subtasks'} yet.</p>` : ''}</section>` : ''}
|
|
239
|
+
<dees-kanban-discussion class="discussion" .ticketId=${ticket.id} .comments=${this.comments} .draft=${this.commentDraft}
|
|
240
|
+
.loading=${this.loadingComments} .error=${this.commentsError} .readOnly=${ticket.permissions?.comment === false}
|
|
241
|
+
.searchTickets=${this.searchTickets} .addComment=${this.provider.addComment ? this.addComment : undefined}></dees-kanban-discussion>
|
|
242
|
+
</div><aside><div class="fields">
|
|
243
|
+
<dees-input-dropdown label="Status" .options=${this.columns.map(column => ({ key: column.id, option: column.title }))}
|
|
244
|
+
.value=${{ key: ticket.columnId, option: this.columns.find(column => column.id === ticket.columnId)?.title ?? ticket.columnId }}
|
|
245
|
+
.disabled=${!movable || this.saving} @selectedOption=${(event) => kanbanEvent(this, 'kanban-ticket-move', { ticketId: ticket.id, columnId: event.detail.key })}></dees-input-dropdown>
|
|
246
|
+
${this.editing && editable ? html `
|
|
247
|
+
<dees-input-dropdown label="Priority" .disabled=${this.saving} .value=${{ key: draft.priority, option: draft.priority }}
|
|
248
|
+
.options=${['none', 'low', 'normal', 'high', 'urgent'].map(key => ({ key, option: key }))}
|
|
249
|
+
@selectedOption=${(event) => this.changeDraft({ priority: event.detail.key })}></dees-input-dropdown>
|
|
250
|
+
<dees-input-dropdown label="Assignee" .disabled=${this.saving} .value=${{ key: draft.assigneeId, option: this.people.find(person => person.id === draft.assigneeId)?.name ?? ticket.assignee?.name ?? 'Unassigned' }}
|
|
251
|
+
.options=${[{ key: '', option: 'Unassigned' }, ...this.people.map(person => ({ key: person.id, option: person.name }))]}
|
|
252
|
+
@selectedOption=${(event) => this.changeDraft({ assigneeId: event.detail.key })}></dees-input-dropdown>
|
|
253
|
+
${ticket.kind !== 'epic' ? html `<dees-input-dropdown label=${ticket.kind === 'task' ? 'Epic' : 'Parent task'} .disabled=${this.saving}
|
|
254
|
+
.value=${{ key: draft.parentId, option: parents.find(item => item.id === draft.parentId)?.title ?? 'None' }}
|
|
255
|
+
.options=${[...(ticket.kind === 'task' ? [{ key: '', option: 'None' }] : []), ...parents.map(item => ({ key: item.id, option: ticketLabel(item) }))]}
|
|
256
|
+
@selectedOption=${(event) => this.changeDraft({ parentId: event.detail.key })}></dees-input-dropdown>` : ''}
|
|
257
|
+
` : html `<div><label class="caption">Priority</label>${ticket.priority ?? 'none'}</div><div><label class="caption">Assignee</label>${ticket.assignee?.name ?? 'Unassigned'}</div>`}
|
|
258
|
+
${ticket.labels?.length ? html `<div><label class="caption">Labels</label><div class="row">${ticket.labels.map(label => html `<span class="badge">${label}</span>`)}</div></div>` : ''}
|
|
259
|
+
</div></aside></div>`;
|
|
260
|
+
}
|
|
261
|
+
finishEditing() { this.editing = false; }
|
|
262
|
+
static {
|
|
263
|
+
__runInitializers(_classThis, _classExtraInitializers);
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
return DeesKanbanTicketDetail = _classThis;
|
|
267
|
+
})();
|
|
268
|
+
export { DeesKanbanTicketDetail };
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1rYW5iYW4tdGlja2V0LWRldGFpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWthbmJhbi9kZWVzLWthbmJhbi10aWNrZXQtZGV0YWlsL2RlZXMta2FuYmFuLXRpY2tldC1kZXRhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBR3JHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUdoRyxPQUFPLHdEQUF3RCxDQUFDO0FBQ2hFLE9BQU8sZ0VBQWdFLENBQUM7QUFDeEUsT0FBTyxnRUFBZ0UsQ0FBQztBQUN4RSxPQUFPLHFEQUFxRCxDQUFDO0lBS2hELHNCQUFzQjs0QkFEbEMsYUFBYSxDQUFDLDJCQUEyQixDQUFDOzs7O3NCQUNDLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7c0NBQW5CLFNBQVEsV0FBVzs7OztrQ0FDcEQsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO21DQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7bUNBQzlCLFFBQVEsQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQztrQ0FDOUIsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO29DQUM5QixRQUFRLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUM7aUNBQzlC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NEJBQ3ZFLENBQUMsS0FBNEMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDOzBEQUNwRSxJQUFJLENBQUMsTUFBTSxXQUFXLEVBQUUsR0FBRyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUUsSUFBSSxJQUFJLE1BQU0sQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLFlBQVksRUFBRTtxQkFDdk0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7NEJBQ3JHLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO1VBQzdHLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUEsOEJBQThCLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGFBQWEsY0FBYyxJQUFJLENBQUMsTUFBTTttQkFDMUgsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUU7cUJBQ2hHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7NEJBQ2xJLENBQUMsS0FBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFO09BQzVJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSwrQ0FBK0MsTUFBTSxDQUFDLFFBQVEsSUFBSSxNQUFNLHFEQUFxRCxNQUFNLENBQUMsUUFBUSxFQUFFLElBQUksSUFBSSxZQUFZLFFBQVE7UUFDaEwsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQSw4REFBOEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUEsdUJBQXVCLEtBQUssU0FBUyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRTt5QkFDakssQ0FBQztRQUN4QixDQUFDO1FBQ00sYUFBYSxLQUFXLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQzs7WUFqRzNDLHVEQUFzQjs7Ozs7U0FBdEIsc0JBQXNCIn0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './interfaces.js';
|
|
2
|
+
export * from './dees-kanban/dees-kanban.js';
|
|
3
|
+
export * from './dees-kanban-card/dees-kanban-card.js';
|
|
4
|
+
export * from './dees-kanban-column/dees-kanban-column.js';
|
|
5
|
+
export * from './dees-kanban-ticket-detail/dees-kanban-ticket-detail.js';
|
|
6
|
+
export * from './dees-kanban-discussion/dees-kanban-discussion.js';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './interfaces.js';
|
|
2
|
+
export * from './dees-kanban/dees-kanban.js';
|
|
3
|
+
export * from './dees-kanban-card/dees-kanban-card.js';
|
|
4
|
+
export * from './dees-kanban-column/dees-kanban-column.js';
|
|
5
|
+
export * from './dees-kanban-ticket-detail/dees-kanban-ticket-detail.js';
|
|
6
|
+
export * from './dees-kanban-discussion/dees-kanban-discussion.js';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1rYW5iYW4vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsb0RBQW9ELENBQUMifQ==
|