jupiter-dynamic-forms 1.14.0 → 1.14.1
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/core/dynamic-form.d.ts +10 -0
- package/dist/core/dynamic-form.d.ts.map +1 -1
- package/dist/core/filter-roles-dialog.d.ts +22 -0
- package/dist/core/filter-roles-dialog.d.ts.map +1 -1
- package/dist/index.js +285 -61
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +523 -60
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -1908,6 +1908,7 @@ class DraftStorageService {
|
|
|
1908
1908
|
periodEndDate,
|
|
1909
1909
|
language,
|
|
1910
1910
|
selectedRoleIds,
|
|
1911
|
+
// Store enhanced structure (with roleURI and order) or legacy string array
|
|
1911
1912
|
customColumns: this.extractCustomColumns(allSections),
|
|
1912
1913
|
typedMemberData,
|
|
1913
1914
|
periodPreferences,
|
|
@@ -4983,10 +4984,17 @@ let JupiterFilterRolesDialog = class extends LitElement {
|
|
|
4983
4984
|
this.availableRoles = [];
|
|
4984
4985
|
this.selectedRoleIds = [];
|
|
4985
4986
|
this.periodPreferences = {};
|
|
4987
|
+
this.mode = "user";
|
|
4986
4988
|
this._tempSelectedRoles = /* @__PURE__ */ new Set();
|
|
4987
4989
|
this._searchQuery = "";
|
|
4988
4990
|
this._filteredRoles = [];
|
|
4989
4991
|
this._tempPeriodPreferences = {};
|
|
4992
|
+
this._selectedAvailableRole = null;
|
|
4993
|
+
this._selectedChosenRole = null;
|
|
4994
|
+
this._chosenSearchQuery = "";
|
|
4995
|
+
this._draggedRoleId = null;
|
|
4996
|
+
this._dragOverRoleId = null;
|
|
4997
|
+
this._chosenRoleOrder = [];
|
|
4990
4998
|
}
|
|
4991
4999
|
connectedCallback() {
|
|
4992
5000
|
super.connectedCallback();
|
|
@@ -5053,6 +5061,19 @@ let JupiterFilterRolesDialog = class extends LitElement {
|
|
|
5053
5061
|
searchInput.focus();
|
|
5054
5062
|
}
|
|
5055
5063
|
}
|
|
5064
|
+
_handleChosenSearchInput(event) {
|
|
5065
|
+
const input = event.target;
|
|
5066
|
+
this._chosenSearchQuery = input.value;
|
|
5067
|
+
}
|
|
5068
|
+
_clearChosenSearch() {
|
|
5069
|
+
var _a;
|
|
5070
|
+
this._chosenSearchQuery = "";
|
|
5071
|
+
const searchInput = (_a = this.shadowRoot) == null ? void 0 : _a.querySelector(".chosen-search-input");
|
|
5072
|
+
if (searchInput) {
|
|
5073
|
+
searchInput.value = "";
|
|
5074
|
+
searchInput.focus();
|
|
5075
|
+
}
|
|
5076
|
+
}
|
|
5056
5077
|
_highlightSearchTerm(text) {
|
|
5057
5078
|
if (!this._searchQuery.trim()) {
|
|
5058
5079
|
return text;
|
|
@@ -5069,6 +5090,7 @@ let JupiterFilterRolesDialog = class extends LitElement {
|
|
|
5069
5090
|
}
|
|
5070
5091
|
_initializeTempSelection() {
|
|
5071
5092
|
this._tempSelectedRoles = new Set(this.selectedRoleIds);
|
|
5093
|
+
this._chosenRoleOrder = [...this.selectedRoleIds];
|
|
5072
5094
|
}
|
|
5073
5095
|
_initializePeriodPreferences() {
|
|
5074
5096
|
const preferences = {};
|
|
@@ -5170,10 +5192,20 @@ let JupiterFilterRolesDialog = class extends LitElement {
|
|
|
5170
5192
|
}));
|
|
5171
5193
|
}
|
|
5172
5194
|
_handleApply() {
|
|
5173
|
-
const
|
|
5195
|
+
const orderedRolesWithMetadata = this._chosenRoleOrder.map((roleId, index) => {
|
|
5196
|
+
var _a;
|
|
5197
|
+
const role = this.availableRoles.find((r2) => r2.id === roleId);
|
|
5198
|
+
return {
|
|
5199
|
+
roleId,
|
|
5200
|
+
roleURI: ((_a = role == null ? void 0 : role.metadata) == null ? void 0 : _a.roleURI) || "",
|
|
5201
|
+
order: index
|
|
5202
|
+
};
|
|
5203
|
+
});
|
|
5204
|
+
console.log("✅ Apply Filter - Enhanced structure being emitted:", orderedRolesWithMetadata);
|
|
5205
|
+
console.log("📋 Order array:", this._chosenRoleOrder);
|
|
5174
5206
|
this.dispatchEvent(new CustomEvent("roles-filter-apply", {
|
|
5175
5207
|
detail: {
|
|
5176
|
-
selectedRoleIds:
|
|
5208
|
+
selectedRoleIds: orderedRolesWithMetadata,
|
|
5177
5209
|
periodPreferences: this._tempPeriodPreferences
|
|
5178
5210
|
},
|
|
5179
5211
|
bubbles: true
|
|
@@ -5184,6 +5216,128 @@ let JupiterFilterRolesDialog = class extends LitElement {
|
|
|
5184
5216
|
this._handleCancel();
|
|
5185
5217
|
}
|
|
5186
5218
|
}
|
|
5219
|
+
// Picklist methods for admin mode
|
|
5220
|
+
_handleAvailableRoleClick(roleId) {
|
|
5221
|
+
this._selectedAvailableRole = roleId;
|
|
5222
|
+
this._selectedChosenRole = null;
|
|
5223
|
+
this.requestUpdate();
|
|
5224
|
+
}
|
|
5225
|
+
_handleChosenRoleClick(roleId) {
|
|
5226
|
+
this._selectedChosenRole = roleId;
|
|
5227
|
+
this._selectedAvailableRole = null;
|
|
5228
|
+
this.requestUpdate();
|
|
5229
|
+
}
|
|
5230
|
+
_moveToChosen() {
|
|
5231
|
+
if (!this._selectedAvailableRole)
|
|
5232
|
+
return;
|
|
5233
|
+
const newSelection = new Set(this._tempSelectedRoles);
|
|
5234
|
+
newSelection.add(this._selectedAvailableRole);
|
|
5235
|
+
this._tempSelectedRoles = newSelection;
|
|
5236
|
+
if (!this._chosenRoleOrder.includes(this._selectedAvailableRole)) {
|
|
5237
|
+
this._chosenRoleOrder = [...this._chosenRoleOrder, this._selectedAvailableRole];
|
|
5238
|
+
}
|
|
5239
|
+
this._selectedAvailableRole = null;
|
|
5240
|
+
this.requestUpdate();
|
|
5241
|
+
}
|
|
5242
|
+
_moveToAvailable() {
|
|
5243
|
+
if (!this._selectedChosenRole)
|
|
5244
|
+
return;
|
|
5245
|
+
const newSelection = new Set(this._tempSelectedRoles);
|
|
5246
|
+
newSelection.delete(this._selectedChosenRole);
|
|
5247
|
+
this._tempSelectedRoles = newSelection;
|
|
5248
|
+
this._chosenRoleOrder = this._chosenRoleOrder.filter((id) => id !== this._selectedChosenRole);
|
|
5249
|
+
this._selectedChosenRole = null;
|
|
5250
|
+
this.requestUpdate();
|
|
5251
|
+
}
|
|
5252
|
+
_moveAllToChosen() {
|
|
5253
|
+
const newSelection = new Set(this._tempSelectedRoles);
|
|
5254
|
+
this._filteredRoles.forEach((role) => {
|
|
5255
|
+
newSelection.add(role.id);
|
|
5256
|
+
if (!this._chosenRoleOrder.includes(role.id)) {
|
|
5257
|
+
this._chosenRoleOrder.push(role.id);
|
|
5258
|
+
}
|
|
5259
|
+
});
|
|
5260
|
+
this._tempSelectedRoles = newSelection;
|
|
5261
|
+
this._selectedAvailableRole = null;
|
|
5262
|
+
this.requestUpdate();
|
|
5263
|
+
}
|
|
5264
|
+
_moveAllToAvailable() {
|
|
5265
|
+
this._tempSelectedRoles = /* @__PURE__ */ new Set();
|
|
5266
|
+
this._chosenRoleOrder = [];
|
|
5267
|
+
this._selectedChosenRole = null;
|
|
5268
|
+
this.requestUpdate();
|
|
5269
|
+
}
|
|
5270
|
+
_getAvailableRoles() {
|
|
5271
|
+
return this._filteredRoles.filter((role) => !this._tempSelectedRoles.has(role.id));
|
|
5272
|
+
}
|
|
5273
|
+
_getChosenRoles() {
|
|
5274
|
+
const chosenRoles = this.availableRoles.filter((role) => this._tempSelectedRoles.has(role.id));
|
|
5275
|
+
const orderedRoles = this._chosenRoleOrder.map((roleId) => chosenRoles.find((role) => role.id === roleId)).filter((role) => role !== void 0);
|
|
5276
|
+
const unorderedRoles = chosenRoles.filter((role) => !this._chosenRoleOrder.includes(role.id));
|
|
5277
|
+
const allOrderedRoles = [...orderedRoles, ...unorderedRoles];
|
|
5278
|
+
if (!this._chosenSearchQuery.trim()) {
|
|
5279
|
+
return allOrderedRoles;
|
|
5280
|
+
}
|
|
5281
|
+
const query = this._chosenSearchQuery.toLowerCase().trim();
|
|
5282
|
+
return allOrderedRoles.filter((role) => {
|
|
5283
|
+
var _a;
|
|
5284
|
+
const titleMatch = role.title.toLowerCase().includes(query);
|
|
5285
|
+
const idMatch = role.id.toLowerCase().includes(query);
|
|
5286
|
+
const descriptionMatch = ((_a = role.description) == null ? void 0 : _a.toLowerCase().includes(query)) || false;
|
|
5287
|
+
const uriMatch = this._searchInRoleURI(role, query);
|
|
5288
|
+
return titleMatch || idMatch || descriptionMatch || uriMatch;
|
|
5289
|
+
});
|
|
5290
|
+
}
|
|
5291
|
+
// Drag and drop handlers
|
|
5292
|
+
_handleDragStart(event, roleId) {
|
|
5293
|
+
this._draggedRoleId = roleId;
|
|
5294
|
+
if (event.dataTransfer) {
|
|
5295
|
+
event.dataTransfer.effectAllowed = "move";
|
|
5296
|
+
event.dataTransfer.setData("text/plain", roleId);
|
|
5297
|
+
}
|
|
5298
|
+
this.requestUpdate();
|
|
5299
|
+
}
|
|
5300
|
+
_handleDragOver(event, roleId) {
|
|
5301
|
+
event.preventDefault();
|
|
5302
|
+
if (event.dataTransfer) {
|
|
5303
|
+
event.dataTransfer.dropEffect = "move";
|
|
5304
|
+
}
|
|
5305
|
+
if (this._draggedRoleId && this._draggedRoleId !== roleId) {
|
|
5306
|
+
this._dragOverRoleId = roleId;
|
|
5307
|
+
this.requestUpdate();
|
|
5308
|
+
}
|
|
5309
|
+
}
|
|
5310
|
+
_handleDragLeave(event) {
|
|
5311
|
+
this._dragOverRoleId = null;
|
|
5312
|
+
this.requestUpdate();
|
|
5313
|
+
}
|
|
5314
|
+
_handleDrop(event, targetRoleId) {
|
|
5315
|
+
event.preventDefault();
|
|
5316
|
+
if (!this._draggedRoleId || this._draggedRoleId === targetRoleId) {
|
|
5317
|
+
this._draggedRoleId = null;
|
|
5318
|
+
this._dragOverRoleId = null;
|
|
5319
|
+
this.requestUpdate();
|
|
5320
|
+
return;
|
|
5321
|
+
}
|
|
5322
|
+
const newOrder = [...this._chosenRoleOrder];
|
|
5323
|
+
const draggedIndex = newOrder.indexOf(this._draggedRoleId);
|
|
5324
|
+
const targetIndex = newOrder.indexOf(targetRoleId);
|
|
5325
|
+
if (draggedIndex !== -1 && targetIndex !== -1) {
|
|
5326
|
+
newOrder.splice(draggedIndex, 1);
|
|
5327
|
+
const newTargetIndex = draggedIndex < targetIndex ? targetIndex - 1 : targetIndex;
|
|
5328
|
+
newOrder.splice(newTargetIndex, 0, this._draggedRoleId);
|
|
5329
|
+
this._chosenRoleOrder = newOrder;
|
|
5330
|
+
console.log("🔄 Reordered roles:", this._chosenRoleOrder);
|
|
5331
|
+
}
|
|
5332
|
+
this._draggedRoleId = null;
|
|
5333
|
+
this._dragOverRoleId = null;
|
|
5334
|
+
this.requestUpdate();
|
|
5335
|
+
}
|
|
5336
|
+
_handleDragEnd(event) {
|
|
5337
|
+
this._draggedRoleId = null;
|
|
5338
|
+
this._dragOverRoleId = null;
|
|
5339
|
+
this.requestUpdate();
|
|
5340
|
+
}
|
|
5187
5341
|
render() {
|
|
5188
5342
|
const selectedCount = this._tempSelectedRoles.size;
|
|
5189
5343
|
const totalCount = this.availableRoles.length;
|
|
@@ -5202,6 +5356,152 @@ let JupiterFilterRolesDialog = class extends LitElement {
|
|
|
5202
5356
|
|
|
5203
5357
|
<!-- Dialog Content -->
|
|
5204
5358
|
<div class="dialog-content">
|
|
5359
|
+
${this.mode === "admin" ? html`
|
|
5360
|
+
<!-- Admin Mode: Picklist Layout -->
|
|
5361
|
+
<div class="picklist-container">
|
|
5362
|
+
<!-- Available Roles Panel -->
|
|
5363
|
+
<div class="picklist-panel">
|
|
5364
|
+
<div class="picklist-header">
|
|
5365
|
+
Available Roles (${this._getAvailableRoles().length})
|
|
5366
|
+
</div>
|
|
5367
|
+
<div class="picklist-search">
|
|
5368
|
+
<div class="search-container">
|
|
5369
|
+
<input
|
|
5370
|
+
type="text"
|
|
5371
|
+
class="search-input"
|
|
5372
|
+
placeholder="${I18n.t("filter.searchPlaceholder")}"
|
|
5373
|
+
.value="${this._searchQuery}"
|
|
5374
|
+
@input="${this._handleSearchInput}"
|
|
5375
|
+
/>
|
|
5376
|
+
${this._searchQuery ? html`
|
|
5377
|
+
<button class="clear-search" @click="${this._clearSearch}" title="${I18n.t("filter.clearSearch")}">
|
|
5378
|
+
×
|
|
5379
|
+
</button>
|
|
5380
|
+
` : html`
|
|
5381
|
+
<svg class="search-icon" viewBox="0 0 24 24">
|
|
5382
|
+
<path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>
|
|
5383
|
+
</svg>
|
|
5384
|
+
`}
|
|
5385
|
+
</div>
|
|
5386
|
+
</div>
|
|
5387
|
+
<div class="picklist-list">
|
|
5388
|
+
${this._getAvailableRoles().map((role) => {
|
|
5389
|
+
var _a;
|
|
5390
|
+
return html`
|
|
5391
|
+
<div
|
|
5392
|
+
class="picklist-item ${this._selectedAvailableRole === role.id ? "selected" : ""}"
|
|
5393
|
+
@click="${() => this._handleAvailableRoleClick(role.id)}"
|
|
5394
|
+
@dblclick="${() => {
|
|
5395
|
+
this._handleAvailableRoleClick(role.id);
|
|
5396
|
+
this._moveToChosen();
|
|
5397
|
+
}}"
|
|
5398
|
+
>
|
|
5399
|
+
<div class="picklist-item-label">${role.title}</div>
|
|
5400
|
+
${((_a = role.metadata) == null ? void 0 : _a.roleURI) ? html`
|
|
5401
|
+
<div class="picklist-item-value">${role.metadata.roleURI}</div>
|
|
5402
|
+
` : ""}
|
|
5403
|
+
</div>
|
|
5404
|
+
`;
|
|
5405
|
+
})}
|
|
5406
|
+
</div>
|
|
5407
|
+
<div class="picklist-count">
|
|
5408
|
+
${this._getAvailableRoles().length} role(s)
|
|
5409
|
+
</div>
|
|
5410
|
+
</div>
|
|
5411
|
+
|
|
5412
|
+
<!-- Control Buttons -->
|
|
5413
|
+
<div class="picklist-controls">
|
|
5414
|
+
<button
|
|
5415
|
+
class="picklist-button"
|
|
5416
|
+
@click="${this._moveToChosen}"
|
|
5417
|
+
?disabled="${!this._selectedAvailableRole}"
|
|
5418
|
+
title="Add selected role"
|
|
5419
|
+
>
|
|
5420
|
+
›
|
|
5421
|
+
</button>
|
|
5422
|
+
<button
|
|
5423
|
+
class="picklist-button"
|
|
5424
|
+
@click="${this._moveAllToChosen}"
|
|
5425
|
+
?disabled="${this._getAvailableRoles().length === 0}"
|
|
5426
|
+
title="Add all roles"
|
|
5427
|
+
>
|
|
5428
|
+
»
|
|
5429
|
+
</button>
|
|
5430
|
+
<button
|
|
5431
|
+
class="picklist-button"
|
|
5432
|
+
@click="${this._moveToAvailable}"
|
|
5433
|
+
?disabled="${!this._selectedChosenRole}"
|
|
5434
|
+
title="Remove selected role"
|
|
5435
|
+
>
|
|
5436
|
+
‹
|
|
5437
|
+
</button>
|
|
5438
|
+
<button
|
|
5439
|
+
class="picklist-button"
|
|
5440
|
+
@click="${this._moveAllToAvailable}"
|
|
5441
|
+
?disabled="${this._tempSelectedRoles.size === 0}"
|
|
5442
|
+
title="Remove all roles"
|
|
5443
|
+
>
|
|
5444
|
+
«
|
|
5445
|
+
</button>
|
|
5446
|
+
</div>
|
|
5447
|
+
|
|
5448
|
+
<!-- Chosen Roles Panel -->
|
|
5449
|
+
<div class="picklist-panel">
|
|
5450
|
+
<div class="picklist-header">
|
|
5451
|
+
Chosen Roles (${this._tempSelectedRoles.size})
|
|
5452
|
+
</div>
|
|
5453
|
+
<div class="picklist-search">
|
|
5454
|
+
<div class="search-container">
|
|
5455
|
+
<input
|
|
5456
|
+
type="text"
|
|
5457
|
+
class="search-input chosen-search-input"
|
|
5458
|
+
placeholder="${I18n.t("filter.searchPlaceholder")}"
|
|
5459
|
+
.value="${this._chosenSearchQuery}"
|
|
5460
|
+
@input="${this._handleChosenSearchInput}"
|
|
5461
|
+
/>
|
|
5462
|
+
${this._chosenSearchQuery ? html`
|
|
5463
|
+
<button class="clear-search" @click="${this._clearChosenSearch}" title="${I18n.t("filter.clearSearch")}">
|
|
5464
|
+
×
|
|
5465
|
+
</button>
|
|
5466
|
+
` : html`
|
|
5467
|
+
<svg class="search-icon" viewBox="0 0 24 24">
|
|
5468
|
+
<path d="M15.5 14h-.79l-.28-.27A6.471 6.471 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"/>
|
|
5469
|
+
</svg>
|
|
5470
|
+
`}
|
|
5471
|
+
</div>
|
|
5472
|
+
</div>
|
|
5473
|
+
<div class="picklist-list">
|
|
5474
|
+
${this._getChosenRoles().map((role) => {
|
|
5475
|
+
var _a;
|
|
5476
|
+
return html`
|
|
5477
|
+
<div
|
|
5478
|
+
class="picklist-item ${this._selectedChosenRole === role.id ? "selected" : ""} ${this._draggedRoleId === role.id ? "dragging" : ""} ${this._dragOverRoleId === role.id ? "drag-over" : ""}"
|
|
5479
|
+
draggable="true"
|
|
5480
|
+
@click="${() => this._handleChosenRoleClick(role.id)}"
|
|
5481
|
+
@dblclick="${() => {
|
|
5482
|
+
this._handleChosenRoleClick(role.id);
|
|
5483
|
+
this._moveToAvailable();
|
|
5484
|
+
}}"
|
|
5485
|
+
@dragstart="${(e2) => this._handleDragStart(e2, role.id)}"
|
|
5486
|
+
@dragover="${(e2) => this._handleDragOver(e2, role.id)}"
|
|
5487
|
+
@dragleave="${(e2) => this._handleDragLeave(e2)}"
|
|
5488
|
+
@drop="${(e2) => this._handleDrop(e2, role.id)}"
|
|
5489
|
+
@dragend="${(e2) => this._handleDragEnd(e2)}"
|
|
5490
|
+
>
|
|
5491
|
+
<div class="picklist-item-label">${role.title}</div>
|
|
5492
|
+
${((_a = role.metadata) == null ? void 0 : _a.roleURI) ? html`
|
|
5493
|
+
<div class="picklist-item-value">${role.metadata.roleURI}</div>
|
|
5494
|
+
` : ""}
|
|
5495
|
+
</div>
|
|
5496
|
+
`;
|
|
5497
|
+
})}
|
|
5498
|
+
</div>
|
|
5499
|
+
<div class="picklist-count">
|
|
5500
|
+
${this._tempSelectedRoles.size} role(s) selected
|
|
5501
|
+
</div>
|
|
5502
|
+
</div>
|
|
5503
|
+
</div>
|
|
5504
|
+
` : html`
|
|
5205
5505
|
<p class="description">
|
|
5206
5506
|
${I18n.t("filter.description")}
|
|
5207
5507
|
</p>
|
|
@@ -5313,8 +5613,7 @@ let JupiterFilterRolesDialog = class extends LitElement {
|
|
|
5313
5613
|
})}
|
|
5314
5614
|
`}
|
|
5315
5615
|
</div>
|
|
5316
|
-
|
|
5317
|
-
|
|
5616
|
+
`}
|
|
5318
5617
|
</div>
|
|
5319
5618
|
|
|
5320
5619
|
<!-- Dialog Actions -->
|
|
@@ -5659,6 +5958,126 @@ JupiterFilterRolesDialog.styles = css`
|
|
|
5659
5958
|
opacity: 0.6;
|
|
5660
5959
|
cursor: not-allowed;
|
|
5661
5960
|
}
|
|
5961
|
+
|
|
5962
|
+
/* Picklist Styles for Admin Mode */
|
|
5963
|
+
.picklist-container {
|
|
5964
|
+
display: flex;
|
|
5965
|
+
gap: 16px;
|
|
5966
|
+
height: 500px;
|
|
5967
|
+
}
|
|
5968
|
+
|
|
5969
|
+
.picklist-panel {
|
|
5970
|
+
flex: 1;
|
|
5971
|
+
display: flex;
|
|
5972
|
+
flex-direction: column;
|
|
5973
|
+
border: 1px solid var(--jupiter-border-color, #ddd);
|
|
5974
|
+
border-radius: 4px;
|
|
5975
|
+
overflow: hidden;
|
|
5976
|
+
}
|
|
5977
|
+
|
|
5978
|
+
.picklist-header {
|
|
5979
|
+
padding: 12px;
|
|
5980
|
+
background: var(--jupiter-background-light, #f8f9fa);
|
|
5981
|
+
border-bottom: 1px solid var(--jupiter-border-color, #ddd);
|
|
5982
|
+
font-weight: 600;
|
|
5983
|
+
color: var(--jupiter-text-primary, #333);
|
|
5984
|
+
font-size: 14px;
|
|
5985
|
+
}
|
|
5986
|
+
|
|
5987
|
+
.picklist-search {
|
|
5988
|
+
padding: 12px;
|
|
5989
|
+
border-bottom: 1px solid var(--jupiter-border-color, #ddd);
|
|
5990
|
+
}
|
|
5991
|
+
|
|
5992
|
+
.picklist-list {
|
|
5993
|
+
flex: 1;
|
|
5994
|
+
overflow-y: auto;
|
|
5995
|
+
padding: 8px;
|
|
5996
|
+
}
|
|
5997
|
+
|
|
5998
|
+
.picklist-item {
|
|
5999
|
+
padding: 10px 12px;
|
|
6000
|
+
margin-bottom: 4px;
|
|
6001
|
+
border: 1px solid var(--jupiter-border-color, #ddd);
|
|
6002
|
+
border-radius: 4px;
|
|
6003
|
+
cursor: pointer;
|
|
6004
|
+
transition: all 0.2s ease;
|
|
6005
|
+
background: var(--jupiter-background, #fff);
|
|
6006
|
+
}
|
|
6007
|
+
|
|
6008
|
+
.picklist-item:hover {
|
|
6009
|
+
background: var(--jupiter-hover-background, #f5f5f5);
|
|
6010
|
+
border-color: var(--jupiter-primary-color, #1976d2);
|
|
6011
|
+
}
|
|
6012
|
+
|
|
6013
|
+
.picklist-item.selected {
|
|
6014
|
+
background: var(--jupiter-primary-color, #1976d2);
|
|
6015
|
+
color: white;
|
|
6016
|
+
border-color: var(--jupiter-primary-color, #1976d2);
|
|
6017
|
+
}
|
|
6018
|
+
|
|
6019
|
+
.picklist-item.dragging {
|
|
6020
|
+
opacity: 0.5;
|
|
6021
|
+
cursor: move;
|
|
6022
|
+
}
|
|
6023
|
+
|
|
6024
|
+
.picklist-item.drag-over {
|
|
6025
|
+
border-top: 3px solid var(--jupiter-primary-color, #1976d2);
|
|
6026
|
+
margin-top: 3px;
|
|
6027
|
+
}
|
|
6028
|
+
|
|
6029
|
+
.picklist-item[draggable="true"] {
|
|
6030
|
+
cursor: move;
|
|
6031
|
+
}
|
|
6032
|
+
|
|
6033
|
+
.picklist-item-label {
|
|
6034
|
+
font-weight: 500;
|
|
6035
|
+
font-size: 14px;
|
|
6036
|
+
margin-bottom: 4px;
|
|
6037
|
+
}
|
|
6038
|
+
|
|
6039
|
+
.picklist-item-value {
|
|
6040
|
+
font-size: 11px;
|
|
6041
|
+
opacity: 0.8;
|
|
6042
|
+
word-break: break-all;
|
|
6043
|
+
}
|
|
6044
|
+
|
|
6045
|
+
.picklist-controls {
|
|
6046
|
+
display: flex;
|
|
6047
|
+
flex-direction: column;
|
|
6048
|
+
justify-content: center;
|
|
6049
|
+
gap: 8px;
|
|
6050
|
+
padding: 0 8px;
|
|
6051
|
+
}
|
|
6052
|
+
|
|
6053
|
+
.picklist-button {
|
|
6054
|
+
background: var(--jupiter-primary-color, #1976d2);
|
|
6055
|
+
color: white;
|
|
6056
|
+
border: none;
|
|
6057
|
+
padding: 8px 16px;
|
|
6058
|
+
border-radius: 4px;
|
|
6059
|
+
cursor: pointer;
|
|
6060
|
+
font-size: 14px;
|
|
6061
|
+
transition: background-color 0.2s ease;
|
|
6062
|
+
}
|
|
6063
|
+
|
|
6064
|
+
.picklist-button:hover:not(:disabled) {
|
|
6065
|
+
background: var(--jupiter-primary-color-dark, #1565c0);
|
|
6066
|
+
}
|
|
6067
|
+
|
|
6068
|
+
.picklist-button:disabled {
|
|
6069
|
+
opacity: 0.4;
|
|
6070
|
+
cursor: not-allowed;
|
|
6071
|
+
}
|
|
6072
|
+
|
|
6073
|
+
.picklist-count {
|
|
6074
|
+
padding: 8px 12px;
|
|
6075
|
+
font-size: 12px;
|
|
6076
|
+
color: var(--jupiter-text-secondary, #666);
|
|
6077
|
+
background: var(--jupiter-background-light, #f8f9fa);
|
|
6078
|
+
border-top: 1px solid var(--jupiter-border-color, #ddd);
|
|
6079
|
+
text-align: center;
|
|
6080
|
+
}
|
|
5662
6081
|
`;
|
|
5663
6082
|
__decorateClass$1([
|
|
5664
6083
|
n2({ type: Boolean, reflect: true })
|
|
@@ -5672,6 +6091,9 @@ __decorateClass$1([
|
|
|
5672
6091
|
__decorateClass$1([
|
|
5673
6092
|
n2({ type: Object })
|
|
5674
6093
|
], JupiterFilterRolesDialog.prototype, "periodPreferences", 2);
|
|
6094
|
+
__decorateClass$1([
|
|
6095
|
+
n2({ type: String })
|
|
6096
|
+
], JupiterFilterRolesDialog.prototype, "mode", 2);
|
|
5675
6097
|
__decorateClass$1([
|
|
5676
6098
|
r()
|
|
5677
6099
|
], JupiterFilterRolesDialog.prototype, "_tempSelectedRoles", 2);
|
|
@@ -5684,6 +6106,24 @@ __decorateClass$1([
|
|
|
5684
6106
|
__decorateClass$1([
|
|
5685
6107
|
r()
|
|
5686
6108
|
], JupiterFilterRolesDialog.prototype, "_tempPeriodPreferences", 2);
|
|
6109
|
+
__decorateClass$1([
|
|
6110
|
+
r()
|
|
6111
|
+
], JupiterFilterRolesDialog.prototype, "_selectedAvailableRole", 2);
|
|
6112
|
+
__decorateClass$1([
|
|
6113
|
+
r()
|
|
6114
|
+
], JupiterFilterRolesDialog.prototype, "_selectedChosenRole", 2);
|
|
6115
|
+
__decorateClass$1([
|
|
6116
|
+
r()
|
|
6117
|
+
], JupiterFilterRolesDialog.prototype, "_chosenSearchQuery", 2);
|
|
6118
|
+
__decorateClass$1([
|
|
6119
|
+
r()
|
|
6120
|
+
], JupiterFilterRolesDialog.prototype, "_draggedRoleId", 2);
|
|
6121
|
+
__decorateClass$1([
|
|
6122
|
+
r()
|
|
6123
|
+
], JupiterFilterRolesDialog.prototype, "_dragOverRoleId", 2);
|
|
6124
|
+
__decorateClass$1([
|
|
6125
|
+
r()
|
|
6126
|
+
], JupiterFilterRolesDialog.prototype, "_chosenRoleOrder", 2);
|
|
5687
6127
|
JupiterFilterRolesDialog = __decorateClass$1([
|
|
5688
6128
|
t$1("jupiter-filter-roles-dialog")
|
|
5689
6129
|
], JupiterFilterRolesDialog);
|
|
@@ -5924,11 +6364,26 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
5924
6364
|
});
|
|
5925
6365
|
this._periodPreferences = preferences;
|
|
5926
6366
|
}
|
|
6367
|
+
/**
|
|
6368
|
+
* Helper method to extract roleIds from _selectedRoleIds
|
|
6369
|
+
* Handles both legacy string[] and enhanced object[] structure
|
|
6370
|
+
*/
|
|
6371
|
+
_getRoleIdsArray() {
|
|
6372
|
+
if (!Array.isArray(this._selectedRoleIds) || this._selectedRoleIds.length === 0) {
|
|
6373
|
+
return [];
|
|
6374
|
+
}
|
|
6375
|
+
if (typeof this._selectedRoleIds[0] === "string") {
|
|
6376
|
+
return this._selectedRoleIds;
|
|
6377
|
+
} else {
|
|
6378
|
+
return this._selectedRoleIds.map((item) => item.roleId);
|
|
6379
|
+
}
|
|
6380
|
+
}
|
|
5927
6381
|
_applyRoleFilter() {
|
|
5928
6382
|
if (!this._currentSchema || !this._allSections.length)
|
|
5929
6383
|
return;
|
|
5930
|
-
|
|
5931
|
-
|
|
6384
|
+
const roleIds = this._getRoleIdsArray();
|
|
6385
|
+
console.log(`🔍 Applying role filter: ${roleIds.length} selected out of ${this._allSections.length} total`);
|
|
6386
|
+
if (roleIds.length === 0) {
|
|
5932
6387
|
console.log(`📝 No roles selected - showing empty form`);
|
|
5933
6388
|
this._currentSchema = {
|
|
5934
6389
|
...this._currentSchema,
|
|
@@ -5939,17 +6394,38 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
5939
6394
|
}
|
|
5940
6395
|
this._preserveDataForHiddenSections();
|
|
5941
6396
|
const filteredSections = this._allSections.filter(
|
|
5942
|
-
(section2) =>
|
|
6397
|
+
(section2) => roleIds.includes(section2.id)
|
|
5943
6398
|
);
|
|
5944
|
-
|
|
5945
|
-
|
|
6399
|
+
const orderedSections = this._sortSectionsByCustomOrder(filteredSections);
|
|
6400
|
+
console.log(`📊 Filtered sections: ${orderedSections.length}`);
|
|
6401
|
+
console.log(`📋 Custom order applied:`, orderedSections.map((s2) => s2.title));
|
|
6402
|
+
this._restoreDataForVisibleSections(orderedSections);
|
|
5946
6403
|
this._currentSchema = {
|
|
5947
6404
|
...this._currentSchema,
|
|
5948
|
-
sections:
|
|
6405
|
+
sections: orderedSections
|
|
5949
6406
|
};
|
|
5950
|
-
console.log(`✅ Schema updated. Current sections count: ${this._currentSchema.sections.length}`);
|
|
6407
|
+
console.log(`✅ Schema updated with custom order. Current sections count: ${this._currentSchema.sections.length}`);
|
|
5951
6408
|
this.requestUpdate();
|
|
5952
6409
|
}
|
|
6410
|
+
/**
|
|
6411
|
+
* Sort sections according to custom order from _selectedRoleIds
|
|
6412
|
+
* Handles both enhanced structure and legacy string array
|
|
6413
|
+
*/
|
|
6414
|
+
_sortSectionsByCustomOrder(sections) {
|
|
6415
|
+
if (Array.isArray(this._selectedRoleIds) && this._selectedRoleIds.length > 0 && typeof this._selectedRoleIds[0] === "object") {
|
|
6416
|
+
const enhancedRoles = this._selectedRoleIds;
|
|
6417
|
+
const orderMap = /* @__PURE__ */ new Map();
|
|
6418
|
+
enhancedRoles.forEach((role) => {
|
|
6419
|
+
orderMap.set(role.roleId, role.order);
|
|
6420
|
+
});
|
|
6421
|
+
return [...sections].sort((a2, b2) => {
|
|
6422
|
+
const orderA = orderMap.get(a2.id) ?? 999;
|
|
6423
|
+
const orderB = orderMap.get(b2.id) ?? 999;
|
|
6424
|
+
return orderA - orderB;
|
|
6425
|
+
});
|
|
6426
|
+
}
|
|
6427
|
+
return sections;
|
|
6428
|
+
}
|
|
5953
6429
|
/**
|
|
5954
6430
|
* Filter roles based on financialStatementsTypeAxis property
|
|
5955
6431
|
* Rules:
|
|
@@ -6020,8 +6496,9 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
6020
6496
|
_preserveDataForHiddenSections() {
|
|
6021
6497
|
var _a;
|
|
6022
6498
|
const currentlyVisibleSectionIds = ((_a = this._currentSchema) == null ? void 0 : _a.sections.map((s2) => s2.id)) || [];
|
|
6499
|
+
const selectedRoleIds = this._getRoleIdsArray();
|
|
6023
6500
|
const sectionsThatWillBeHidden = currentlyVisibleSectionIds.filter(
|
|
6024
|
-
(sectionId) => !
|
|
6501
|
+
(sectionId) => !selectedRoleIds.includes(sectionId)
|
|
6025
6502
|
);
|
|
6026
6503
|
sectionsThatWillBeHidden.forEach((sectionId) => {
|
|
6027
6504
|
const section2 = this._allSections.find((s2) => s2.id === sectionId);
|
|
@@ -6084,7 +6561,8 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
6084
6561
|
}
|
|
6085
6562
|
_handleFilterDialogCancel() {
|
|
6086
6563
|
this._showFilterDialog = false;
|
|
6087
|
-
|
|
6564
|
+
const roleCount = this._getRoleIdsArray().length;
|
|
6565
|
+
console.log(`🚫 Filter dialog cancelled. Current selection: ${roleCount}/${this._allSections.length}`);
|
|
6088
6566
|
}
|
|
6089
6567
|
_handleRoleFilterApply(event) {
|
|
6090
6568
|
const { selectedRoleIds, periodPreferences } = event.detail;
|
|
@@ -6100,6 +6578,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
6100
6578
|
this.periodEndDate,
|
|
6101
6579
|
this.language,
|
|
6102
6580
|
this._selectedRoleIds,
|
|
6581
|
+
// Enhanced structure with roleURI and order
|
|
6103
6582
|
this._allSections,
|
|
6104
6583
|
this._typedMemberData,
|
|
6105
6584
|
this._periodPreferences,
|
|
@@ -6121,12 +6600,15 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
6121
6600
|
this._applyRoleFilter();
|
|
6122
6601
|
}
|
|
6123
6602
|
this._showFilterDialog = false;
|
|
6124
|
-
|
|
6603
|
+
const roleCount = Array.isArray(this._selectedRoleIds) && this._selectedRoleIds.length > 0 ? typeof this._selectedRoleIds[0] === "string" ? this._selectedRoleIds.length : this._selectedRoleIds.length : 0;
|
|
6604
|
+
console.log(`🎯 Applied role filter: ${roleCount}/${this._allSections.length} roles selected`);
|
|
6605
|
+
console.log("📋 Enhanced selectedRoleIds structure:", this._selectedRoleIds);
|
|
6125
6606
|
this.dispatchEvent(new CustomEvent("roles-filter-changed", {
|
|
6126
6607
|
detail: {
|
|
6127
6608
|
selectedRoleIds,
|
|
6609
|
+
// Enhanced structure with roleURI and order
|
|
6128
6610
|
totalRoles: this._allSections.length,
|
|
6129
|
-
visibleRoles:
|
|
6611
|
+
visibleRoles: roleCount,
|
|
6130
6612
|
periodPreferences
|
|
6131
6613
|
},
|
|
6132
6614
|
bubbles: true
|
|
@@ -6830,6 +7312,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
6830
7312
|
console.log(`✅ [Save Draft] No validation errors, proceeding with save...`);
|
|
6831
7313
|
console.log("💾 Raw form data before submission generation:", this._formData);
|
|
6832
7314
|
console.log("🏷️ Unit data before submission generation:", this._unitData);
|
|
7315
|
+
console.log("📋 Enhanced selectedRoleIds with roleURI and order:", this._selectedRoleIds);
|
|
6833
7316
|
const draftData = this._generateSubmissionData();
|
|
6834
7317
|
console.log("📤 Generated submission data:", draftData);
|
|
6835
7318
|
console.log("📊 Submission data breakdown:");
|
|
@@ -6841,6 +7324,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
6841
7324
|
this.periodEndDate,
|
|
6842
7325
|
this.language,
|
|
6843
7326
|
this._selectedRoleIds,
|
|
7327
|
+
// Enhanced structure: Array<{ roleId, roleURI, order }> or string[]
|
|
6844
7328
|
this._allSections,
|
|
6845
7329
|
this._typedMemberData,
|
|
6846
7330
|
this._periodPreferences,
|
|
@@ -6848,6 +7332,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
6848
7332
|
this._unitData
|
|
6849
7333
|
);
|
|
6850
7334
|
const saved = this._draftStorageService.saveDraft(draftData, metadata);
|
|
7335
|
+
console.log("💾 [Save Draft] Metadata saved with enhanced selectedRoleIds:", metadata.selectedRoleIds);
|
|
6851
7336
|
this.dynaformsFacts = draftData;
|
|
6852
7337
|
this.dynaformsMetadata = metadata;
|
|
6853
7338
|
this.dispatchEvent(new CustomEvent("form-save-draft", {
|
|
@@ -6865,12 +7350,14 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
6865
7350
|
bubbles: true,
|
|
6866
7351
|
composed: true
|
|
6867
7352
|
}));
|
|
7353
|
+
const roleCount = this._getRoleIdsArray().length;
|
|
6868
7354
|
console.log("💾 Draft saved - localStorage + event emitted", {
|
|
6869
7355
|
entries: draftData.length,
|
|
6870
7356
|
saved,
|
|
6871
|
-
roles:
|
|
7357
|
+
roles: roleCount,
|
|
6872
7358
|
customColumns: metadata.customColumns.length,
|
|
6873
|
-
eventEmitted: true
|
|
7359
|
+
eventEmitted: true,
|
|
7360
|
+
enhancedRoleStructure: Array.isArray(this._selectedRoleIds) && this._selectedRoleIds.length > 0 && typeof this._selectedRoleIds[0] === "object"
|
|
6874
7361
|
});
|
|
6875
7362
|
}
|
|
6876
7363
|
// ===========================================
|
|
@@ -7797,7 +8284,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
7797
8284
|
});
|
|
7798
8285
|
}
|
|
7799
8286
|
_renderAdminModeContent(section2) {
|
|
7800
|
-
var _a
|
|
8287
|
+
var _a;
|
|
7801
8288
|
if (!section2) {
|
|
7802
8289
|
return html`
|
|
7803
8290
|
<div class="admin-mode-container">
|
|
@@ -7805,10 +8292,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
7805
8292
|
</div>
|
|
7806
8293
|
`;
|
|
7807
8294
|
}
|
|
7808
|
-
const showPreviousYearChecked = ((_a = this.
|
|
7809
|
-
const instantChecked = ((_b = this._adminRoleConfigs[section2.id]) == null ? void 0 : _b.instant) ?? section2.instant ?? false;
|
|
7810
|
-
const durationChecked = ((_c = this._adminRoleConfigs[section2.id]) == null ? void 0 : _c.duration) ?? section2.duration ?? false;
|
|
7811
|
-
const hasMixedPeriodTypes = section2.showPeriodControl === true;
|
|
8295
|
+
const showPreviousYearChecked = ((_a = this._periodPreferences[section2.id]) == null ? void 0 : _a.showPreviousYear) ?? section2.showPreviousYear ?? false;
|
|
7812
8296
|
return html`
|
|
7813
8297
|
<div class="admin-mode-container">
|
|
7814
8298
|
<h2 class="admin-mode-title">Role Configuration: ${section2.title}</h2>
|
|
@@ -7824,32 +8308,6 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
7824
8308
|
<label for="admin-prev-year-${section2.id}">Show Previous Year Column</label>
|
|
7825
8309
|
</div>
|
|
7826
8310
|
</div>
|
|
7827
|
-
|
|
7828
|
-
${hasMixedPeriodTypes ? html`
|
|
7829
|
-
<div class="admin-role-item">
|
|
7830
|
-
<div class="admin-role-checkbox">
|
|
7831
|
-
<input
|
|
7832
|
-
type="checkbox"
|
|
7833
|
-
id="admin-instant-${section2.id}"
|
|
7834
|
-
.checked="${instantChecked}"
|
|
7835
|
-
@change="${(e2) => this._handleAdminCheckboxChange(section2.id, "instant", e2.target.checked)}"
|
|
7836
|
-
/>
|
|
7837
|
-
<label for="admin-instant-${section2.id}">Show Instant Column</label>
|
|
7838
|
-
</div>
|
|
7839
|
-
</div>
|
|
7840
|
-
|
|
7841
|
-
<div class="admin-role-item">
|
|
7842
|
-
<div class="admin-role-checkbox">
|
|
7843
|
-
<input
|
|
7844
|
-
type="checkbox"
|
|
7845
|
-
id="admin-duration-${section2.id}"
|
|
7846
|
-
.checked="${durationChecked}"
|
|
7847
|
-
@change="${(e2) => this._handleAdminCheckboxChange(section2.id, "duration", e2.target.checked)}"
|
|
7848
|
-
/>
|
|
7849
|
-
<label for="admin-duration-${section2.id}">Show Duration Column</label>
|
|
7850
|
-
</div>
|
|
7851
|
-
</div>
|
|
7852
|
-
` : ""}
|
|
7853
8311
|
</div>
|
|
7854
8312
|
</div>
|
|
7855
8313
|
`;
|
|
@@ -7863,6 +8321,20 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
7863
8321
|
[field2]: checked
|
|
7864
8322
|
}
|
|
7865
8323
|
};
|
|
8324
|
+
const currentPeriodPref = this._periodPreferences[roleId] || {
|
|
8325
|
+
showDuration: true,
|
|
8326
|
+
showInstant: true,
|
|
8327
|
+
showPreviousYear: false
|
|
8328
|
+
};
|
|
8329
|
+
this._periodPreferences = {
|
|
8330
|
+
...this._periodPreferences,
|
|
8331
|
+
[roleId]: {
|
|
8332
|
+
...currentPeriodPref,
|
|
8333
|
+
[field2]: checked
|
|
8334
|
+
}
|
|
8335
|
+
};
|
|
8336
|
+
console.log(`✅ [Admin Mode] Updated ${field2} = ${checked} for role ${roleId}`);
|
|
8337
|
+
console.log(`📋 [Admin Mode] _periodPreferences now includes:`, this._periodPreferences[roleId]);
|
|
7866
8338
|
}
|
|
7867
8339
|
_handleAdminModeSubmit() {
|
|
7868
8340
|
var _a, _b, _c, _d;
|
|
@@ -7883,12 +8355,6 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
7883
8355
|
};
|
|
7884
8356
|
if (config !== void 0 && isSelected) {
|
|
7885
8357
|
updatedRole.showPreviousYear = config.showPreviousYear;
|
|
7886
|
-
if (config.instant !== void 0) {
|
|
7887
|
-
updatedRole.instant = config.instant;
|
|
7888
|
-
}
|
|
7889
|
-
if (config.duration !== void 0) {
|
|
7890
|
-
updatedRole.duration = config.duration;
|
|
7891
|
-
}
|
|
7892
8358
|
}
|
|
7893
8359
|
return updatedRole;
|
|
7894
8360
|
});
|
|
@@ -8160,11 +8626,7 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
8160
8626
|
${I18n.t("form.submit")}
|
|
8161
8627
|
</button>
|
|
8162
8628
|
|
|
8163
|
-
|
|
8164
|
-
<span>${I18n.t("form.errors")}: ${errorCount}</span>
|
|
8165
|
-
<span>${I18n.t("form.modified")}: ${this._dirty ? I18n.t("form.yes") : I18n.t("form.no")}</span>
|
|
8166
|
-
<span>${I18n.t("form.valid")}: ${this._valid ? I18n.t("form.yes") : I18n.t("form.no")}</span>
|
|
8167
|
-
</div>
|
|
8629
|
+
|
|
8168
8630
|
</div>
|
|
8169
8631
|
|
|
8170
8632
|
<!-- Filter Roles Dialog -->
|
|
@@ -8172,8 +8634,9 @@ let JupiterDynamicForm = class extends LitElement {
|
|
|
8172
8634
|
<jupiter-filter-roles-dialog
|
|
8173
8635
|
?open="${this._showFilterDialog}"
|
|
8174
8636
|
.availableRoles="${this._allSections}"
|
|
8175
|
-
.selectedRoleIds="${this.
|
|
8637
|
+
.selectedRoleIds="${this._getRoleIdsArray()}"
|
|
8176
8638
|
.periodPreferences="${this._periodPreferences}"
|
|
8639
|
+
.mode="${this.mode}"
|
|
8177
8640
|
@dialog-cancel="${this._handleFilterDialogCancel}"
|
|
8178
8641
|
@roles-filter-apply="${this._handleRoleFilterApply}"
|
|
8179
8642
|
@click="${this._handleFilterDialogCancel}"
|