From a50a04182f56cbe74e5fc5a087c2495cf37d2cd5 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 4 Nov 2025 03:21:35 +0000 Subject: [PATCH 01/47] Bump QuestPDF from 2025.7.3 to 2025.7.4 --- updated-dependencies: - dependency-name: QuestPDF dependency-version: 2025.7.4 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .../BackendConfiguration.Pn/BackendConfiguration.Pn.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj index b870e1a5..21e9275d 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj @@ -227,7 +227,7 @@ - + From 685b98df6507c2bb203245132f16c56fe500485a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Tue, 4 Nov 2025 10:19:36 +0100 Subject: [PATCH 02/47] closes # --- .../BackendConfiguration.Pn.Integration.Test.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn.Integration.Test/BackendConfiguration.Pn.Integration.Test.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn.Integration.Test/BackendConfiguration.Pn.Integration.Test.csproj index feb8c9ec..22b6f149 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn.Integration.Test/BackendConfiguration.Pn.Integration.Test.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn.Integration.Test/BackendConfiguration.Pn.Integration.Test.csproj @@ -14,7 +14,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive From afdf1f8ce640600a15e98a64223ea22d2b54f2ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Tue, 4 Nov 2025 10:20:09 +0100 Subject: [PATCH 03/47] closes # --- .../BackendConfiguration.Pn.Test.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn.Test/BackendConfiguration.Pn.Test.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn.Test/BackendConfiguration.Pn.Test.csproj index c4fbf308..c2bee5f9 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn.Test/BackendConfiguration.Pn.Test.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn.Test/BackendConfiguration.Pn.Test.csproj @@ -11,7 +11,7 @@ - + runtime; build; native; contentfiles; analyzers; buildtransitive all From 436c94e7845b28bc1293971220d40ac3ee1cc820 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Tue, 4 Nov 2025 18:35:04 +0100 Subject: [PATCH 04/47] Fixing the task tracker table. --- .../Helpers/BackendConfigurationTaskTrackerHelper.cs | 4 +++- .../Infrastructure/Models/TaskTracker/TaskTrackerModel.cs | 4 +++- .../models/task-tracker/task.model.ts | 1 + .../task-tracker-table/task-tracker-table.component.ts | 7 ++----- 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/BackendConfigurationTaskTrackerHelper.cs b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/BackendConfigurationTaskTrackerHelper.cs index e184ce1c..f8bef007 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/BackendConfigurationTaskTrackerHelper.cs +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/BackendConfigurationTaskTrackerHelper.cs @@ -70,7 +70,8 @@ public static async Task>> Index( .Select(x => new { x.PropertyId, x.PlanningId, x.Deadline, x.MicrotingSdkCaseId, x.MicrotingSdkeFormId, x.Id, x.AreaId, - x.PlanningCaseSiteId + x.PlanningCaseSiteId, + x.MovedToExpiredFolder }) .ToListAsync(); @@ -289,6 +290,7 @@ public static async Task>> Index( SdkFolderName = folderTranslations.FirstOrDefault(x => x.FolderId == planning.SdkFolderId) == null ? "" : folderTranslations.First(x => x.FolderId == planning.SdkFolderId).Name, CreatedInWizard = areaRuleCreatedInWizard, + MovedToExpiredFolder = compliance.MovedToExpiredFolder }; if (complianceModel.SdkCaseId == 0 && complianceModel.DeadlineTask < dateTimeNow) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Models/TaskTracker/TaskTrackerModel.cs b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Models/TaskTracker/TaskTrackerModel.cs index 91fbd62c..ec1cf043 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Models/TaskTracker/TaskTrackerModel.cs +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Models/TaskTracker/TaskTrackerModel.cs @@ -47,7 +47,7 @@ public class TaskTrackerModel /// /// Gets or sets the tags of the task tracker model. /// - public List Tags { get; set; } + public List Tags { get; set; } = []; /// @@ -130,4 +130,6 @@ public class TaskTrackerModel public string SdkFolderName { get; set; } public bool CreatedInWizard { get; set; } + + public bool MovedToExpiredFolder { get; set; } } \ No newline at end of file diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/models/task-tracker/task.model.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/models/task-tracker/task.model.ts index fcc1ae88..1e4e8af9 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/models/task-tracker/task.model.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/models/task-tracker/task.model.ts @@ -23,6 +23,7 @@ export interface TaskModel { weeks: WeekListModel[]; sdkFolderName: string; createdInWizard: boolean; + movedToExpiredFolder: boolean } export interface WeekListModel { diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.ts index 4475f6fa..4b84e487 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.ts @@ -48,9 +48,6 @@ export class TaskTrackerTableComponent implements OnInit, OnChanges { enabledHeadersNumber: number = 7; propertyHeaderEnabled: boolean = false; currentDate: Date = this.setDate(new Date()); - // changedate is "2025-10-30 00:00:00" - parsedDate = Date.parse('2025-11-15 00:00:00'); - changeDate: Date = new Date(this.parsedDate); tableHeaders: MtxGridColumn[] = [ {header: this.translateService.stream('Id'), field: 'complianceId', sortProp: {id: 'Id'}, sortable: false}, @@ -77,7 +74,7 @@ export class TaskTrackerTableComponent implements OnInit, OnChanges { buttons: [ // action buttons for each row { // eslint-disable-next-line max-len - iif: (record: TaskModel) => (record.createdInWizard && !record.taskIsExpired) || (record.taskIsExpired && record.createdInWizard && record.deadlineTask < this.changeDate), + iif: (record: TaskModel) => (record.createdInWizard && !record.taskIsExpired) || (record.taskIsExpired && record.createdInWizard && !record.movedToExpiredFolder), type: 'icon', icon: 'edit', tooltip: this.translateService.stream('Edit'), @@ -85,7 +82,7 @@ export class TaskTrackerTableComponent implements OnInit, OnChanges { }, { // eslint-disable-next-line max-len - iif: (record: TaskModel) => record.createdInWizard && record.deadlineTask < this.changeDate, + iif: (record: TaskModel) => record.createdInWizard && !record.movedToExpiredFolder, type: 'icon', tooltip: this.translateService.stream('Delete Case'), icon: 'delete', From 8a772e547ef8d42a94f7a695916faff51427e7b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 11:09:11 +0100 Subject: [PATCH 05/47] Removing some warnings and code cleanup. --- ...ckendConfigurationAreaRulePlanningsServiceHelper.cs | 1 + .../Infrastructure/Helpers/WorkOrderHelper.cs | 1 + .../Files/BackendConfigurationFileRequestModel.cs | 1 + .../Infrastructure/PairItemWithSiteHelper.cs | 2 +- .../BackendConfigurationPropertiesService.cs | 10 ++++++++-- 5 files changed, 12 insertions(+), 3 deletions(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/BackendConfigurationAreaRulePlanningsServiceHelper.cs b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/BackendConfigurationAreaRulePlanningsServiceHelper.cs index c4961a87..0b3fee14 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/BackendConfigurationAreaRulePlanningsServiceHelper.cs +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/BackendConfigurationAreaRulePlanningsServiceHelper.cs @@ -1,3 +1,4 @@ +#nullable enable using System; using System.Collections.Generic; using System.Linq; diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/WorkOrderHelper.cs b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/WorkOrderHelper.cs index ce0b27fc..9343c010 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/WorkOrderHelper.cs +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Helpers/WorkOrderHelper.cs @@ -1,3 +1,4 @@ +#nullable enable using System; using System.Collections.Generic; using System.Globalization; diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Models/Files/BackendConfigurationFileRequestModel.cs b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Models/Files/BackendConfigurationFileRequestModel.cs index d2dc609f..72ac0823 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Models/Files/BackendConfigurationFileRequestModel.cs +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/Models/Files/BackendConfigurationFileRequestModel.cs @@ -22,6 +22,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +#nullable enable namespace BackendConfiguration.Pn.Infrastructure.Models.Files; using Microting.eFormApi.BasePn.Infrastructure.Models.Common; diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/PairItemWithSiteHelper.cs b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/PairItemWithSiteHelper.cs index e22e15a2..6e92a92a 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/PairItemWithSiteHelper.cs +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Infrastructure/PairItemWithSiteHelper.cs @@ -396,7 +396,7 @@ await sdkDbContext.FolderTranslations.SingleOrDefaultAsync(x => private static async Task GetTopFolder(int folderId, MicrotingDbContext dbContext) { - var result = await dbContext.Folders.FirstOrDefaultAsync(y => y.Id == folderId).ConfigureAwait(false); + var result = await dbContext.Folders.FirstAsync(y => y.Id == folderId).ConfigureAwait(false); if (result.ParentId != null) { result = await GetTopFolder((int)result.ParentId, dbContext).ConfigureAwait(false); diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Services/BackendConfigurationPropertiesService/BackendConfigurationPropertiesService.cs b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Services/BackendConfigurationPropertiesService/BackendConfigurationPropertiesService.cs index f21567c5..1435b221 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Services/BackendConfigurationPropertiesService/BackendConfigurationPropertiesService.cs +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/Services/BackendConfigurationPropertiesService/BackendConfigurationPropertiesService.cs @@ -611,7 +611,7 @@ public async Task>> GetLinkedFolde .Where(x => x.Id == propertyId) .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed) .Where(x => x.FolderId.HasValue) - .Select(x => x.FolderId.Value) + .Select(x => x.FolderId!.Value) .ToListAsync(); folderIds.AddRange(await backendConfigurationPnDbContext.ProperyAreaFolders @@ -655,7 +655,7 @@ public async Task>> GetLinkedFolde .Where(x => propertyIds.Contains(x.Id)) .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed) .Where(x => x.FolderId.HasValue) - .Select(x => x.FolderId.Value) + .Select(x => x.FolderId!.Value) .ToListAsync(); folderIds.AddRange(await backendConfigurationPnDbContext.ProperyAreaFolders @@ -748,6 +748,12 @@ public async Task>> GetLinkedSit //.Where(x => propertyIds.Contains(x.PropertyId)) .Where(x => x.WorkflowState != Constants.WorkflowStates.Removed); + // if propertyIds is null or empty return an empty list + if (propertyIds == null || !propertyIds.Any()) + { + return new OperationDataResult>(true, new List()); + } + if (propertyIds.Any()) { query = query.Where(x => propertyIds.Contains(x.PropertyId)); From 50be1bcac3cf04d41fc94d0dd2312734730f924f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 11:51:44 +0100 Subject: [PATCH 06/47] Fixing properties actions menu. --- .../BackendConfigurationProperties.page.ts | 8 ++++++++ .../BackendConfigurationPropertyWorkers.page.ts | 8 ++++++++ .../BackendConfigurationTaskManagement.page.ts | 7 +++++++ 3 files changed, 23 insertions(+) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts index 0884b270..a2379ba5 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts @@ -326,6 +326,7 @@ export class PropertyRowObject { } public async delete(clickCancel = false) { + await this.clickActionsMenu(); await this.openDeleteModal(); await this.closeDeleteModal(clickCancel); } @@ -353,6 +354,7 @@ export class PropertyRowObject { } public async edit(property: PropertyCreateUpdate, clickCancel = false) { + await this.clickActionsMenu(); await this.openEditModal(property); await this.closeEditModal(clickCancel); } @@ -506,6 +508,12 @@ export class PropertyRowObject { await backendConfigurationPropertiesPage.propertyCreateBtn() ).waitForClickable({ timeout: 40000 }); } + + private async clickActionsMenu() { + await browser.pause(500); + await $$('#actionMenu')[0].click(); + await browser.pause(500); + } } export class PropertyCreateUpdate { diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts index 130875f7..4e64a94e 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts @@ -296,6 +296,7 @@ export class PropertyWorkerRowObject { } async delete(clickCancel = false) { + await this.clickActionsMenu(); await this.openDeleteModal(); await this.closeDeleteModal(clickCancel); } @@ -328,6 +329,7 @@ export class PropertyWorkerRowObject { } async edit(propertyWorker?: PropertyWorker, clickCancel = false) { + await this.clickActionsMenu(); await this.openEditModal(propertyWorker); await this.closeEditModal(clickCancel); } @@ -433,6 +435,12 @@ export class PropertyWorkerRowObject { await this.closeEditModal(true); return masForReturn; } + + private async clickActionsMenu() { + await browser.pause(500); + await $$('#actionMenu')[0].click(); + await browser.pause(500); + } } export class PropertyWorker { diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts index 89d912cf..d50b7d61 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts @@ -392,6 +392,7 @@ export class TaskRowObject { public async delete(clickCancel = false) { if (this.deleteTaskBtn) { + await this.clickActionsMenu(); await this.openDeleteModal(); await this.closeDeleteModal(clickCancel); } @@ -476,6 +477,12 @@ export class TaskRowObject { await this.closeShowModal(true); return task; } + + private async clickActionsMenu() { + await browser.pause(500); + await $$('#actionMenu')[0].click(); + await browser.pause(500); + } } export class TaskCreateShow { From da42a1a4d79220b3d9cd3a84665d8cc36a6d57d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 12:47:38 +0100 Subject: [PATCH 07/47] Adding more calls to actionMenu. --- .../BackendConfiguration/BackendConfigurationProperties.page.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts index a2379ba5..67baf10e 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts @@ -433,6 +433,7 @@ export class PropertyRowObject { } public async editBindWithAreas(bindAreas?: number[], clickCancel = false) { + await this.clickActionsMenu(); await this.openBindPropertyWithAreasModal(bindAreas); await this.closeBindPropertyWithAreasModal(clickCancel); } @@ -482,6 +483,7 @@ export class PropertyRowObject { } public async openAreasViewModal(indexAreaForClick: number) { + await this.clickActionsMenu(); await this.editPropertyAreasBtn.waitForClickable({ timeout: 40000 }); await this.editPropertyAreasBtn.click(); await ( From fe1b7a83a46acba0a12786471b9aad29b843b128 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 13:27:05 +0100 Subject: [PATCH 08/47] Fixing more tests. --- .../BackendConfigurationAreaRules.page.ts | 8 ++++++++ .../BackendConfigurationDocuments.page.ts | 8 ++++++++ .../BackendConfigurationFiles.page.ts | 8 ++++++++ .../BackendConfigurationProperties.page.ts | 1 + .../BackendConfigurationPropertyWorkers.page.ts | 1 + .../backend-configuration-property-workers.create.spec.ts | 3 ++- 6 files changed, 28 insertions(+), 1 deletion(-) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts index 7bf64c67..6be4c516 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts @@ -466,6 +466,7 @@ export class AreaRuleRowObject { } public async delete(clickCancel = false, waitCreateBtn = true) { + await this.clickActionsMenu(); if (this.deleteRuleBtn) { await this.openDeleteModal(); await this.closeDeleteModal(clickCancel, waitCreateBtn); @@ -505,10 +506,17 @@ export class AreaRuleRowObject { clickCancel = false, waitCreateBtn = true ) { + await this.clickActionsMenu(); await this.openEditModal(areaRule); await this.closeEditModal(clickCancel, waitCreateBtn); } + private async clickActionsMenu() { + await browser.pause(500); + await $$('#actionMenu')[0].click(); + await browser.pause(500); + } + public async openEditModal(areaRule: AreaRuleCreateUpdate) { await this.editRuleBtn.click(); await browser.pause(500); diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts index a716f624..7607a368 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts @@ -283,10 +283,17 @@ export class FileRowObject { } public async delete(clickCancel = false) { + await this.clickActionsMenu(); await this.openDeleteModal(); await this.closeDeleteModal(clickCancel); } + private async clickActionsMenu() { + await browser.pause(500); + await $$('#actionMenu')[0].click(); + await browser.pause(500); + } + public async openDeleteModal() { await this.deleteFileBtn.click(); await ( @@ -310,6 +317,7 @@ export class FileRowObject { } public async editFile(fileEdit: BackendFileEdit, clickCancel = false) { + await this.clickActionsMenu(); await this.openEditModal(fileEdit); await this.closeEditModal(clickCancel); if (fileEdit.tags && fileEdit.tags.length > 0) { diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts index 97ccf499..5561ed1a 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts @@ -321,6 +321,7 @@ export class FileRowObject { } public async delete(clickCancel = false) { + await this.clickActionsMenu(); await this.openDeleteModal(); await this.closeDeleteModal(clickCancel); } @@ -348,6 +349,7 @@ export class FileRowObject { } public async editFile(fileEdit: BackendFileEdit, clickCancel = false) { + await this.clickActionsMenu(); await this.openEditModal(fileEdit); await this.closeEditModal(clickCancel); if (fileEdit.tags && fileEdit.tags.length > 0) { @@ -355,6 +357,12 @@ export class FileRowObject { } } + private async clickActionsMenu() { + await browser.pause(500); + await $$('#actionMenu')[0].click(); + await browser.pause(500); + } + public async openEditModal(fileEdit: BackendFileEdit) { await this.editFileNameBtn.click(); await ( diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts index 67baf10e..ffea1695 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts @@ -439,6 +439,7 @@ export class PropertyRowObject { } public async openBindPropertyWithAreasModal(bindAreas?: number[]) { + await this.clickActionsMenu(); await this.editPropertyAreasBtn.click(); await browser.pause(500); await (await backendConfigurationPropertiesPage.configurePropertyAreasBtn()).click(); diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts index 4e64a94e..5ae2d0b8 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts @@ -411,6 +411,7 @@ export class PropertyWorkerRowObject { async getAssignedProperties(): Promise< { propertyName: string; checked: boolean }[] > { + await this.clickActionsMenu(); await this.openEditModal(); const pairingEditModalTableBody = await $('#pairingModalTableBody'); let masForReturn: { propertyName: string; checked: boolean }[] = new Array<{ diff --git a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts index 6d245aa7..a77bb7c5 100644 --- a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts @@ -34,7 +34,8 @@ describe('Backend Configuration Property Workers - Create and edit', function () it('should create worker and pair to created property', async () => { await backendConfigurationPropertiesPage.createProperty(property); const lastProperty = await backendConfigurationPropertiesPage.getLastPropertyRowObject(); - expect(await lastProperty.editPropertyAreasBtn.isEnabled()).eq(false); + // await $$('#actionMenu')[0].click(); + // expect(await lastProperty.editPropertyAreasBtn.isEnabled()).eq(false); await backendConfigurationPropertyWorkersPage.goToPropertyWorkers(); await backendConfigurationPropertyWorkersPage.create(workerForCreate); const worker = await backendConfigurationPropertyWorkersPage.getLastRowObject(); From 7cc543ca71b71b0cfa4548b5bbd796d6290da21b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 15:01:34 +0100 Subject: [PATCH 09/47] Fixing more tests. --- .../BackendConfigurationPropertyWorkers.page.ts | 2 +- .../backend-configuration-property-workers.create.spec.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts index 5ae2d0b8..b8b29865 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts @@ -162,7 +162,7 @@ class BackendConfigurationPropertyWorkersPage extends Page { } public async rowNum(): Promise { - await browser.pause(500); + await browser.pause(1000); return (await $$('tbody > tr')).length; } diff --git a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts index a77bb7c5..4aea02f9 100644 --- a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts @@ -76,6 +76,9 @@ describe('Backend Configuration Property Workers - Create and edit', function () // expect(worker.lastName).eq(workerForCreate.surname); expect(worker.language).eq(workerForCreate.language); // check inputs + await browser.pause(500); + await $$('#actionMenu')[0].click(); + await browser.pause(500); await worker.openEditModal(null); expect( await ( From 84a6fbfe5fd1263a4b1ef698e4a829d3c40eb4da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 15:03:08 +0100 Subject: [PATCH 10/47] Increasing wait time. --- .../BackendConfiguration/BackendConfigurationAreaRules.page.ts | 2 +- .../BackendConfiguration/BackendConfigurationDocuments.page.ts | 2 +- .../BackendConfiguration/BackendConfigurationFiles.page.ts | 2 +- .../BackendConfigurationProperties.page.ts | 2 +- .../BackendConfigurationPropertyWorkers.page.ts | 2 +- .../BackendConfigurationTaskManagement.page.ts | 2 +- .../backend-configuration-property-workers.edit.spec.ts | 3 +++ 7 files changed, 9 insertions(+), 6 deletions(-) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts index 6be4c516..151c996a 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts @@ -512,7 +512,7 @@ export class AreaRuleRowObject { } private async clickActionsMenu() { - await browser.pause(500); + await browser.pause(1000); await $$('#actionMenu')[0].click(); await browser.pause(500); } diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts index 7607a368..62286b78 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts @@ -289,7 +289,7 @@ export class FileRowObject { } private async clickActionsMenu() { - await browser.pause(500); + await browser.pause(1000); await $$('#actionMenu')[0].click(); await browser.pause(500); } diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts index 5561ed1a..21f4d408 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts @@ -358,7 +358,7 @@ export class FileRowObject { } private async clickActionsMenu() { - await browser.pause(500); + await browser.pause(1000); await $$('#actionMenu')[0].click(); await browser.pause(500); } diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts index ffea1695..f3d0a349 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts @@ -513,7 +513,7 @@ export class PropertyRowObject { } private async clickActionsMenu() { - await browser.pause(500); + await browser.pause(1000); await $$('#actionMenu')[0].click(); await browser.pause(500); } diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts index b8b29865..5521c10a 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts @@ -438,7 +438,7 @@ export class PropertyWorkerRowObject { } private async clickActionsMenu() { - await browser.pause(500); + await browser.pause(1000); await $$('#actionMenu')[0].click(); await browser.pause(500); } diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts index d50b7d61..57180c66 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts @@ -479,7 +479,7 @@ export class TaskRowObject { } private async clickActionsMenu() { - await browser.pause(500); + await browser.pause(1000); await $$('#actionMenu')[0].click(); await browser.pause(500); } diff --git a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts index 14a0bb8f..8f0ef3e3 100644 --- a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts @@ -76,6 +76,9 @@ describe('Backend Configuration Property Workers - Create and edit', function () // expect(worker.lastName).eq(workerForCreate.surname); expect(worker.language).eq(workerForCreate.language); // check inputs + await browser.pause(500); + await $$('#actionMenu')[0].click(); + await browser.pause(500); await worker.openEditModal(null); expect( await ( From 65d9412b0f2998d715b5c2b1a25e257b48af7c1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 15:31:09 +0100 Subject: [PATCH 11/47] Adding more wait time. --- .../BackendConfiguration/BackendConfigurationAreaRules.page.ts | 2 +- .../BackendConfiguration/BackendConfigurationDocuments.page.ts | 2 +- .../BackendConfiguration/BackendConfigurationFiles.page.ts | 2 +- .../BackendConfiguration/BackendConfigurationProperties.page.ts | 2 +- .../BackendConfigurationPropertyWorkers.page.ts | 2 +- .../BackendConfigurationTaskManagement.page.ts | 2 +- .../backend-configuration-property-workers.create.spec.ts | 2 +- .../backend-configuration-property-workers.edit.spec.ts | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts index 151c996a..d618a69e 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts @@ -514,7 +514,7 @@ export class AreaRuleRowObject { private async clickActionsMenu() { await browser.pause(1000); await $$('#actionMenu')[0].click(); - await browser.pause(500); + await browser.pause(1000); } public async openEditModal(areaRule: AreaRuleCreateUpdate) { diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts index 62286b78..de5a07f1 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationDocuments.page.ts @@ -291,7 +291,7 @@ export class FileRowObject { private async clickActionsMenu() { await browser.pause(1000); await $$('#actionMenu')[0].click(); - await browser.pause(500); + await browser.pause(1000); } public async openDeleteModal() { diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts index 21f4d408..d59960eb 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts @@ -360,7 +360,7 @@ export class FileRowObject { private async clickActionsMenu() { await browser.pause(1000); await $$('#actionMenu')[0].click(); - await browser.pause(500); + await browser.pause(1000); } public async openEditModal(fileEdit: BackendFileEdit) { diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts index f3d0a349..66af023b 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts @@ -515,7 +515,7 @@ export class PropertyRowObject { private async clickActionsMenu() { await browser.pause(1000); await $$('#actionMenu')[0].click(); - await browser.pause(500); + await browser.pause(1000); } } diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts index 5521c10a..618cd73b 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationPropertyWorkers.page.ts @@ -440,7 +440,7 @@ export class PropertyWorkerRowObject { private async clickActionsMenu() { await browser.pause(1000); await $$('#actionMenu')[0].click(); - await browser.pause(500); + await browser.pause(1000); } } diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts index 57180c66..c4a262b4 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts @@ -481,7 +481,7 @@ export class TaskRowObject { private async clickActionsMenu() { await browser.pause(1000); await $$('#actionMenu')[0].click(); - await browser.pause(500); + await browser.pause(1000); } } diff --git a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts index 4aea02f9..c9bef8e1 100644 --- a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.create.spec.ts @@ -78,7 +78,7 @@ describe('Backend Configuration Property Workers - Create and edit', function () // check inputs await browser.pause(500); await $$('#actionMenu')[0].click(); - await browser.pause(500); + await browser.pause(1000); await worker.openEditModal(null); expect( await ( diff --git a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts index 8f0ef3e3..92c005b9 100644 --- a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts @@ -78,7 +78,7 @@ describe('Backend Configuration Property Workers - Create and edit', function () // check inputs await browser.pause(500); await $$('#actionMenu')[0].click(); - await browser.pause(500); + await browser.pause(1000); await worker.openEditModal(null); expect( await ( From d5076220e859902a1865cbd4ac39e7eb915c17c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 15:39:42 +0100 Subject: [PATCH 12/47] Fixing double tapping issue. --- .../BackendConfiguration/BackendConfigurationProperties.page.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts index 66af023b..5f1175c6 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts @@ -439,7 +439,6 @@ export class PropertyRowObject { } public async openBindPropertyWithAreasModal(bindAreas?: number[]) { - await this.clickActionsMenu(); await this.editPropertyAreasBtn.click(); await browser.pause(500); await (await backendConfigurationPropertiesPage.configurePropertyAreasBtn()).click(); @@ -484,7 +483,6 @@ export class PropertyRowObject { } public async openAreasViewModal(indexAreaForClick: number) { - await this.clickActionsMenu(); await this.editPropertyAreasBtn.waitForClickable({ timeout: 40000 }); await this.editPropertyAreasBtn.click(); await ( From f081422b8d117d564a50c63be426ea62780a79a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 20:07:44 +0100 Subject: [PATCH 13/47] Adding more clickActionsMenu(); --- .../BackendConfiguration/BackendConfigurationProperties.page.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts index 5f1175c6..1c77ee1f 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationProperties.page.ts @@ -472,6 +472,7 @@ export class PropertyRowObject { } public async getBindAreas() { + await this.clickActionsMenu(); await this.openBindPropertyWithAreasModal(); await browser.pause(500); const checkboxes = await $$(`mat-checkbox-input`); @@ -483,6 +484,7 @@ export class PropertyRowObject { } public async openAreasViewModal(indexAreaForClick: number) { + await this.clickActionsMenu() await this.editPropertyAreasBtn.waitForClickable({ timeout: 40000 }); await this.editPropertyAreasBtn.click(); await ( From c1d4478e102618357f15b601588406cc6a84c1e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 20:31:51 +0100 Subject: [PATCH 14/47] Fixing more tests. --- .../backend-configuration-property-workers.edit.spec.ts | 2 +- .../backend-configuration-task-management.delete.spec.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts index 92c005b9..49e74b3c 100644 --- a/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-general/property-workers/backend-configuration-property-workers.edit.spec.ts @@ -34,7 +34,7 @@ describe('Backend Configuration Property Workers - Create and edit', function () it('should create worker and pair to created property', async () => { await backendConfigurationPropertiesPage.createProperty(property); const lastProperty = await backendConfigurationPropertiesPage.getLastPropertyRowObject(); - expect(await lastProperty.editPropertyAreasBtn.isEnabled()).eq(false); + // expect(await lastProperty.editPropertyAreasBtn.isEnabled()).eq(false); await backendConfigurationPropertyWorkersPage.goToPropertyWorkers(); await backendConfigurationPropertyWorkersPage.create(workerForCreate); await browser.pause(500); diff --git a/eform-client/e2e/Tests/backend-configuration-general/task-management/backend-configuration-task-management.delete.spec.ts b/eform-client/e2e/Tests/backend-configuration-general/task-management/backend-configuration-task-management.delete.spec.ts index 0576f4a2..fa63ec11 100644 --- a/eform-client/e2e/Tests/backend-configuration-general/task-management/backend-configuration-task-management.delete.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-general/task-management/backend-configuration-task-management.delete.spec.ts @@ -40,6 +40,9 @@ describe('Backend Configuration Task Manager Delete Task', function () { await backendConfigurationPropertyWorkersPage.create(workerForCreate); await backendConfigurationPropertiesPage.goToProperties(); const createdProperty = await backendConfigurationPropertiesPage.getLastPropertyRowObject(); + await browser.pause(1000); + await $$('#actionMenu')[0].click(); + await browser.pause(1000); await createdProperty.propertyTaskAreasBtn.click(); for (let i = 0; i < (areas).length; i++) { const btn = await $('#addSingleEntitySelectableItem'); From e4caeac3849070758972093e53918aa3171025dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Wed, 5 Nov 2025 21:27:08 +0100 Subject: [PATCH 15/47] More fixes. --- .../BackendConfiguration/BackendConfigurationAreaRules.page.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts index d618a69e..edd26018 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts @@ -466,7 +466,7 @@ export class AreaRuleRowObject { } public async delete(clickCancel = false, waitCreateBtn = true) { - await this.clickActionsMenu(); + // await this.clickActionsMenu(); if (this.deleteRuleBtn) { await this.openDeleteModal(); await this.closeDeleteModal(clickCancel, waitCreateBtn); From a637f295d0ba336ea9d90213f5a63b2566254bbd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Thu, 6 Nov 2025 06:38:29 +0100 Subject: [PATCH 16/47] More fixes. --- .../BackendConfiguration/BackendConfigurationAreaRules.page.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts index edd26018..7f6967ce 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationAreaRules.page.ts @@ -506,7 +506,7 @@ export class AreaRuleRowObject { clickCancel = false, waitCreateBtn = true ) { - await this.clickActionsMenu(); + // await this.clickActionsMenu(); await this.openEditModal(areaRule); await this.closeEditModal(clickCancel, waitCreateBtn); } From ea26b955ace09390ef29f2c5924e838c68af84c6 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 05:48:10 +0000 Subject: [PATCH 17/47] Initial plan From 3921a98a947decba294574fe2c9aeb638dfd7636 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 05:56:21 +0000 Subject: [PATCH 18/47] Refactor Actions columns to use mat-menu dropdown pattern Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com> --- .../area-rules-table.component.html | 58 +++++++++++++++++++ .../area-rules-table.component.ts | 36 ------------ .../files-table/files-table.component.html | 40 ++++++++++++- .../files-table/files-table.component.ts | 26 --------- .../task-management-table.component.html | 31 +++++++++- .../task-management-table.component.ts | 18 ------ .../task-tracker-table.component.html | 31 +++++++++- .../task-tracker-table.component.ts | 20 ------- 8 files changed, 157 insertions(+), 103 deletions(-) diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html index 57d79e4e..4f894f45 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html @@ -3,6 +3,7 @@

{{'Halebid' | translate}}

{{'Morning tour' | translate}} {{'Chemicals' | translate}} + + +
+ + + + + + +
+
+ + +
+ + + + + + +
+
diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.ts index 70a43c89..2b882301 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.ts @@ -200,24 +200,6 @@ export class AreaRulesTableComponent implements OnChanges, OnInit { { field: 'actions', header: this.translateService.stream('Actions'), - type: 'button', - buttons: [ - { - type: 'icon', - color: 'accent', - icon: 'assignment', - click: (rowData: AreaRuleSimpleModel) => this.onShowPlanAreaRule(rowData), - tooltip: this.translateService.stream('Plan and assign'), - }, - { - type: 'icon', - color: 'accent', - icon: 'list', - click: () => this.onShowEditEntityListModal(this.selectedArea.groupId), - tooltip: this.translateService.stream('Edit list of stables for tailbites'), - class: 'updateEntityList', - }, - ] }, ]; @@ -416,24 +398,6 @@ export class AreaRulesTableComponent implements OnChanges, OnInit { { field: 'actions', header: this.translateService.stream('Actions'), - type: 'button', - buttons: [ - { - type: 'icon', - color: 'accent', - icon: 'assignment', - click: (rowData: AreaRuleSimpleModel) => this.onShowPlanAreaRule(rowData), - tooltip: this.translateService.stream('Plan and assign'), - }, - { - type: 'icon', - color: 'accent', - icon: 'edit', - iif: (rowData: AreaRuleSimpleModel) => !rowData.isDefault && this.selectedArea.type !== 9 && !rowData.planningStatus, - click: (rowData: AreaRuleSimpleModel) => this.onShowEditRuleModal(rowData), - tooltip: this.translateService.stream('Edit rule'), - }, - ] }, ]; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.html index 6b876aa1..fac50972 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.html @@ -1,7 +1,7 @@ + + +
+ + + + + + + +
+
diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.ts index 80536879..ac120d43 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.ts @@ -69,35 +69,9 @@ export class FilesTableComponent implements OnInit { { field: 'actions', header: this.translateService.stream('Actions'), - type: 'button', width: '200px', pinned: 'right', right: '0px', - buttons: [ - { - type: 'icon', - icon: 'visibility', - tooltip: this.translateService.stream('View File'), - click: (filesModel: FilesModel) => this.onOpenView(filesModel), - class: 'viewPdfBtn', - }, - { - color: 'accent', - type: 'icon', - icon: 'edit', - tooltip: this.translateService.stream('Edit file name'), - click: (filesModel: FilesModel) => this.onShowEditDocumentModal(filesModel), - class: 'editFilenameBtn', - }, - { - color: 'warn', - type: 'icon', - icon: 'delete', - tooltip: this.translateService.stream('Delete file'), - click: (filesModel: FilesModel) => this.onOpenDeleteModal(filesModel), - class: 'deleteFileBtn', - }, - ], }, ]; pdfSub$: any; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.html index a2e27596..e62780a4 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.html @@ -2,7 +2,7 @@ {{row.status | translate}} + + +
+ + + + + + +
+
diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.ts index b5a0279b..e74f39df 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.ts @@ -78,27 +78,9 @@ export class TaskManagementTableComponent implements OnInit { { header: this.translateService.stream('Actions'), field: 'actions', - type: 'button', width: '100px', pinned: 'right', right: '0px', - buttons: [ - { - type: 'icon', - icon: 'edit', - click: (rowData: WorkOrderCaseModel) => this.onOpenViewModal(rowData.id), - tooltip: this.translateService.stream('Edit task'), - class: 'taskManagementViewBtn', - }, - { - type: 'icon', - icon: 'delete', - color: 'warn', - click: (rowData: WorkOrderCaseModel) => this.onOpenDeleteModal(rowData), - tooltip: this.translateService.stream('Delete task'), - class: 'taskManagementDeleteTaskBtn', - }, - ] }, ]; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html index 4e123f1f..32ce3322 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html @@ -1,7 +1,7 @@ + +
+ + + + + + +
+
+ diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.ts index 4b84e487..3dd01e98 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.ts @@ -70,26 +70,6 @@ export class TaskTrackerTableComponent implements OnInit, OnChanges { // actions column with custom buttons {header: this.translateService.stream('Actions'), field: 'actions', sortable: false, width: '100px', pinned: 'right', - type: 'button', - buttons: [ // action buttons for each row - { - // eslint-disable-next-line max-len - iif: (record: TaskModel) => (record.createdInWizard && !record.taskIsExpired) || (record.taskIsExpired && record.createdInWizard && !record.movedToExpiredFolder), - type: 'icon', - icon: 'edit', - tooltip: this.translateService.stream('Edit'), - click: (record: TaskModel) => this.redirectToCompliance(record), - }, - { - // eslint-disable-next-line max-len - iif: (record: TaskModel) => record.createdInWizard && !record.movedToExpiredFolder, - type: 'icon', - tooltip: this.translateService.stream('Delete Case'), - icon: 'delete', - //color: (record: TaskModel) => this.deleteIconColor(record), // TODO: Uncomment when the logic is implemented - click: (record: TaskModel) => this.onShowDeleteComplianceModal(record), - } - ], }, ]; complianceDeleteComponentAfterClosedSub$: Subscription; From 22324e90f2ece5735c67b3bb0183b46f32f95ff5 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 06:00:22 +0000 Subject: [PATCH 19/47] Remove unnecessary 'this' reference in template Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com> --- .../components/area-rules-table/area-rules-table.component.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html index 4f894f45..65a4567f 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html @@ -162,7 +162,7 @@

{{'Chemicals' | translate}}

mat-menu-item id="updateEntityList-t3-{{i}}" class="updateEntityList" - (click)="onShowEditEntityListModal(this.selectedArea.groupId)" + (click)="onShowEditEntityListModal(selectedArea.groupId)" > list {{ 'Edit list of stables for tailbites' | translate }} From 902e876ddbc52de074dc649dd2677c22f0e972de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Thu, 6 Nov 2025 07:31:39 +0100 Subject: [PATCH 20/47] Fixing missing imports. --- .../modules/files/files.module.ts | 58 ++++++++++--------- .../task-management/task-management.module.ts | 48 ++++++++------- 2 files changed, 57 insertions(+), 49 deletions(-) diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/files.module.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/files.module.ts index 2f63dd74..fce125c0 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/files.module.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/files.module.ts @@ -36,6 +36,7 @@ import {PdfViewerModule} from 'ng2-pdf-viewer'; import {DragulaModule} from 'ng2-dragula'; import {MtxProgressModule} from '@ng-matero/extensions/progress'; import {MatDatepickerModule} from '@angular/material/datepicker'; +import {MatMenu, MatMenuItem, MatMenuTrigger} from "@angular/material/menu"; @NgModule({ declarations: [ @@ -51,33 +52,36 @@ import {MatDatepickerModule} from '@angular/material/datepicker'; DownloadFilesNameArchiveComponent, FileCreateZoomPageComponent, ], - imports: [ - CommonModule, - TranslateModule, - RouterModule, - FilesRouting, - EformSharedModule, - ReactiveFormsModule, - EformImportedModule, - FormsModule, - MatButtonModule, - MatTooltipModule, - MatIconModule, - MatFormFieldModule, - MtxSelectModule, - MatInputModule, - MtxGridModule, - MatDialogModule, - MatCardModule, - MatSlideToggleModule, - MatCheckboxModule, - EformSharedTagsModule, - MatChipsModule, - PdfViewerModule, - DragulaModule, - MtxProgressModule, - MatDatepickerModule, - ], + imports: [ + CommonModule, + TranslateModule, + RouterModule, + FilesRouting, + EformSharedModule, + ReactiveFormsModule, + EformImportedModule, + FormsModule, + MatButtonModule, + MatTooltipModule, + MatIconModule, + MatFormFieldModule, + MtxSelectModule, + MatInputModule, + MtxGridModule, + MatDialogModule, + MatCardModule, + MatSlideToggleModule, + MatCheckboxModule, + EformSharedTagsModule, + MatChipsModule, + PdfViewerModule, + DragulaModule, + MtxProgressModule, + MatDatepickerModule, + MatMenuTrigger, + MatMenu, + MatMenuItem, + ], }) export class FilesModule { diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/task-management.module.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/task-management.module.ts index 40fe52b9..b508f635 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/task-management.module.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/task-management.module.ts @@ -25,6 +25,7 @@ import {MatCardModule} from '@angular/material/card'; import {MatDatepickerModule} from '@angular/material/datepicker'; import {StatisticsModule} from '../statistics/statistics.module'; import {MatChip} from "@angular/material/chips"; +import {MatMenu, MatMenuItem, MatMenuTrigger} from "@angular/material/menu"; @NgModule({ declarations: [ @@ -34,28 +35,31 @@ import {MatChip} from "@angular/material/chips"; TaskManagementCreateShowModalComponent, TaskManagementDeleteModalComponent ], - imports: [ - CommonModule, - TranslateModule, - RouterModule, - TaskManagementRouting, - EformSharedModule, - ReactiveFormsModule, - EformImportedModule, - FormsModule, - MatButtonModule, - MatTooltipModule, - MatIconModule, - MatFormFieldModule, - MtxSelectModule, - MatInputModule, - MtxGridModule, - MatDialogModule, - MatCardModule, - MatDatepickerModule, - StatisticsModule, - MatChip, - ], + imports: [ + CommonModule, + TranslateModule, + RouterModule, + TaskManagementRouting, + EformSharedModule, + ReactiveFormsModule, + EformImportedModule, + FormsModule, + MatButtonModule, + MatTooltipModule, + MatIconModule, + MatFormFieldModule, + MtxSelectModule, + MatInputModule, + MtxGridModule, + MatDialogModule, + MatCardModule, + MatDatepickerModule, + StatisticsModule, + MatChip, + MatMenuTrigger, + MatMenu, + MatMenuItem, + ], providers: [], }) export class TaskManagementModule { From 3910617486561b739d34279311a44f1712aa0969 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Thu, 6 Nov 2025 12:46:35 +0100 Subject: [PATCH 21/47] Fixing more tests. --- ...BackendConfigurationTaskManagement.page.ts | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts index c4a262b4..b27f6692 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationTaskManagement.page.ts @@ -381,8 +381,8 @@ export class TaskRowObject { this.createdBy1 = await (await $$('td.createdByName')[rowNum]).getText(); this.createdBy2 = await (await $$('td.createdByText')[rowNum]).getText(); this.lastAssignedTo = await (await $$('td.lastAssignedTo')[rowNum]).getText(); - this.showTaskBtn = await $$('button.taskManagementViewBtn')[rowNum]; - this.deleteTaskBtn = await $$('button.taskManagementDeleteTaskBtn')[rowNum]; + this.showTaskBtn = await $('#taskManagementViewBtn-'+rowNum); + this.deleteTaskBtn = await $('#taskManagementDeleteTaskBtn-'+rowNum); this.description = await (await $$('td.description')[rowNum]).getText(); this.lastUpdatedDate = await (await $$('td.lastUpdateDate')[rowNum]).getText(); this.lastUpdatedBy = await (await $$('td.lastUpdatedBy')[rowNum]).getText(); @@ -391,20 +391,16 @@ export class TaskRowObject { } public async delete(clickCancel = false) { - if (this.deleteTaskBtn) { - await this.clickActionsMenu(); - await this.openDeleteModal(); - await this.closeDeleteModal(clickCancel); - } + await this.clickActionsMenu(); + await this.openDeleteModal(); + await this.closeDeleteModal(clickCancel); } public async openDeleteModal() { - if (this.deleteTaskBtn) { - await this.deleteTaskBtn.click(); - await ( - await backendConfigurationTaskManagementPage.taskManagementDeleteCancelBtn() - ).waitForClickable({ timeout: 40000 }); - } + await this.deleteTaskBtn.click(); + await ( + await backendConfigurationTaskManagementPage.taskManagementDeleteCancelBtn() + ).waitForClickable({ timeout: 40000 }); } public async closeDeleteModal(clickCancel = false) { From 903d064df40091ba440ffe9f614af1d11be11ba1 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 11:54:15 +0000 Subject: [PATCH 22/47] Initial plan From 142030a5c974e6293bc046dab5fce369eafe7735 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 6 Nov 2025 12:00:03 +0000 Subject: [PATCH 23/47] Refactor BackendConfigurationFiles page object to use indexed ID selectors Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com> --- .../BackendConfigurationFiles.page.ts | 56 +++++++------------ .../files-table/files-table.component.html | 19 ++++++- 2 files changed, 36 insertions(+), 39 deletions(-) diff --git a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts index d59960eb..a36d8ecc 100644 --- a/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts +++ b/eform-client/e2e/Page objects/BackendConfiguration/BackendConfigurationFiles.page.ts @@ -268,8 +268,6 @@ export class FileRowObject { constructor() { } - public row: WebdriverIO.Element; - public checkbox: WebdriverIO.Element; public id: number; public createDate: string; public fileName: string; @@ -282,41 +280,27 @@ export class FileRowObject { public async getRow(rowNum: number): Promise { rowNum = rowNum - 1; - this.row = (await $$('tbody > tr'))[rowNum]; - if (this.row) { - this.checkbox = await this.row.$('.mat-column-select .column-select'); - this.id = +await (await this.row.$('.mat-column-id span')).getText(); - this.createDate = await (await this.row.$('.mat-column-createDate span')).getText(); - this.fileName = await (await this.row.$('.mat-column-fileName span')).getText(); - const properties = await this.row.$$('.mat-column-property mat-chip'); - this.properties = []; - for (let i = 0; i < properties.length; i++) { - const text = await properties[i].getText(); - this.properties.push(text.toString()); - } - // if (properties.length > 0) { - // properties[properties.length - 1] = properties[properties.length - 1].replace('edit', ''); // delete button - // this.properties = properties - // .filter(x => x) // delete empty strings - // .map(x => x.replaceAll('\n', '')); // delete enters - // } - const tags = await this.row.$$('.mat-column-tags mat-chip'); - this.tags = []; - for (let i = 0; i < tags.length; i++) { - const text = await tags[i].getText(); - this.tags.push(text.toString()); - } - // if (tags.length > 0) { - // // tags[tags.length - 1] = tags[tags.length - 1].replace('edit', ''); // delete button - // this.tags = tags - // //.filter(x => x.te) // delete empty strings - // .map(x => (await x.getText()).replaceAll('\n', '')); // delete enters - // } - this.editTagsBtn = await this.row.$('.mat-column-tags button'); - this.viewPDFBtn = await this.row.$$('.mat-column-actions button')[0]; - this.editFileNameBtn = await this.row.$$('.mat-column-actions button')[1]; - this.deleteFileBtn = await this.row.$$('.mat-column-actions button')[2]; + this.id = +await (await $('#fileId-'+rowNum)).getText(); + this.createDate = await (await $('#fileCreateDate-'+rowNum)).getText(); + this.fileName = await (await $('#fileName-'+rowNum)).getText(); + // Get properties from mat-chip elements - need to use row context since it's dynamic + const row = (await $$('tbody > tr'))[rowNum]; + const properties = await row.$$('.mat-column-property mat-chip'); + this.properties = []; + for (let i = 0; i < properties.length; i++) { + const text = await properties[i].getText(); + this.properties.push(text.toString()); + } + const tags = await row.$$('.mat-column-tags mat-chip'); + this.tags = []; + for (let i = 0; i < tags.length; i++) { + const text = await tags[i].getText(); + this.tags.push(text.toString()); } + this.editTagsBtn = await $('#editTagsBtn-'+rowNum); + this.viewPDFBtn = await $('#viewPdfBtn-'+rowNum); + this.editFileNameBtn = await $('#editFilenameBtn-'+rowNum); + this.deleteFileBtn = await $('#deleteFileBtn-'+rowNum); return this; } diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.html index fac50972..fbcbc30e 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-table/files-table.component.html @@ -1,7 +1,7 @@ - + +
{{ row.id }}
+
+ + +
{{ row.createDate | date:'dd.MM.yyyy HH:mm:ss' }}
+
+ + +
{{ row.fileName }}.{{ row.fileExtension }}
+
+ +
@@ -53,7 +65,7 @@
- +
@@ -63,6 +75,7 @@ + + + + + +
+
+ + +
+ + + + + + +
+
+

{{'Chemicals' | translate}}

{{'Chemicals' | translate}}
- - -
- - - - - - -
-
- - -
- - - - - - -
-
From 49c07c3607742a0a2152ce6b4e2200def5f83b7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Thu, 6 Nov 2025 17:40:06 +0100 Subject: [PATCH 30/47] Fixing task tracker. --- .../task-tracker-table/task-tracker-table.component.html | 2 +- .../modules/task-tracker/task-tracker.module.ts | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html index 32ce3322..4a10b5a9 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html @@ -24,7 +24,7 @@
-
+
diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/task-tracker.module.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/task-tracker.module.ts index 887c5a3d..885561a5 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/task-tracker.module.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/task-tracker.module.ts @@ -28,6 +28,7 @@ import {PlanningsModule} from '../../../items-planning-pn/modules/plannings/plan import {StatisticsModule} from '../statistics/statistics.module'; import {MatChipsModule} from '@angular/material/chips'; import {NgSelectModule} from "@ng-select/ng-select"; +import {MatMenu, MatMenuItem, MatMenuTrigger} from "@angular/material/menu"; @NgModule({ declarations: [ @@ -62,6 +63,9 @@ import {NgSelectModule} from "@ng-select/ng-select"; StatisticsModule, MatChipsModule, NgSelectModule, + MatMenuTrigger, + MatMenu, + MatMenuItem, ], providers: [], }) From 10e7178de69e5461e52603a73bdb97d1a52ff41c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Thu, 6 Nov 2025 18:56:22 +0100 Subject: [PATCH 31/47] Adding missing translation. --- .../app/plugins/modules/backend-configuration-pn/i18n/bgBG.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/csCZ.ts | 1 + .../src/app/plugins/modules/backend-configuration-pn/i18n/da.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/deDE.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/elGR.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/enUS.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/esES.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/etET.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/fiFI.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/frFR.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/hrHR.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/huHU.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/isIS.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/itIT.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/ltLT.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/lvLV.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/nlNL.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/noNO.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/plPL.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/ptBR.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/ptPT.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/roRO.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/skSK.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/slSL.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/svSE.ts | 1 + .../app/plugins/modules/backend-configuration-pn/i18n/ukUA.ts | 1 + 26 files changed, 26 insertions(+) diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/bgBG.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/bgBG.ts index 4d02bee0..8618f919 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/bgBG.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/bgBG.ts @@ -291,4 +291,5 @@ export const bgBG = { 'PIN code': 'ПИН код', 'Employee no': 'Служител №', 'Deactivate task': 'Деактивирайте задачата', + Areas: 'Области', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/csCZ.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/csCZ.ts index b38bbcb6..76b14649 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/csCZ.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/csCZ.ts @@ -291,4 +291,5 @@ export const csCZ = { 'PIN code': 'PIN kód', 'Employee no': 'Zaměstnanec č', 'Deactivate task': 'Deaktivovat úkol', + Areas: 'Oblasti', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/da.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/da.ts index 1e8fffde..bcbbf7e1 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/da.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/da.ts @@ -293,4 +293,5 @@ export const da = { 'PIN code': 'PIN kode', 'Employee no': 'Medarbejder nummer', 'Deactivate task': 'Deaktiver opgave', + Areas: 'Områder', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/deDE.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/deDE.ts index 0cc95906..b1fdc70b 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/deDE.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/deDE.ts @@ -352,4 +352,5 @@ export const deDE = { 'PIN code': 'Geheimzahl', 'Employee no': 'Mitarbeiter-Nr.', 'Deactivate task': 'Aufgabe deaktivieren', + Areas: 'Gebiete', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/elGR.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/elGR.ts index df87843a..d014a24b 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/elGR.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/elGR.ts @@ -291,4 +291,5 @@ export const elGR = { 'PIN code': 'Κωδικό PIN', 'Employee no': 'Υπάλληλος αρ', 'Deactivate task': 'Απενεργοποίηση εργασίας', + Areas: 'Περιοχές', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/enUS.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/enUS.ts index e8f89822..f5111d8c 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/enUS.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/enUS.ts @@ -308,4 +308,5 @@ export const enUS= { 'PIN code': 'PIN code', 'Employee no': 'Employee no', 'Deactivate task': 'Deactivate task', + 'Areas': 'Areas' }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/esES.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/esES.ts index 390313c3..a8d66ef6 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/esES.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/esES.ts @@ -291,4 +291,5 @@ export const esES = { 'PIN code': 'Código PIN', 'Employee no': 'Numero de empleado', 'Deactivate task': 'Desactivar tarea', + Areas: 'Áreas', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/etET.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/etET.ts index 89dc2451..156fc666 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/etET.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/etET.ts @@ -291,4 +291,5 @@ export const etET = { 'PIN code': 'PIN-koodi', 'Employee no': 'Töötaja nr', 'Deactivate task': 'Deaktiveerige ülesanne', + Areas: 'Piirkonnad', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/fiFI.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/fiFI.ts index 53784400..9fe59c37 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/fiFI.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/fiFI.ts @@ -291,4 +291,5 @@ export const fiFI = { 'PIN code': 'Pin-koodi', 'Employee no': 'Työntekijä nro', 'Deactivate task': 'Poista tehtävä käytöstä', + Areas: 'Alueet', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/frFR.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/frFR.ts index e1ecc193..1b4216b2 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/frFR.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/frFR.ts @@ -291,4 +291,5 @@ export const frFR = { 'PIN code': 'Code PIN', 'Employee no': 'Numéro d'employé', 'Deactivate task': 'Désactiver la tâche', + Areas: 'Zones', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/hrHR.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/hrHR.ts index fc4d32bf..19352558 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/hrHR.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/hrHR.ts @@ -291,4 +291,5 @@ export const hrHR = { 'PIN code': 'PIN kod', 'Employee no': 'Zaposlenik br', 'Deactivate task': 'Deaktiviraj zadatak', + Areas: 'Područja', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/huHU.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/huHU.ts index 1382cbd0..1855ab79 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/huHU.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/huHU.ts @@ -291,4 +291,5 @@ export const huHU = { 'PIN code': 'PIN-kód', 'Employee no': 'számú alkalmazott', 'Deactivate task': 'Inaktiválja a feladatot', + Areas: 'Területek', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/isIS.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/isIS.ts index dbd7fde7..2c71cdf1 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/isIS.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/isIS.ts @@ -291,4 +291,5 @@ export const isIS = { 'PIN code': 'PIN númer', 'Employee no': 'Starfsmaður nr', 'Deactivate task': 'Slökktu á verkefni', + Areas: 'Svæði', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/itIT.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/itIT.ts index c40540cb..ed52085c 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/itIT.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/itIT.ts @@ -291,4 +291,5 @@ export const itIT = { 'PIN code': 'Codice PIN', 'Employee no': 'Dipendente n', 'Deactivate task': 'Disattivare l'attività', + Areas: 'Aree', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ltLT.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ltLT.ts index afc108cf..10a2e2e0 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ltLT.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ltLT.ts @@ -291,4 +291,5 @@ export const ltLT = { 'PIN code': 'PIN kodas', 'Employee no': 'Darbuotojas Nr', 'Deactivate task': 'Išjungti užduotį', + Areas: 'Sritys', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/lvLV.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/lvLV.ts index 65475417..2c2a2098 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/lvLV.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/lvLV.ts @@ -291,4 +291,5 @@ export const lvLV = { 'PIN code': 'PIN kods', 'Employee no': 'Darbinieks Nr', 'Deactivate task': 'Deaktivizēt uzdevumu', + Areas: 'Apgabali', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/nlNL.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/nlNL.ts index 37505347..0ad477fa 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/nlNL.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/nlNL.ts @@ -291,4 +291,5 @@ export const nlNL = { 'PIN code': 'Pincode', 'Employee no': 'Werknemer nummer', 'Deactivate task': 'Taak deactiveren', + Areas: 'Gebieden', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/noNO.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/noNO.ts index f39985fb..082cbb0e 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/noNO.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/noNO.ts @@ -291,4 +291,5 @@ export const noNO = { 'PIN code': 'PIN-kode', 'Employee no': 'Ansatt nummer', 'Deactivate task': 'Deaktiver oppgave', + Areas: 'Områder', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/plPL.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/plPL.ts index 0ed7a04a..4c9595f7 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/plPL.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/plPL.ts @@ -291,4 +291,5 @@ export const plPL = { 'PIN code': 'Kod PIN', 'Employee no': 'Pracownik numer', 'Deactivate task': 'Dezaktywuj zadanie', + Areas: 'Obszary', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ptBR.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ptBR.ts index 641cd4b7..b2f105cc 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ptBR.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ptBR.ts @@ -291,4 +291,5 @@ export const ptBR = { 'PIN code': 'Código PIN', 'Employee no': 'Funcionário não', 'Deactivate task': 'Desativar tarefa', + Areas: 'Áreas', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ptPT.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ptPT.ts index e0e2d578..72af5eab 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ptPT.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ptPT.ts @@ -291,4 +291,5 @@ export const ptPT = { 'PIN code': 'Código PIN', 'Employee no': 'Funcionário não', 'Deactivate task': 'Desativar tarefa', + Areas: 'Áreas', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/roRO.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/roRO.ts index 9aaf0111..ad87fd9d 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/roRO.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/roRO.ts @@ -291,4 +291,5 @@ export const roRO = { 'PIN code': 'Cod PIN', 'Employee no': 'Angajat nr', 'Deactivate task': 'Dezactivați sarcina', + Areas: 'Zone', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/skSK.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/skSK.ts index 879699a2..ab514808 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/skSK.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/skSK.ts @@ -291,4 +291,5 @@ export const skSK = { 'PIN code': 'PIN kód', 'Employee no': 'Zamestnanec č', 'Deactivate task': 'Deaktivovať úlohu', + Areas: 'Oblasti', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/slSL.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/slSL.ts index 100719f4..53d1338c 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/slSL.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/slSL.ts @@ -291,4 +291,5 @@ export const slSL = { 'PIN code': 'PIN koda', 'Employee no': 'Uslužbenec št', 'Deactivate task': 'Deaktiviraj nalogo', + Areas: 'Območja', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/svSE.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/svSE.ts index d095f7ed..51f76627 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/svSE.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/svSE.ts @@ -291,4 +291,5 @@ export const svSE = { 'PIN code': 'Pinkod', 'Employee no': 'Anställningsnummer', 'Deactivate task': 'Inaktivera uppgiften', + Areas: 'Områden', }; diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ukUA.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ukUA.ts index 785311a0..6b09796d 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ukUA.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/i18n/ukUA.ts @@ -291,4 +291,5 @@ export const ukUA = { 'PIN code': 'PIN-код', 'Employee no': 'Співробітник №', 'Deactivate task': 'Деактивувати завдання', + Areas: 'Області', }; From 7c8b869985f0586f87f3060804a92d819f648b7e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Nov 2025 04:38:38 +0000 Subject: [PATCH 32/47] Initial plan From 347b6c28ecaed980d4aeb9bc3e213e7aa31e8760 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Nov 2025 04:44:18 +0000 Subject: [PATCH 33/47] Refactor report-table Actions column to use menu dropdown pattern Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com> --- .../report-table/report-table.component.html | 40 ++++++++++++++ .../report-table/report-table.component.ts | 53 ++----------------- 2 files changed, 44 insertions(+), 49 deletions(-) diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.html index 131941fb..0a95b6ad 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.html @@ -1,6 +1,9 @@ + + +
+ + + + + + + +
+
diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.ts index 74103e81..0e5d63a1 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.ts @@ -49,29 +49,8 @@ export class ReportTableComponent implements OnInit, OnChanges, OnDestroy { { header: this.translateService.stream('Actions'), field: 'actions', - type: 'button', - buttons: [ - { - tooltip: this.translateService.stream('View images'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onClickViewPicture(record.microtingSdkCaseId), - icon: 'image', - iif: (record: ReportEformItemModel) => record.imagesCount !== 0, - }, - { - tooltip: this.translateService.stream('Edit'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onClickEditCase(record.microtingSdkCaseId, record.eFormId, record.id), - icon: 'edit', - }, - { - tooltip: this.translateService.stream('Delete'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onShowDeletePlanningCaseModal(record), - color: 'warn', - icon: 'delete', - } - ] + width: '160px', + pinned: 'right', }, {header: this.translateService.stream('Employee no'), field: 'employeeNo'}, ]; @@ -87,29 +66,8 @@ export class ReportTableComponent implements OnInit, OnChanges, OnDestroy { { header: this.translateService.stream('Actions'), field: 'actions', - type: 'button', - buttons: [ - { - tooltip: this.translateService.stream('View images'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onClickViewPicture(record.microtingSdkCaseId), - icon: 'image', - iif: (record: ReportEformItemModel) => record.imagesCount !== 0, - }, - { - tooltip: this.translateService.stream('Edit'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onClickEditCase(record.microtingSdkCaseId, record.eFormId, record.id), - icon: 'edit', - }, - { - tooltip: this.translateService.stream('Delete'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onShowDeletePlanningCaseModal(record), - color: 'warn', - icon: 'delete', - } - ] + width: '160px', + pinned: 'right', }, {header: this.translateService.stream('Employee no'), field: 'employeeNo'}, ]; @@ -161,9 +119,6 @@ export class ReportTableComponent implements OnInit, OnChanges, OnDestroy { let isAdmin = false; this.selectAuthIsAdmin$.subscribe((selectAuthIsAdmin$) => isAdmin = selectAuthIsAdmin$); const tableHeaders = [...(isAdmin ? [...this.adminTableHeaders] : [...this.tableHeaders])]; - const index = tableHeaders - .findIndex(x => x.field === 'actions'); - tableHeaders[index].width = this.items.filter(x => x.imagesCount > 0).length > 0 ? '160px' : '110px'; this.mergedTableHeaders = [ ...tableHeaders, From 4c2d69288337356e3080eb898815702cf1dd8f97 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Nov 2025 04:48:16 +0000 Subject: [PATCH 34/47] Fix: Remove invalid color attribute from mat-menu-item Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com> --- .../reports/components/report-table/report-table.component.html | 1 - 1 file changed, 1 deletion(-) diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.html index 0a95b6ad..20fd988d 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/reports/components/report-table/report-table.component.html @@ -38,7 +38,6 @@ + + + + + + +
+ diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/components/reports/report-table/report-table.component.ts b/eform-client/src/app/plugins/modules/backend-configuration-pn/components/reports/report-table/report-table.component.ts index 28f21829..1aad37fd 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/components/reports/report-table/report-table.component.ts +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/components/reports/report-table/report-table.component.ts @@ -54,29 +54,8 @@ export class ReportTableComponent implements OnInit, OnChanges, OnDestroy { { header: this.translateService.stream('Actions'), field: 'actions', - type: 'button', - buttons: [ - { - tooltip: this.translateService.stream('View images'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onClickViewPicture(record.microtingSdkCaseId), - icon: 'image', - iif: (record: ReportEformItemModel) => record.imagesCount !== 0, - }, - { - tooltip: this.translateService.stream('Edit'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onClickEditCase(record.microtingSdkCaseId, record.eFormId, record.id), - icon: 'edit', - }, - { - tooltip: this.translateService.stream('Delete'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onShowDeletePlanningCaseModal(record), - color: 'warn', - icon: 'delete', - } - ] + width: '160px', + pinned: 'right', }, ]; adminTableHeaders: MtxGridColumn[] = [ @@ -96,29 +75,8 @@ export class ReportTableComponent implements OnInit, OnChanges, OnDestroy { { header: this.translateService.stream('Actions'), field: 'actions', - type: 'button', - buttons: [ - { - tooltip: this.translateService.stream('View images'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onClickViewPicture(record.microtingSdkCaseId), - icon: 'image', - iif: (record: ReportEformItemModel) => record.imagesCount !== 0, - }, - { - tooltip: this.translateService.stream('Edit'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onClickEditCase(record.microtingSdkCaseId, record.eFormId, record.id), - icon: 'edit', - }, - { - tooltip: this.translateService.stream('Delete'), - type: 'icon', - click: (record: ReportEformItemModel) => this.onShowDeletePlanningCaseModal(record), - color: 'warn', - icon: 'delete', - } - ] + width: '160px', + pinned: 'right', }, ]; mergedTableHeaders: MtxGridColumn[] = []; @@ -169,12 +127,8 @@ export class ReportTableComponent implements OnInit, OnChanges, OnDestroy { }; }); if (this.isAdmin) { - this.adminTableHeaders.find(x => x.field === 'actions').class = ((record: ReportEformItemModel, _) => - record ? `id-${record.id}` : '');//microtingSdkCaseId${record.microtingSdkCaseId}-eFormId${record.eFormId}- this.mergedTableHeaders = [...this.adminTableHeaders, ...itemHeaders]; } else { - this.tableHeaders.find(x => x.field === 'actions').class = ((record: ReportEformItemModel, _) => - record ? `id-${record.id}` : '');//microtingSdkCaseId${record.microtingSdkCaseId}-eFormId${record.eFormId}- this.mergedTableHeaders = [...this.tableHeaders, ...itemHeaders]; } } From 175bd6bfb6d2c6942e6ad1a1e3bb8f1b3c3ca9ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Fri, 7 Nov 2025 07:16:36 +0100 Subject: [PATCH 36/47] Changing the icons for menu entries. --- .../properties-table/properties-table.component.html | 4 ++-- .../area-rules-table/area-rules-table.component.html | 2 +- .../documents-folders/documents-folders.component.html | 2 +- .../documents-table/documents-table.component.html | 4 ++-- .../file-create/file-create.component.html | 2 +- .../components/files-table/files-table.component.html | 4 ++-- .../property-worker-table.component.html | 10 +++++----- .../task-management-table.component.html | 4 ++-- .../task-tracker-table.component.html | 2 +- .../task-wizard-table/task-wizard-table.component.html | 4 ++-- 10 files changed, 19 insertions(+), 19 deletions(-) diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/components/properties/properties-page/properties-table/properties-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/components/properties/properties-page/properties-table/properties-table.component.html index 6648585b..473c2d93 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/components/properties/properties-page/properties-table/properties-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/components/properties/properties-page/properties-table/properties-table.component.html @@ -102,7 +102,7 @@ (click)="onShowEditPropertyModal(row)" [disabled]="!authStateService.checkClaim('property_edit') && (selectAuthIsAdmin$ | async) !== true" > - edit + edit_square {{ 'Edit property' | translate }} diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html index 1b6a22e8..b5895a27 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/area-rules/components/area-rules-table/area-rules-table.component.html @@ -85,7 +85,7 @@

{{'Pools' | translate}}

matTooltip="{{ 'Edit rule' | translate }}" (click)="onShowEditRuleModal(row)" [disabled]="row.planningStatus"> - edit + edit_square @@ -82,7 +82,7 @@ id="deleteDocumentBtn-{{i}}" (click)="onOpenDeleteModal(row)" > - delete + delete {{ 'Delete document' | translate }} diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-actions/file-create/file-create.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-actions/file-create/file-create.component.html index eeab3656..c9c419e1 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-actions/file-create/file-create.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/files/components/files-actions/file-create/file-create.component.html @@ -94,7 +94,7 @@ - +
@@ -114,7 +114,7 @@ class="deleteFileBtn" (click)="onOpenDeleteModal(row)" > - delete + delete {{ 'Delete file' | translate }} diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/property-workers/components/property-worker-table/property-worker-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/property-workers/components/property-worker-table/property-worker-table.component.html index ccfdf702..652a6a53 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/property-workers/components/property-worker-table/property-worker-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/property-workers/components/property-worker-table/property-worker-table.component.html @@ -110,7 +110,7 @@ matTooltip="{{ 'New OTP' | translate }}" (click)="openOtpModal(row)" > - key + key N/A @@ -133,7 +133,7 @@ id="editAssignmentsBtn-{{i}}" [routerLink]="['/plugins/backend-configuration-pn/task-worker-assignments/' + row.siteId]" > - visibility + visibility {{ 'Show assignments' | translate }} @@ -164,7 +164,7 @@
- phone_iphone + ios {{ row.model }} ({{ row.osVersion }})
diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.html index e62780a4..0f42e075 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-management/components/task-management-table/task-management-table.component.html @@ -69,7 +69,7 @@ class="taskManagementViewBtn" (click)="onOpenViewModal(row.id)" > - edit + edit_square {{ 'Edit task' | translate }} diff --git a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html index 4a10b5a9..484c2b8c 100644 --- a/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html +++ b/eform-client/src/app/plugins/modules/backend-configuration-pn/modules/task-tracker/components/task-tracker-table/task-tracker-table.component.html @@ -36,7 +36,7 @@ id="editTaskBtn-{{i}}" (click)="redirectToCompliance(row)" > - edit + edit_square {{ 'Edit' | translate }} @@ -116,7 +116,7 @@ id="deleteTaskBtn-{{i}}" (click)="deleteTask.emit(row)" > - delete + delete {{ 'Delete task' | translate }} From bb0c59e07b2ca16f72d888fd6b4ef32ec70888d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Sun, 9 Nov 2025 17:00:13 +0100 Subject: [PATCH 37/47] closes # --- .../BackendConfiguration.Pn/BackendConfiguration.Pn.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj index 21e9275d..2da68f11 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj @@ -219,7 +219,7 @@ - + From 28d504ad6c1df53d3fff1eee15a2e34810cdd58f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Sun, 9 Nov 2025 17:00:20 +0100 Subject: [PATCH 38/47] closes # --- .../BackendConfiguration.Pn/BackendConfiguration.Pn.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj index 2da68f11..76eeb516 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj @@ -221,7 +221,7 @@ - + From bef732bd5576211350b8403fe89fe56a6f37d899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Sun, 9 Nov 2025 17:00:26 +0100 Subject: [PATCH 39/47] closes # --- .../BackendConfiguration.Pn/BackendConfiguration.Pn.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj index 76eeb516..d799d422 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj @@ -223,7 +223,7 @@ - + From ca1c642f28daca3608bba0ea2a256d0289027d1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Sun, 9 Nov 2025 17:00:33 +0100 Subject: [PATCH 40/47] closes # --- .../BackendConfiguration.Pn/BackendConfiguration.Pn.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj index d799d422..fc32b9c2 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj @@ -225,7 +225,7 @@ - + From 8b05de8c8b02c7710cc66f608dbd003f5b865f69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Sun, 9 Nov 2025 17:00:40 +0100 Subject: [PATCH 41/47] closes # --- .../BackendConfiguration.Pn/BackendConfiguration.Pn.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj index fc32b9c2..ee8cf26f 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj @@ -226,7 +226,7 @@ - + From e61292a59bb4511af232fb7b46d5ddef1d13a7d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Sun, 9 Nov 2025 17:00:46 +0100 Subject: [PATCH 42/47] closes # --- .../BackendConfiguration.Pn/BackendConfiguration.Pn.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj index ee8cf26f..22e1b05d 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj @@ -220,7 +220,7 @@ - + From f9a01eb1479aa6625753b36748099afb0393040e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Schultz=20Madsen?= Date: Sun, 9 Nov 2025 17:00:53 +0100 Subject: [PATCH 43/47] closes # --- .../BackendConfiguration.Pn/BackendConfiguration.Pn.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj index 22e1b05d..20bc50d3 100644 --- a/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj +++ b/eFormAPI/Plugins/BackendConfiguration.Pn/BackendConfiguration.Pn/BackendConfiguration.Pn.csproj @@ -224,7 +224,7 @@ - + From b2d7b15102c0d3ffc6326f10d03d8d6e106750be Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Nov 2025 05:01:14 +0000 Subject: [PATCH 44/47] Initial plan From df0ec73073c63ff54b11117881eb3d7c35965227 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Nov 2025 05:06:15 +0000 Subject: [PATCH 45/47] Update WDIO test to use action menu for plugin activation Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com> --- .../application-settings.plugins-page.spec.ts | 84 ++++++++++++++++--- 1 file changed, 71 insertions(+), 13 deletions(-) diff --git a/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts b/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts index 1cc61eeb..2418b7fd 100644 --- a/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts @@ -3,6 +3,7 @@ import myEformsPage from '../../Page objects/MyEforms.page'; import pluginPage from '../../Page objects/Plugin.page'; import { expect } from 'chai'; +import { $ } from '@wdio/globals'; describe('Application settings page - site header section', function () { before(async () => { @@ -17,47 +18,104 @@ describe('Application settings page - site header section', function () { }); it('should activate the plugin', async () => { - let plugin = await pluginPage.getFirstPluginRowObj(); - for (let i = 1; i < 10; i++) { + // Helper function to activate a plugin by index using action menu + const activatePlugin = async (index: number, pluginName: string) => { + // Open action menu + const actionMenuBtn = await $(`#action-items-${index}`).$('#actionMenu'); + await actionMenuBtn.waitForDisplayed({ timeout: 40000 }); + await actionMenuBtn.waitForClickable({ timeout: 40000 }); + await actionMenuBtn.click(); + await browser.pause(500); + + // Click on the status button inside the menu + const statusBtn = await $(`#plugin-status-button${index}`); + await statusBtn.waitForDisplayed({ timeout: 40000 }); + await statusBtn.waitForClickable({ timeout: 40000 }); + await statusBtn.click(); + await browser.pause(500); + + // Confirm activation in the modal + const pluginOKBtn = await $('#pluginOKBtn'); + await pluginOKBtn.waitForDisplayed({ timeout: 40000 }); + await pluginOKBtn.click(); + await browser.pause(100000); // We need to wait 100 seconds for the plugin to create db etc. + + // Re-login and navigate back to plugins page + await loginPage.open('/'); + await loginPage.login(); + await myEformsPage.Navbar.goToPluginsPage(); + await browser.pause(500); + }; + + // Helper function to check plugin status via action menu + const checkPluginStatus = async (index: number, expectedStatus: string, pluginName: string) => { + // Open action menu + const actionMenuBtn = await $(`#action-items-${index}`).$('#actionMenu'); + await actionMenuBtn.waitForDisplayed({ timeout: 40000 }); + await actionMenuBtn.waitForClickable({ timeout: 40000 }); + await actionMenuBtn.click(); + await browser.pause(500); + + // Check status + const statusBtn = await $(`#plugin-status-button${index}`); + await statusBtn.waitForDisplayed({ timeout: 40000 }); + const statusIcon = await statusBtn.$('mat-icon'); + const status = await statusIcon.getText(); + expect(status, `${pluginName} status is not ${expectedStatus}`).eq(expectedStatus); + + // Close the menu + await browser.keys(['Escape']); + await browser.pause(300); + }; + + // Find and activate Microting Items Planning Plugin + for (let i = 0; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Items Planning Plugin') { - await plugin.enableOrDisablePlugin(); + await activatePlugin(i, plugin.name); break; } } - for (let i = 1; i < 10; i++) { + + // Find and activate Microting Time Planning Plugin + for (let i = 0; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Time Planning Plugin') { - await plugin.enableOrDisablePlugin(); + await activatePlugin(i, plugin.name); break; } } - for (let i = 1; i < 10; i++) { + + // Find and activate Microting Backend Configuration Plugin + for (let i = 0; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Backend Configuration Plugin') { - await plugin.enableOrDisablePlugin(); + await activatePlugin(i, plugin.name); break; } } - for (let i = 1; i < 10; i++) { + // Verify all plugins are activated + for (let i = 0; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Items Planning Plugin') { - expect(plugin.status, 'Microting Items Planning Plugin is not enabled').eq('toggle_on'); + await checkPluginStatus(i, 'toggle_on', plugin.name); break; } } - for (let i = 1; i < 10; i++) { + + for (let i = 0; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Time Planning Plugin') { - expect(plugin.status, 'Microting Time Planning Plugin is not enabled').eq('toggle_on'); + await checkPluginStatus(i, 'toggle_on', plugin.name); break; } } - for (let i = 1; i < 10; i++) { + + for (let i = 0; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Backend Configuration Plugin') { - expect(plugin.status, 'Microting Backend Configuration Plugin is not enabled').eq('toggle_on'); + await checkPluginStatus(i, 'toggle_on', plugin.name); break; } } From 2917cda08b6ae85179c7b3b987a73f507451d83e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Nov 2025 06:12:31 +0000 Subject: [PATCH 46/47] Fix loop indices to start from 1 instead of 0 Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com> --- .../application-settings.plugins-page.spec.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts b/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts index 2418b7fd..07d021e4 100644 --- a/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts @@ -69,7 +69,7 @@ describe('Application settings page - site header section', function () { }; // Find and activate Microting Items Planning Plugin - for (let i = 0; i < 10; i++) { + for (let i = 1; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Items Planning Plugin') { await activatePlugin(i, plugin.name); @@ -78,7 +78,7 @@ describe('Application settings page - site header section', function () { } // Find and activate Microting Time Planning Plugin - for (let i = 0; i < 10; i++) { + for (let i = 1; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Time Planning Plugin') { await activatePlugin(i, plugin.name); @@ -87,7 +87,7 @@ describe('Application settings page - site header section', function () { } // Find and activate Microting Backend Configuration Plugin - for (let i = 0; i < 10; i++) { + for (let i = 1; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Backend Configuration Plugin') { await activatePlugin(i, plugin.name); @@ -96,7 +96,7 @@ describe('Application settings page - site header section', function () { } // Verify all plugins are activated - for (let i = 0; i < 10; i++) { + for (let i = 1; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Items Planning Plugin') { await checkPluginStatus(i, 'toggle_on', plugin.name); @@ -104,7 +104,7 @@ describe('Application settings page - site header section', function () { } } - for (let i = 0; i < 10; i++) { + for (let i = 1; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Time Planning Plugin') { await checkPluginStatus(i, 'toggle_on', plugin.name); @@ -112,7 +112,7 @@ describe('Application settings page - site header section', function () { } } - for (let i = 0; i < 10; i++) { + for (let i = 1; i < 10; i++) { const plugin = await pluginPage.getPluginRowObjByIndex(i); if (plugin.name === 'Microting Backend Configuration Plugin') { await checkPluginStatus(i, 'toggle_on', plugin.name); From 56ff223856c354082616eda49ca27eeb110a45c9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 14 Nov 2025 06:46:16 +0000 Subject: [PATCH 47/47] Fix index mapping: subtract 1 for HTML element selectors Co-authored-by: renemadsen <76994+renemadsen@users.noreply.github.com> --- .../application-settings.plugins-page.spec.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts b/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts index 07d021e4..ac5729b3 100644 --- a/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts +++ b/eform-client/e2e/Tests/backend-configuration-settings/application-settings.plugins-page.spec.ts @@ -21,14 +21,14 @@ describe('Application settings page - site header section', function () { // Helper function to activate a plugin by index using action menu const activatePlugin = async (index: number, pluginName: string) => { // Open action menu - const actionMenuBtn = await $(`#action-items-${index}`).$('#actionMenu'); + const actionMenuBtn = await $(`#action-items-${index - 1}`).$('#actionMenu'); await actionMenuBtn.waitForDisplayed({ timeout: 40000 }); await actionMenuBtn.waitForClickable({ timeout: 40000 }); await actionMenuBtn.click(); await browser.pause(500); // Click on the status button inside the menu - const statusBtn = await $(`#plugin-status-button${index}`); + const statusBtn = await $(`#plugin-status-button${index - 1}`); await statusBtn.waitForDisplayed({ timeout: 40000 }); await statusBtn.waitForClickable({ timeout: 40000 }); await statusBtn.click(); @@ -50,14 +50,14 @@ describe('Application settings page - site header section', function () { // Helper function to check plugin status via action menu const checkPluginStatus = async (index: number, expectedStatus: string, pluginName: string) => { // Open action menu - const actionMenuBtn = await $(`#action-items-${index}`).$('#actionMenu'); + const actionMenuBtn = await $(`#action-items-${index - 1}`).$('#actionMenu'); await actionMenuBtn.waitForDisplayed({ timeout: 40000 }); await actionMenuBtn.waitForClickable({ timeout: 40000 }); await actionMenuBtn.click(); await browser.pause(500); // Check status - const statusBtn = await $(`#plugin-status-button${index}`); + const statusBtn = await $(`#plugin-status-button${index - 1}`); await statusBtn.waitForDisplayed({ timeout: 40000 }); const statusIcon = await statusBtn.$('mat-icon'); const status = await statusIcon.getText();