Compare commits
3 Commits
579b2cba06
...
b45bff4452
Author | SHA1 | Date |
---|---|---|
Efstratios Giannopoulos | b45bff4452 | |
Efstratios Giannopoulos | 9a455ad873 | |
Efstratios Giannopoulos | 9ec90d6c8d |
|
@ -1,5 +1,6 @@
|
||||||
package org.opencdmp.data;
|
package org.opencdmp.data;
|
||||||
|
|
||||||
|
import jakarta.persistence.*;
|
||||||
import org.opencdmp.commons.enums.DmpAccessType;
|
import org.opencdmp.commons.enums.DmpAccessType;
|
||||||
import org.opencdmp.commons.enums.DmpStatus;
|
import org.opencdmp.commons.enums.DmpStatus;
|
||||||
import org.opencdmp.commons.enums.DmpVersionStatus;
|
import org.opencdmp.commons.enums.DmpVersionStatus;
|
||||||
|
@ -9,7 +10,6 @@ import org.opencdmp.data.converters.enums.DmpStatusConverter;
|
||||||
import org.opencdmp.data.converters.enums.DmpVersionStatusConverter;
|
import org.opencdmp.data.converters.enums.DmpVersionStatusConverter;
|
||||||
import org.opencdmp.data.converters.enums.IsActiveConverter;
|
import org.opencdmp.data.converters.enums.IsActiveConverter;
|
||||||
import org.opencdmp.data.tenant.TenantScopedBaseEntity;
|
import org.opencdmp.data.tenant.TenantScopedBaseEntity;
|
||||||
import jakarta.persistence.*;
|
|
||||||
|
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
@ -110,7 +110,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
public static final String _publicAfter = "publicAfter";
|
public static final String _publicAfter = "publicAfter";
|
||||||
|
|
||||||
public UUID getId() {
|
public UUID getId() {
|
||||||
return id;
|
return this.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setId(UUID id) {
|
public void setId(UUID id) {
|
||||||
|
@ -118,7 +118,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLabel() {
|
public String getLabel() {
|
||||||
return label;
|
return this.label;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLabel(String label) {
|
public void setLabel(String label) {
|
||||||
|
@ -126,7 +126,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Short getVersion() {
|
public Short getVersion() {
|
||||||
return version;
|
return this.version;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setVersion(Short version) {
|
public void setVersion(Short version) {
|
||||||
|
@ -134,7 +134,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public DmpStatus getStatus() {
|
public DmpStatus getStatus() {
|
||||||
return status;
|
return this.status;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setStatus(DmpStatus status) {
|
public void setStatus(DmpStatus status) {
|
||||||
|
@ -142,7 +142,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getProperties() {
|
public String getProperties() {
|
||||||
return properties;
|
return this.properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setProperties(String properties) {
|
public void setProperties(String properties) {
|
||||||
|
@ -150,7 +150,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public UUID getGroupId() {
|
public UUID getGroupId() {
|
||||||
return groupId;
|
return this.groupId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setGroupId(UUID groupId) {
|
public void setGroupId(UUID groupId) {
|
||||||
|
@ -158,7 +158,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return description;
|
return this.description;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDescription(String description) {
|
public void setDescription(String description) {
|
||||||
|
@ -166,7 +166,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Instant getCreatedAt() {
|
public Instant getCreatedAt() {
|
||||||
return createdAt;
|
return this.createdAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCreatedAt(Instant createdAt) {
|
public void setCreatedAt(Instant createdAt) {
|
||||||
|
@ -174,7 +174,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Instant getUpdatedAt() {
|
public Instant getUpdatedAt() {
|
||||||
return updatedAt;
|
return this.updatedAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setUpdatedAt(Instant updatedAt) {
|
public void setUpdatedAt(Instant updatedAt) {
|
||||||
|
@ -182,7 +182,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public IsActive getIsActive() {
|
public IsActive getIsActive() {
|
||||||
return isActive;
|
return this.isActive;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setIsActive(IsActive isActive) {
|
public void setIsActive(IsActive isActive) {
|
||||||
|
@ -190,7 +190,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Instant getFinalizedAt() {
|
public Instant getFinalizedAt() {
|
||||||
return finalizedAt;
|
return this.finalizedAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFinalizedAt(Instant finalizedAt) {
|
public void setFinalizedAt(Instant finalizedAt) {
|
||||||
|
@ -198,7 +198,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public UUID getCreatorId() {
|
public UUID getCreatorId() {
|
||||||
return creatorId;
|
return this.creatorId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setCreatorId(UUID creatorId) {
|
public void setCreatorId(UUID creatorId) {
|
||||||
|
@ -206,7 +206,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public DmpAccessType getAccessType() {
|
public DmpAccessType getAccessType() {
|
||||||
return accessType;
|
return this.accessType;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setAccessType(DmpAccessType accessType) {
|
public void setAccessType(DmpAccessType accessType) {
|
||||||
|
@ -214,7 +214,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public UUID getBlueprintId() {
|
public UUID getBlueprintId() {
|
||||||
return blueprintId;
|
return this.blueprintId;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setBlueprintId(UUID blueprintId) {
|
public void setBlueprintId(UUID blueprintId) {
|
||||||
|
@ -222,7 +222,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getLanguage() {
|
public String getLanguage() {
|
||||||
return language;
|
return this.language;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setLanguage(String language) {
|
public void setLanguage(String language) {
|
||||||
|
@ -230,7 +230,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Instant getPublicAfter() {
|
public Instant getPublicAfter() {
|
||||||
return publicAfter;
|
return this.publicAfter;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setPublicAfter(Instant publicAfter) {
|
public void setPublicAfter(Instant publicAfter) {
|
||||||
|
@ -238,7 +238,7 @@ public class DmpEntity extends TenantScopedBaseEntity {
|
||||||
}
|
}
|
||||||
|
|
||||||
public DmpVersionStatus getVersionStatus() {
|
public DmpVersionStatus getVersionStatus() {
|
||||||
return versionStatus;
|
return this.versionStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setVersionStatus(DmpVersionStatus versionStatus) {
|
public void setVersionStatus(DmpVersionStatus versionStatus) {
|
||||||
|
|
|
@ -97,6 +97,10 @@ public class OutboxProperties {
|
||||||
return this.handleAckWaitInMilliSeconds;
|
return this.handleAckWaitInMilliSeconds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getHandleNackWaitInMilliSeconds() {
|
||||||
|
return this.handleNackWaitInMilliSeconds;
|
||||||
|
}
|
||||||
|
|
||||||
public String getTenantDefaultLocaleRemovalTopic() {
|
public String getTenantDefaultLocaleRemovalTopic() {
|
||||||
return this.tenantDefaultLocaleRemovalTopic;
|
return this.tenantDefaultLocaleRemovalTopic;
|
||||||
}
|
}
|
||||||
|
|
|
@ -382,7 +382,7 @@ public class OutboxRepositoryImpl implements OutboxRepository {
|
||||||
} catch (OptimisticLockException ex) {
|
} catch (OptimisticLockException ex) {
|
||||||
logger.warn("Problem handle nack {}. Rolling back any message emit db changes and marking error. Retrying...", nackedMessages.stream().map(UUID::toString).collect(Collectors.joining(",")));
|
logger.warn("Problem handle nack {}. Rolling back any message emit db changes and marking error. Retrying...", nackedMessages.stream().map(UUID::toString).collect(Collectors.joining(",")));
|
||||||
if (transaction != null) transaction.rollback();
|
if (transaction != null) transaction.rollback();
|
||||||
Thread.sleep(this.outboxProperties.getHandleNackRetries());
|
Thread.sleep(this.outboxProperties.getHandleNackWaitInMilliSeconds());
|
||||||
} catch (Exception ex) {
|
} catch (Exception ex) {
|
||||||
logger.error("Problem executing purge. rolling back any db changes and marking error. Continuing...", ex);
|
logger.error("Problem executing purge. rolling back any db changes and marking error. Continuing...", ex);
|
||||||
if (transaction != null) transaction.rollback();
|
if (transaction != null) transaction.rollback();
|
||||||
|
|
|
@ -2,4 +2,5 @@ export enum RecentActivityOrder {
|
||||||
UpdatedAt = 0,
|
UpdatedAt = 0,
|
||||||
Label = 1,
|
Label = 1,
|
||||||
Status = 2,
|
Status = 2,
|
||||||
|
PublishedAt = 3,
|
||||||
}
|
}
|
||||||
|
|
|
@ -230,6 +230,7 @@ export class EnumUtils {
|
||||||
case RecentActivityOrder.Label: return this.language.instant('TYPES.RECENT-ACTIVITY-ORDER.LABEL');
|
case RecentActivityOrder.Label: return this.language.instant('TYPES.RECENT-ACTIVITY-ORDER.LABEL');
|
||||||
case RecentActivityOrder.UpdatedAt: return this.language.instant('TYPES.RECENT-ACTIVITY-ORDER.MODIFIED');
|
case RecentActivityOrder.UpdatedAt: return this.language.instant('TYPES.RECENT-ACTIVITY-ORDER.MODIFIED');
|
||||||
case RecentActivityOrder.Status: return this.language.instant('TYPES.RECENT-ACTIVITY-ORDER.STATUS');
|
case RecentActivityOrder.Status: return this.language.instant('TYPES.RECENT-ACTIVITY-ORDER.STATUS');
|
||||||
|
case RecentActivityOrder.PublishedAt: return this.language.instant('TYPES.RECENT-ACTIVITY-ORDER.PUBLISHED-AT');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div *ngIf="listingItems && listingItems.length > 0 || lookup.like || lookup.descriptionTemplateSubQuery || lookup.dmpSubQuery || lookup.descriptionTagSubQuery || lookup.descriptionReferenceSubQuery"
|
<div *ngIf="listingItems && listingItems.length > 0 || lookup.like || lookup.descriptionTemplateSubQuery || lookup.dmpSubQuery || lookup.descriptionTagSubQuery || lookup.descriptionReferenceSubQuery"
|
||||||
class="filter-btn" [style.right]="dialog.getDialogById('filters') ? '446px' : '0px'" [style.width]="listingItems.length > 2 ? '57px' : '37px'" (click)="openFiltersDialog()">
|
class="filter-btn" [style.right]="dialog.getDialogById('filters') ? '446px' : '0px'" [style.width]="listingItems.length > 2 ? '57px' : '37px'" (click)="openFiltersDialog()">
|
||||||
<button mat-raised-button class="p-0" [matBadge]="filtersCount" [matBadgeHidden]="!hasFilters" matBadgePosition="before">
|
<button mat-raised-button class="p-0" [matBadge]="filtersCount" [matBadgeHidden]="!hasFilters" matBadgePosition="before">
|
||||||
<mat-icon class="mr-4 filter-icon">filter_alt</mat-icon>
|
<mat-icon class="mr-4 filter-icon">filter_alt</mat-icon>
|
||||||
|
@ -46,6 +46,7 @@
|
||||||
<mat-form-field class="sort-form w-100">
|
<mat-form-field class="sort-form w-100">
|
||||||
<mat-select placeholder="{{'GENERAL.CRITERIA.LIKE'| translate}}" [formControl]="formGroup.get('order')" (selectionChange)="orderByChanged()">
|
<mat-select placeholder="{{'GENERAL.CRITERIA.LIKE'| translate}}" [formControl]="formGroup.get('order')" (selectionChange)="orderByChanged()">
|
||||||
<mat-option *ngIf="!isPublic" [value]="order.UpdatedAt">{{enumUtils.toRecentActivityOrderString(order.UpdatedAt)}}</mat-option>
|
<mat-option *ngIf="!isPublic" [value]="order.UpdatedAt">{{enumUtils.toRecentActivityOrderString(order.UpdatedAt)}}</mat-option>
|
||||||
|
<mat-option *ngIf="isPublic" [value]="order.PublishedAt">{{enumUtils.toRecentActivityOrderString(order.PublishedAt)}}</mat-option>
|
||||||
<mat-option [value]="order.Label">{{enumUtils.toRecentActivityOrderString(order.Label)}}</mat-option>
|
<mat-option [value]="order.Label">{{enumUtils.toRecentActivityOrderString(order.Label)}}</mat-option>
|
||||||
<mat-option *ngIf="!isPublic" [value]="order.Status">{{enumUtils.toRecentActivityOrderString(order.Status)}}</mat-option>
|
<mat-option *ngIf="!isPublic" [value]="order.Status">{{enumUtils.toRecentActivityOrderString(order.Status)}}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
|
@ -55,7 +56,7 @@
|
||||||
<button mat-icon-button (click)="toggleSortDirection()" [matTooltip]="sortingTooltipText">
|
<button mat-icon-button (click)="toggleSortDirection()" [matTooltip]="sortingTooltipText">
|
||||||
<mat-icon *ngIf="isAscending">keyboard_double_arrow_up</mat-icon>
|
<mat-icon *ngIf="isAscending">keyboard_double_arrow_up</mat-icon>
|
||||||
<mat-icon *ngIf="isDescending">keyboard_double_arrow_down</mat-icon>
|
<mat-icon *ngIf="isDescending">keyboard_double_arrow_down</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<!-- End of Sort by -->
|
<!-- End of Sort by -->
|
||||||
<div class="col-12 col-xl-auto ml-auto order-4">
|
<div class="col-12 col-xl-auto ml-auto order-4">
|
||||||
|
|
|
@ -94,9 +94,9 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
return this.listingItems != null && this.listingItems.length > 0;
|
return this.listingItems != null && this.listingItems.length > 0;
|
||||||
}
|
}
|
||||||
get hasFilters(): boolean {
|
get hasFilters(): boolean {
|
||||||
return (this.lookup.like != null && this.lookup.like != '') || this.lookup.statuses != null ||
|
return (this.lookup.like != null && this.lookup.like != '') || this.lookup.statuses != null ||
|
||||||
this.lookup.dmpSubQuery != null || this.lookup.descriptionTemplateSubQuery != null ||
|
this.lookup.dmpSubQuery != null || this.lookup.descriptionTemplateSubQuery != null ||
|
||||||
this.lookup.descriptionTagSubQuery != null || this.lookup.descriptionReferenceSubQuery != null;
|
this.lookup.descriptionTagSubQuery != null || this.lookup.descriptionReferenceSubQuery != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
@ -139,7 +139,7 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
referenceIds: this.lookup?.descriptionReferenceSubQuery?.referenceIds ?? [],
|
referenceIds: this.lookup?.descriptionReferenceSubQuery?.referenceIds ?? [],
|
||||||
}];
|
}];
|
||||||
this.filtersCount = this._countFilters(this.lookup);
|
this.filtersCount = this._countFilters(this.lookup);
|
||||||
}
|
}
|
||||||
else if (!this.lookup) this.lookup = this.initializeLookup();
|
else if (!this.lookup) this.lookup = this.initializeLookup();
|
||||||
|
|
||||||
|
|
||||||
|
@ -151,7 +151,7 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
this.formGroup.get('order').setValue(this._getRecentActivityOrder(sortBy));
|
this.formGroup.get('order').setValue(this._getRecentActivityOrder(sortBy));
|
||||||
ordering.charAt(0) == '-' ? this.sortDirection = SortDirection.Descending : this.sortDirection = SortDirection.Ascending;
|
ordering.charAt(0) == '-' ? this.sortDirection = SortDirection.Descending : this.sortDirection = SortDirection.Ascending;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.onPageLoad({ offset: this.lookup.page.offset / this.lookup.page.size } as PageLoadEvent);
|
this.onPageLoad({ offset: this.lookup.page.offset / this.lookup.page.size } as PageLoadEvent);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -191,10 +191,10 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
lookup.metadata = { countAll: true };
|
lookup.metadata = { countAll: true };
|
||||||
lookup.page = { offset: 0, size: this.ITEMS_PER_PAGE };
|
lookup.page = { offset: 0, size: this.ITEMS_PER_PAGE };
|
||||||
lookup.isActive = [IsActive.Active];
|
lookup.isActive = [IsActive.Active];
|
||||||
|
|
||||||
let recentActivityOrder = this.isPublic ? this.toAscSortField(nameof<Description>(x => x.label)) : this.toDescSortField(nameof<Description>(x => x.updatedAt));
|
let recentActivityOrder = this.isPublic ? this.toDescSortField(nameof<Description>(x => x.finalizedAt)) : this.toDescSortField(nameof<Description>(x => x.updatedAt));
|
||||||
lookup.order = { items: [recentActivityOrder] };
|
lookup.order = { items: [recentActivityOrder] };
|
||||||
|
|
||||||
this.updateOrderUiFields(lookup.order);
|
this.updateOrderUiFields(lookup.order);
|
||||||
|
|
||||||
lookup.project = {
|
lookup.project = {
|
||||||
|
@ -247,7 +247,9 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.status)] };
|
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.status)] };
|
||||||
} else if (this.formGroup.get('order').value == RecentActivityOrder.Label) {
|
} else if (this.formGroup.get('order').value == RecentActivityOrder.Label) {
|
||||||
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.label)] };
|
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.label)] };
|
||||||
} else {
|
} else if (this.formGroup.get('order').value == RecentActivityOrder.PublishedAt) {
|
||||||
|
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.finalizedAt)] };
|
||||||
|
}else {
|
||||||
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.updatedAt)] };
|
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.updatedAt)] };
|
||||||
}
|
}
|
||||||
this.filterChanged(this.lookup);
|
this.filterChanged(this.lookup);
|
||||||
|
@ -371,6 +373,7 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
switch (recentActivityOrderValue) {
|
switch (recentActivityOrderValue) {
|
||||||
case nameof<Description>(x => x.updatedAt): return RecentActivityOrder.UpdatedAt;
|
case nameof<Description>(x => x.updatedAt): return RecentActivityOrder.UpdatedAt;
|
||||||
case nameof<Description>(x => x.label): return RecentActivityOrder.Label;
|
case nameof<Description>(x => x.label): return RecentActivityOrder.Label;
|
||||||
|
case nameof<Description>(x => x.finalizedAt): return RecentActivityOrder.PublishedAt;
|
||||||
case nameof<Description>(x => x.status): return RecentActivityOrder.Status;
|
case nameof<Description>(x => x.status): return RecentActivityOrder.Status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -379,7 +382,7 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
if (!formGroup) return;
|
if (!formGroup) return;
|
||||||
|
|
||||||
lookup.statuses = formGroup.get("status")?.value !== null ? [formGroup.get("status")?.value] : null;
|
lookup.statuses = formGroup.get("status")?.value !== null ? [formGroup.get("status")?.value] : null;
|
||||||
|
|
||||||
// Description Templates
|
// Description Templates
|
||||||
let descriptionTemplates = formGroup.get("descriptionTemplates")?.value ?? null;
|
let descriptionTemplates = formGroup.get("descriptionTemplates")?.value ?? null;
|
||||||
if (descriptionTemplates && descriptionTemplates?.length > 0) {
|
if (descriptionTemplates && descriptionTemplates?.length > 0) {
|
||||||
|
@ -392,7 +395,7 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
let roles = formGroup.get("role")?.value !== null ? [formGroup.get("role")?.value] : null; let addRoles = roles && roles?.length > 0;
|
let roles = formGroup.get("role")?.value !== null ? [formGroup.get("role")?.value] : null; let addRoles = roles && roles?.length > 0;
|
||||||
if (addDmps || addRoles) {
|
if (addDmps || addRoles) {
|
||||||
lookup.dmpSubQuery = DescriptionFilterService.initializeDmpLookup();
|
lookup.dmpSubQuery = DescriptionFilterService.initializeDmpLookup();
|
||||||
|
|
||||||
if (addDmps) lookup.dmpSubQuery.ids = dmps?.length > 0 ? dmps : null;
|
if (addDmps) lookup.dmpSubQuery.ids = dmps?.length > 0 ? dmps : null;
|
||||||
|
|
||||||
if (addRoles) {
|
if (addRoles) {
|
||||||
|
@ -420,7 +423,7 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
|
|
||||||
return lookup;
|
return lookup;
|
||||||
}
|
}
|
||||||
|
|
||||||
_patchReferenceFiltersFromForm(formGroup: UntypedFormGroup): ReferencesWithType[] {
|
_patchReferenceFiltersFromForm(formGroup: UntypedFormGroup): ReferencesWithType[] {
|
||||||
return formGroup?.get("references")?.value?.filter(( referencesWithType: ReferencesWithType ) => referencesWithType.referenceTypeId != null && referencesWithType.referenceIds?.length > 0) ?? null;
|
return formGroup?.get("references")?.value?.filter(( referencesWithType: ReferencesWithType ) => referencesWithType.referenceTypeId != null && referencesWithType.referenceIds?.length > 0) ?? null;
|
||||||
}
|
}
|
||||||
|
@ -438,18 +441,18 @@ export class DescriptionListingComponent extends BaseListingComponent<BaseDescri
|
||||||
private _countFilters(lookup: DescriptionLookup): number {
|
private _countFilters(lookup: DescriptionLookup): number {
|
||||||
let count = 0;
|
let count = 0;
|
||||||
|
|
||||||
if (lookup.statuses) count += lookup.statuses.length;
|
if (lookup.statuses) count += lookup.statuses.length;
|
||||||
if (lookup.descriptionTemplateSubQuery) count += lookup.descriptionTemplateSubQuery.ids?.length;
|
if (lookup.descriptionTemplateSubQuery) count += lookup.descriptionTemplateSubQuery.ids?.length;
|
||||||
if (lookup.descriptionTagSubQuery) count += lookup.descriptionTagSubQuery.tagIds?.length;
|
if (lookup.descriptionTagSubQuery) count += lookup.descriptionTagSubQuery.tagIds?.length;
|
||||||
if (lookup.dmpSubQuery) {
|
if (lookup.dmpSubQuery) {
|
||||||
if (lookup.dmpSubQuery.ids) count += lookup.dmpSubQuery.ids?.length;
|
if (lookup.dmpSubQuery.ids) count += lookup.dmpSubQuery.ids?.length;
|
||||||
if (lookup.dmpSubQuery.dmpUserSubQuery) count += lookup.dmpSubQuery.dmpUserSubQuery.userRoles?.length;
|
if (lookup.dmpSubQuery.dmpUserSubQuery) count += lookup.dmpSubQuery.dmpUserSubQuery.userRoles?.length;
|
||||||
}
|
}
|
||||||
if (lookup.descriptionReferenceSubQuery) count += lookup.descriptionReferenceSubQuery.referenceIds?.length;
|
if (lookup.descriptionReferenceSubQuery) count += lookup.descriptionReferenceSubQuery.referenceIds?.length;
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
private get _lookupFields(): string[] {
|
private get _lookupFields(): string[] {
|
||||||
return [
|
return [
|
||||||
nameof<Description>(x => x.id),
|
nameof<Description>(x => x.id),
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
<mat-form-field class="sort-form w-100">
|
<mat-form-field class="sort-form w-100">
|
||||||
<mat-select placeholder="{{'GENERAL.CRITERIA.LIKE'| translate}}" [formControl]="formGroup.get('order')" (selectionChange)="orderByChanged()">
|
<mat-select placeholder="{{'GENERAL.CRITERIA.LIKE'| translate}}" [formControl]="formGroup.get('order')" (selectionChange)="orderByChanged()">
|
||||||
<mat-option *ngIf="!isPublic" [value]="order.UpdatedAt">{{enumUtils.toRecentActivityOrderString(order.UpdatedAt)}}</mat-option>
|
<mat-option *ngIf="!isPublic" [value]="order.UpdatedAt">{{enumUtils.toRecentActivityOrderString(order.UpdatedAt)}}</mat-option>
|
||||||
<!-- <mat-option *ngIf="isPublic" [value]="order.PUBLISHED">{{enumUtils.toRecentActivityOrderString(order.PUBLISHED)}}</mat-option> -->
|
<mat-option *ngIf="isPublic" [value]="order.PublishedAt">{{enumUtils.toRecentActivityOrderString(order.PublishedAt)}}</mat-option>
|
||||||
<mat-option [value]="order.Label">{{enumUtils.toRecentActivityOrderString(order.Label)}}</mat-option>
|
<mat-option [value]="order.Label">{{enumUtils.toRecentActivityOrderString(order.Label)}}</mat-option>
|
||||||
<mat-option *ngIf="!isPublic" [value]="order.Status">{{enumUtils.toRecentActivityOrderString(order.Status)}}</mat-option>
|
<mat-option *ngIf="!isPublic" [value]="order.Status">{{enumUtils.toRecentActivityOrderString(order.Status)}}</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
|
@ -42,7 +42,7 @@
|
||||||
<button mat-icon-button (click)="toggleSortDirection()" [matTooltip]="sortingTooltipText">
|
<button mat-icon-button (click)="toggleSortDirection()" [matTooltip]="sortingTooltipText">
|
||||||
<mat-icon *ngIf="isAscending">keyboard_double_arrow_up</mat-icon>
|
<mat-icon *ngIf="isAscending">keyboard_double_arrow_up</mat-icon>
|
||||||
<mat-icon *ngIf="isDescending">keyboard_double_arrow_down</mat-icon>
|
<mat-icon *ngIf="isDescending">keyboard_double_arrow_down</mat-icon>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-12 col-xl-auto ml-auto order-4">
|
<div class="col-12 col-xl-auto ml-auto order-4">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
|
|
|
@ -43,7 +43,7 @@ import { DmpFilterService } from './filtering/services/dmp-filter.service';
|
||||||
styleUrls: ['./dmp-listing.component.scss'],
|
styleUrls: ['./dmp-listing.component.scss'],
|
||||||
})
|
})
|
||||||
export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup> implements OnInit {
|
export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup> implements OnInit {
|
||||||
|
|
||||||
userSettingsKey = { key: 'DmpListingUserSettings' };
|
userSettingsKey = { key: 'DmpListingUserSettings' };
|
||||||
|
|
||||||
@ViewChild(MatPaginator, { static: true }) _paginator: MatPaginator;
|
@ViewChild(MatPaginator, { static: true }) _paginator: MatPaginator;
|
||||||
|
@ -86,9 +86,9 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
return this.listingItems != null && this.listingItems.length > 0;
|
return this.listingItems != null && this.listingItems.length > 0;
|
||||||
}
|
}
|
||||||
get hasFilters(): boolean {
|
get hasFilters(): boolean {
|
||||||
return (this.lookup.like != null && this.lookup.like != '') || this.lookup.statuses != null ||
|
return (this.lookup.like != null && this.lookup.like != '') || this.lookup.statuses != null ||
|
||||||
this.lookup.dmpReferenceSubQuery != null || this.lookup.dmpDescriptionTemplateSubQuery != null ||
|
this.lookup.dmpReferenceSubQuery != null || this.lookup.dmpDescriptionTemplateSubQuery != null ||
|
||||||
this.lookup.dmpBlueprintSubQuery != null || this.lookup.dmpUserSubQuery != null;
|
this.lookup.dmpBlueprintSubQuery != null || this.lookup.dmpUserSubQuery != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
|
@ -116,7 +116,7 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
if (!this.isPublic && !this.authService.currentAccountIsAuthenticated()) {
|
if (!this.isPublic && !this.authService.currentAccountIsAuthenticated()) {
|
||||||
this.router.navigateByUrl("/explore-plans");
|
this.router.navigateByUrl("/explore-plans");
|
||||||
}
|
}
|
||||||
|
|
||||||
this.route.queryParamMap
|
this.route.queryParamMap
|
||||||
.pipe(takeUntil(this._destroyed))
|
.pipe(takeUntil(this._destroyed))
|
||||||
.subscribe(async (params: Params) => {
|
.subscribe(async (params: Params) => {
|
||||||
|
@ -129,7 +129,7 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
referenceIds: this.lookup?.dmpReferenceSubQuery?.referenceIds ?? [],
|
referenceIds: this.lookup?.dmpReferenceSubQuery?.referenceIds ?? [],
|
||||||
}];
|
}];
|
||||||
this.filtersCount = this._countFilters(this.lookup);
|
this.filtersCount = this._countFilters(this.lookup);
|
||||||
}
|
}
|
||||||
else if (!this.lookup) this.lookup = this.initializeLookup();
|
else if (!this.lookup) this.lookup = this.initializeLookup();
|
||||||
|
|
||||||
if ((this.formGroup.get('order')?.value == null || (!this.isAscending && !this.isDescending)) && this.lookup.order.items && this.lookup.order.items.length > 0) {
|
if ((this.formGroup.get('order')?.value == null || (!this.isAscending && !this.isDescending)) && this.lookup.order.items && this.lookup.order.items.length > 0) {
|
||||||
|
@ -140,7 +140,7 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
this.formGroup.get('order').setValue(this._getRecentActivityOrder(sortBy));
|
this.formGroup.get('order').setValue(this._getRecentActivityOrder(sortBy));
|
||||||
ordering.charAt(0) == '-' ? this.sortDirection = SortDirection.Descending : this.sortDirection = SortDirection.Ascending;
|
ordering.charAt(0) == '-' ? this.sortDirection = SortDirection.Descending : this.sortDirection = SortDirection.Ascending;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.onPageLoad({ offset: this.lookup.page.offset / this.lookup.page.size } as PageLoadEvent);
|
this.onPageLoad({ offset: this.lookup.page.offset / this.lookup.page.size } as PageLoadEvent);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -205,10 +205,10 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
lookup.metadata = { countAll: true };
|
lookup.metadata = { countAll: true };
|
||||||
lookup.page = { offset: 0, size: this.ITEMS_PER_PAGE };
|
lookup.page = { offset: 0, size: this.ITEMS_PER_PAGE };
|
||||||
lookup.isActive = [IsActive.Active];
|
lookup.isActive = [IsActive.Active];
|
||||||
|
|
||||||
let recentActivityOrder = this.isPublic ? this.toAscSortField(nameof<Description>(x => x.label)) : this.toDescSortField(nameof<Description>(x => x.updatedAt));
|
let recentActivityOrder = this.isPublic ? this.toDescSortField(nameof<Description>(x => x.finalizedAt)) : this.toDescSortField(nameof<Description>(x => x.updatedAt));
|
||||||
lookup.order = { items: [recentActivityOrder] };
|
lookup.order = { items: [recentActivityOrder] };
|
||||||
|
|
||||||
this.updateOrderUiFields(lookup.order);
|
this.updateOrderUiFields(lookup.order);
|
||||||
|
|
||||||
lookup.project = {
|
lookup.project = {
|
||||||
|
@ -246,7 +246,9 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.status)] };
|
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.status)] };
|
||||||
} else if (this.formGroup.get('order').value == RecentActivityOrder.Label) {
|
} else if (this.formGroup.get('order').value == RecentActivityOrder.Label) {
|
||||||
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.label)] };
|
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.label)] };
|
||||||
} else {
|
} else if (this.formGroup.get('order').value == RecentActivityOrder.PublishedAt){
|
||||||
|
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.finalizedAt)] };
|
||||||
|
}else {
|
||||||
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.updatedAt)] };
|
this.lookup.order = { items: [this.sortingDirectionPrefix + nameof<Dmp>(x => x.updatedAt)] };
|
||||||
}
|
}
|
||||||
this.filterChanged(this.lookup);
|
this.filterChanged(this.lookup);
|
||||||
|
@ -283,7 +285,7 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
updateDataFn(filterForm: UntypedFormGroup): void {
|
updateDataFn(filterForm: UntypedFormGroup): void {
|
||||||
this.referenceFilters = this._patchReferenceFiltersFromForm(filterForm);
|
this.referenceFilters = this._patchReferenceFiltersFromForm(filterForm);
|
||||||
this.lookup = this._patchLookupFromForm(this.lookup, filterForm);
|
this.lookup = this._patchLookupFromForm(this.lookup, filterForm);
|
||||||
|
@ -319,7 +321,7 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
hasLikeFilters(): boolean {
|
hasLikeFilters(): boolean {
|
||||||
return this.lookup.like !== undefined && this.lookup.like !== null;
|
return this.lookup.like !== undefined && this.lookup.like !== null;
|
||||||
}
|
}
|
||||||
|
|
||||||
toggleSortDirection(): void {
|
toggleSortDirection(): void {
|
||||||
this.sortDirection = this.isAscending ? this.sortDirection = SortDirection.Descending : this.sortDirection = SortDirection.Ascending;
|
this.sortDirection = this.isAscending ? this.sortDirection = SortDirection.Descending : this.sortDirection = SortDirection.Ascending;
|
||||||
this.orderByChanged();
|
this.orderByChanged();
|
||||||
|
@ -342,6 +344,7 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
switch (recentActivityOrderValue) {
|
switch (recentActivityOrderValue) {
|
||||||
case nameof<Dmp>(x => x.updatedAt): return RecentActivityOrder.UpdatedAt;
|
case nameof<Dmp>(x => x.updatedAt): return RecentActivityOrder.UpdatedAt;
|
||||||
case nameof<Dmp>(x => x.label): return RecentActivityOrder.Label;
|
case nameof<Dmp>(x => x.label): return RecentActivityOrder.Label;
|
||||||
|
case nameof<Dmp>(x => x.finalizedAt): return RecentActivityOrder.PublishedAt;
|
||||||
case nameof<Dmp>(x => x.status): return RecentActivityOrder.Status;
|
case nameof<Dmp>(x => x.status): return RecentActivityOrder.Status;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -350,7 +353,7 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
if (!formGroup) return;
|
if (!formGroup) return;
|
||||||
|
|
||||||
lookup.statuses = formGroup.get("status")?.value !== null ? [formGroup.get("status")?.value] : null;
|
lookup.statuses = formGroup.get("status")?.value !== null ? [formGroup.get("status")?.value] : null;
|
||||||
|
|
||||||
// Description Templates
|
// Description Templates
|
||||||
let descriptionTemplates = formGroup.get("descriptionTemplates")?.value ?? null;
|
let descriptionTemplates = formGroup.get("descriptionTemplates")?.value ?? null;
|
||||||
if (descriptionTemplates && descriptionTemplates?.length > 0) {
|
if (descriptionTemplates && descriptionTemplates?.length > 0) {
|
||||||
|
@ -363,11 +366,11 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
let dmpBlueprints = formGroup.get("dmpBlueprints")?.value ?? null;
|
let dmpBlueprints = formGroup.get("dmpBlueprints")?.value ?? null;
|
||||||
if (dmpBlueprints && dmpBlueprints?.length > 0) {
|
if (dmpBlueprints && dmpBlueprints?.length > 0) {
|
||||||
lookup.dmpBlueprintSubQuery = DmpFilterService.initializeDmpBlueprintLookup();
|
lookup.dmpBlueprintSubQuery = DmpFilterService.initializeDmpBlueprintLookup();
|
||||||
lookup.dmpBlueprintSubQuery.ids = dmpBlueprints;
|
lookup.dmpBlueprintSubQuery.ids = dmpBlueprints;
|
||||||
} else lookup.dmpBlueprintSubQuery = null;
|
} else lookup.dmpBlueprintSubQuery = null;
|
||||||
|
|
||||||
// Dmps
|
// Dmps
|
||||||
let roles = formGroup.get("role")?.value !== null ? [formGroup.get("role")?.value] : null;
|
let roles = formGroup.get("role")?.value !== null ? [formGroup.get("role")?.value] : null;
|
||||||
if (roles && roles?.length > 0) {
|
if (roles && roles?.length > 0) {
|
||||||
lookup.dmpUserSubQuery = DmpFilterService.initializeDmpUserLookup();
|
lookup.dmpUserSubQuery = DmpFilterService.initializeDmpUserLookup();
|
||||||
lookup.dmpUserSubQuery.userRoles = roles;
|
lookup.dmpUserSubQuery.userRoles = roles;
|
||||||
|
@ -382,7 +385,7 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
lookup.dmpReferenceSubQuery.referenceIds = references;
|
lookup.dmpReferenceSubQuery.referenceIds = references;
|
||||||
} else lookup.dmpReferenceSubQuery = null;
|
} else lookup.dmpReferenceSubQuery = null;
|
||||||
|
|
||||||
|
|
||||||
return lookup;
|
return lookup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -394,7 +397,7 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
return (new UntypedFormBuilder()).group({
|
return (new UntypedFormBuilder()).group({
|
||||||
status: [lookup.statuses?.length > 0 ? lookup.statuses[0] : null],
|
status: [lookup.statuses?.length > 0 ? lookup.statuses[0] : null],
|
||||||
descriptionTemplates: lookup.dmpDescriptionTemplateSubQuery?.descriptionTemplateGroupIds ? [lookup.dmpDescriptionTemplateSubQuery?.descriptionTemplateGroupIds] : [],
|
descriptionTemplates: lookup.dmpDescriptionTemplateSubQuery?.descriptionTemplateGroupIds ? [lookup.dmpDescriptionTemplateSubQuery?.descriptionTemplateGroupIds] : [],
|
||||||
dmpBlueprints: lookup.dmpBlueprintSubQuery?.ids ? [lookup.dmpBlueprintSubQuery?.ids]: [],
|
dmpBlueprints: lookup.dmpBlueprintSubQuery?.ids ? [lookup.dmpBlueprintSubQuery?.ids]: [],
|
||||||
role: lookup.dmpUserSubQuery?.userRoles ? lookup.dmpUserSubQuery?.userRoles[0] : null,
|
role: lookup.dmpUserSubQuery?.userRoles ? lookup.dmpUserSubQuery?.userRoles[0] : null,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -402,12 +405,12 @@ export class DmpListingComponent extends BaseListingComponent<BaseDmp, DmpLookup
|
||||||
private _countFilters(lookup: DmpLookup): number {
|
private _countFilters(lookup: DmpLookup): number {
|
||||||
let count = 0;
|
let count = 0;
|
||||||
|
|
||||||
if (lookup.statuses) count += lookup.statuses.length;
|
if (lookup.statuses) count += lookup.statuses.length;
|
||||||
if (lookup.dmpDescriptionTemplateSubQuery) count += lookup.dmpDescriptionTemplateSubQuery.descriptionTemplateGroupIds?.length;
|
if (lookup.dmpDescriptionTemplateSubQuery) count += lookup.dmpDescriptionTemplateSubQuery.descriptionTemplateGroupIds?.length;
|
||||||
if (lookup.dmpBlueprintSubQuery) count += lookup.dmpBlueprintSubQuery.ids?.length;
|
if (lookup.dmpBlueprintSubQuery) count += lookup.dmpBlueprintSubQuery.ids?.length;
|
||||||
if (lookup.dmpUserSubQuery) count += lookup.dmpUserSubQuery.userRoles?.length;
|
if (lookup.dmpUserSubQuery) count += lookup.dmpUserSubQuery.userRoles?.length;
|
||||||
if (lookup.dmpReferenceSubQuery) count += lookup.dmpReferenceSubQuery.referenceIds?.length;
|
if (lookup.dmpReferenceSubQuery) count += lookup.dmpReferenceSubQuery.referenceIds?.length;
|
||||||
|
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Etiketa",
|
"LABEL": "Etiketa",
|
||||||
"MODIFIED": "Aldatuta",
|
"MODIFIED": "Aldatuta",
|
||||||
"STATUS": "Egoera"
|
"STATUS": "Egoera",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Label",
|
"LABEL": "Label",
|
||||||
"MODIFIED": "Modified",
|
"MODIFIED": "Modified",
|
||||||
"STATUS": "Status"
|
"STATUS": "Status",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Label",
|
"LABEL": "Label",
|
||||||
"MODIFIED": "Modified",
|
"MODIFIED": "Modified",
|
||||||
"STATUS": "Status"
|
"STATUS": "Status",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Etiqueta",
|
"LABEL": "Etiqueta",
|
||||||
"MODIFIED": "Modificado",
|
"MODIFIED": "Modificado",
|
||||||
"STATUS": "Estado"
|
"STATUS": "Estado",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Ετικέτα",
|
"LABEL": "Ετικέτα",
|
||||||
"MODIFIED": "Τροποποιημένο",
|
"MODIFIED": "Τροποποιημένο",
|
||||||
"STATUS": "Κατάσταση"
|
"STATUS": "Κατάσταση",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Oznaka",
|
"LABEL": "Oznaka",
|
||||||
"MODIFIED": "Izmijenjeno",
|
"MODIFIED": "Izmijenjeno",
|
||||||
"STATUS": "Status"
|
"STATUS": "Status",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Etykieta",
|
"LABEL": "Etykieta",
|
||||||
"MODIFIED": "Zmodyfikowany",
|
"MODIFIED": "Zmodyfikowany",
|
||||||
"STATUS": "Status"
|
"STATUS": "Status",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Etiqueta",
|
"LABEL": "Etiqueta",
|
||||||
"MODIFIED": "Modificado",
|
"MODIFIED": "Modificado",
|
||||||
"STATUS": "Estado"
|
"STATUS": "Estado",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Označenie",
|
"LABEL": "Označenie",
|
||||||
"MODIFIED": "Modifikované",
|
"MODIFIED": "Modifikované",
|
||||||
"STATUS": "Stav"
|
"STATUS": "Stav",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Oznaka",
|
"LABEL": "Oznaka",
|
||||||
"MODIFIED": "Izmenjeno",
|
"MODIFIED": "Izmenjeno",
|
||||||
"STATUS": "Status"
|
"STATUS": "Status",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1249,7 +1249,7 @@
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"EDIT":"Edit",
|
"EDIT":"Edit",
|
||||||
"DELETE": "Delete"
|
"DELETE": "Delete"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"STATUS-EDITOR": {
|
"STATUS-EDITOR": {
|
||||||
|
@ -1916,7 +1916,8 @@
|
||||||
"RECENT-ACTIVITY-ORDER": {
|
"RECENT-ACTIVITY-ORDER": {
|
||||||
"LABEL": "Etiket",
|
"LABEL": "Etiket",
|
||||||
"MODIFIED": "Değiştirilmiş",
|
"MODIFIED": "Değiştirilmiş",
|
||||||
"STATUS": "Durum"
|
"STATUS": "Durum",
|
||||||
|
"PUBLISHED-AT": "Published"
|
||||||
},
|
},
|
||||||
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
"DESCRIPTION-TEMPLATE-TYPE-STATUS": {
|
||||||
"FINALIZED": "Finalized",
|
"FINALIZED": "Finalized",
|
||||||
|
@ -2285,4 +2286,4 @@
|
||||||
"copy": "Copy",
|
"copy": "Copy",
|
||||||
"clone": "Clone",
|
"clone": "Clone",
|
||||||
"new-version": "New Version"
|
"new-version": "New Version"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue