add InteralStatuses filtering to plan + description status listing, add to language files
This commit is contained in:
parent
f972e8305f
commit
0a0bc0ee1b
|
@ -20,4 +20,5 @@ export interface DescriptionStatusFilter {
|
||||||
excludedIds: Guid[];
|
excludedIds: Guid[];
|
||||||
like: string;
|
like: string;
|
||||||
isActive: IsActive[];
|
isActive: IsActive[];
|
||||||
|
internalStatuses?: DescriptionStatusEnum[];
|
||||||
}
|
}
|
|
@ -20,4 +20,5 @@ export interface PlanStatusFilter {
|
||||||
excludedIds: Guid[];
|
excludedIds: Guid[];
|
||||||
like: string;
|
like: string;
|
||||||
isActive: IsActive[];
|
isActive: IsActive[];
|
||||||
|
internalStatuses?: PlanStatusEnum[];
|
||||||
}
|
}
|
|
@ -8,6 +8,10 @@ import { Guid } from "@common/types/guid";
|
||||||
import { DescriptionStatusLookup } from "@app/core/query/description-status.lookup";
|
import { DescriptionStatusLookup } from "@app/core/query/description-status.lookup";
|
||||||
import { DescriptionStatus } from "@app/core/model/description-status/description-status";
|
import { DescriptionStatus } from "@app/core/model/description-status/description-status";
|
||||||
import { DescriptionStatusPersist } from "@app/core/model/description/description";
|
import { DescriptionStatusPersist } from "@app/core/model/description/description";
|
||||||
|
import { IsActive } from "@app/core/common/enum/is-active.enum";
|
||||||
|
import { nameof } from "ts-simple-nameof";
|
||||||
|
import { FilterService } from "@common/modules/text-filter/filter-service";
|
||||||
|
import { DescriptionStatusEnum } from "@app/core/common/enum/description-status";
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class DescriptionStatusService {
|
export class DescriptionStatusService {
|
||||||
|
@ -16,6 +20,7 @@ export class DescriptionStatusService {
|
||||||
constructor(
|
constructor(
|
||||||
private http: BaseHttpV2Service,
|
private http: BaseHttpV2Service,
|
||||||
private configurationService: ConfigurationService,
|
private configurationService: ConfigurationService,
|
||||||
|
private filterService: FilterService,
|
||||||
) {
|
) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,4 +55,32 @@ export class DescriptionStatusService {
|
||||||
.delete<DescriptionStatus>(url).pipe(
|
.delete<DescriptionStatus>(url).pipe(
|
||||||
catchError((error: any) => throwError(() => error)));
|
catchError((error: any) => throwError(() => error)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buildLookup(params: {
|
||||||
|
like?: string,
|
||||||
|
excludedIds?: Guid[],
|
||||||
|
ids?: Guid[],
|
||||||
|
lookupFields?: string[],
|
||||||
|
size?: number,
|
||||||
|
order?: string[],
|
||||||
|
internalStatuses?: DescriptionStatusEnum[]
|
||||||
|
}): DescriptionStatusLookup {
|
||||||
|
const {like, excludedIds, ids, lookupFields, size = 100, order, internalStatuses} = params;
|
||||||
|
const lookup = new DescriptionStatusLookup();
|
||||||
|
lookup.isActive = [IsActive.Active];
|
||||||
|
|
||||||
|
lookup.order = { items: order ?? [nameof<DescriptionStatus>(x => x.name)] };
|
||||||
|
lookup.page = { size, offset: 0 };
|
||||||
|
|
||||||
|
if(internalStatuses?.length){ lookup.internalStatuses = internalStatuses };
|
||||||
|
if (excludedIds && excludedIds.length > 0) { lookup.excludedIds = excludedIds; }
|
||||||
|
if (ids && ids.length > 0) { lookup.ids = ids; }
|
||||||
|
if (like) { lookup.like = this.filterService.transformLike(like); }
|
||||||
|
if(lookupFields){
|
||||||
|
lookup.project = {
|
||||||
|
fields: lookupFields
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return lookup;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -12,6 +12,7 @@ import { PlanLookup } from "@app/core/query/plan.lookup";
|
||||||
import { FilterService } from "@common/modules/text-filter/filter-service";
|
import { FilterService } from "@common/modules/text-filter/filter-service";
|
||||||
import { IsActive } from "@notification-service/core/enum/is-active.enum";
|
import { IsActive } from "@notification-service/core/enum/is-active.enum";
|
||||||
import { nameof } from "ts-simple-nameof";
|
import { nameof } from "ts-simple-nameof";
|
||||||
|
import { PlanStatusEnum } from "@app/core/common/enum/plan-status";
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class PlanStatusService {
|
export class PlanStatusService {
|
||||||
|
@ -62,15 +63,17 @@ export class PlanStatusService {
|
||||||
ids?: Guid[],
|
ids?: Guid[],
|
||||||
lookupFields?: string[],
|
lookupFields?: string[],
|
||||||
size?: number,
|
size?: number,
|
||||||
order?: string[]
|
order?: string[],
|
||||||
|
internalStatuses?: PlanStatusEnum[]
|
||||||
}): PlanStatusLookup {
|
}): PlanStatusLookup {
|
||||||
const {like, excludedIds, ids, lookupFields, size = 100, order} = params;
|
const {like, excludedIds, ids, lookupFields, size = 100, order, internalStatuses} = params;
|
||||||
const lookup = new PlanLookup();
|
const lookup = new PlanStatusLookup();
|
||||||
lookup.isActive = [IsActive.Active];
|
lookup.isActive = [IsActive.Active];
|
||||||
|
|
||||||
lookup.order = { items: order ?? [nameof<PlanStatus>(x => x.name)] };
|
lookup.order = { items: order ?? [nameof<PlanStatus>(x => x.name)] };
|
||||||
lookup.page = { size, offset: 0 };
|
lookup.page = { size, offset: 0 };
|
||||||
|
|
||||||
|
if(internalStatuses?.length){ lookup.internalStatuses = internalStatuses };
|
||||||
if (excludedIds && excludedIds.length > 0) { lookup.excludedIds = excludedIds; }
|
if (excludedIds && excludedIds.length > 0) { lookup.excludedIds = excludedIds; }
|
||||||
if (ids && ids.length > 0) { lookup.ids = ids; }
|
if (ids && ids.length > 0) { lookup.ids = ids; }
|
||||||
if (like) { lookup.like = this.filterService.transformLike(like); }
|
if (like) { lookup.like = this.filterService.transformLike(like); }
|
||||||
|
|
|
@ -27,6 +27,17 @@
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row mt-3">
|
||||||
|
<div class="col-12">
|
||||||
|
<mat-form-field class="w-100">
|
||||||
|
<mat-label>{{'DESCRIPTION-STATUS-EDITOR.FIELDS.INTERNAL-STATUS' | translate}}</mat-label>
|
||||||
|
<mat-select multiple [(ngModel)]="internalFilters.internalStatuses">
|
||||||
|
<mat-option *ngFor="let internalStatus of internalStatusEnum" [value]="internalStatus">{{enumUtils.toDescriptionStatusString(internalStatus)}}</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row justify-content-end align-items-center mt-4 mb-1 gap-1-rem">
|
<div class="row justify-content-end align-items-center mt-4 mb-1 gap-1-rem">
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
import { Component, effect, EventEmitter, input, Output } from '@angular/core';
|
import { Component, effect, EventEmitter, input, Output } from '@angular/core';
|
||||||
|
import { DescriptionStatusEnum } from '@app/core/common/enum/description-status';
|
||||||
import { DescriptionStatusFilter } from '@app/core/query/description-status.lookup';
|
import { DescriptionStatusFilter } from '@app/core/query/description-status.lookup';
|
||||||
|
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
|
||||||
import { BaseComponent } from '@common/base/base.component';
|
import { BaseComponent } from '@common/base/base.component';
|
||||||
import { IsActive } from '@notification-service/core/enum/is-active.enum';
|
import { IsActive } from '@notification-service/core/enum/is-active.enum';
|
||||||
|
|
||||||
|
@ -15,7 +17,9 @@ export class DescriptionStatusListingFiltersComponent extends BaseComponent{
|
||||||
internalFilters: DescriptionStatusListingFilters = this._getEmptyFilters();
|
internalFilters: DescriptionStatusListingFilters = this._getEmptyFilters();
|
||||||
appliedFilterCount: number = 0;
|
appliedFilterCount: number = 0;
|
||||||
|
|
||||||
constructor(){
|
internalStatusEnum = this.enumUtils.getEnumValues<DescriptionStatusEnum>(DescriptionStatusEnum);
|
||||||
|
|
||||||
|
constructor(protected enumUtils: EnumUtils){
|
||||||
super();
|
super();
|
||||||
effect(() => {
|
effect(() => {
|
||||||
const newFilters = this.filter();
|
const newFilters = this.filter();
|
||||||
|
@ -31,11 +35,12 @@ export class DescriptionStatusListingFiltersComponent extends BaseComponent{
|
||||||
return this._getEmptyFilters();
|
return this._getEmptyFilters();
|
||||||
}
|
}
|
||||||
|
|
||||||
let { isActive, like } = inputFilter;
|
let { isActive, like, internalStatuses } = inputFilter;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isActive: (isActive ?? [])?.includes(IsActive.Active) || !isActive?.length,
|
isActive: (isActive ?? [])?.includes(IsActive.Active) || !isActive?.length,
|
||||||
like: like,
|
like,
|
||||||
|
internalStatuses: internalStatuses?.length ? internalStatuses : null
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -55,6 +60,7 @@ export class DescriptionStatusListingFiltersComponent extends BaseComponent{
|
||||||
return {
|
return {
|
||||||
isActive: true,
|
isActive: true,
|
||||||
like: null,
|
like: null,
|
||||||
|
internalStatuses: null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,11 +70,12 @@ export class DescriptionStatusListingFiltersComponent extends BaseComponent{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected applyFilters(): void {
|
protected applyFilters(): void {
|
||||||
const { isActive, like } = this.internalFilters ?? {}
|
const { isActive, like, internalStatuses } = this.internalFilters ?? {}
|
||||||
this.filterChange.emit({
|
this.filterChange.emit({
|
||||||
...this.filter(),
|
...this.filter(),
|
||||||
like,
|
like,
|
||||||
isActive: isActive ? [IsActive.Active] : [IsActive.Inactive]
|
isActive: isActive ? [IsActive.Active] : [IsActive.Inactive],
|
||||||
|
internalStatuses: internalStatuses?.length ? internalStatuses : null
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,4 +92,5 @@ export class DescriptionStatusListingFiltersComponent extends BaseComponent{
|
||||||
interface DescriptionStatusListingFilters {
|
interface DescriptionStatusListingFilters {
|
||||||
isActive: boolean;
|
isActive: boolean;
|
||||||
like: string;
|
like: string;
|
||||||
|
internalStatuses: DescriptionStatusEnum[];
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,16 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="row mt-3">
|
||||||
|
<div class="col-12">
|
||||||
|
<mat-form-field class="w-100">
|
||||||
|
<mat-label>{{'PLAN-STATUS-EDITOR.FIELDS.INTERNAL-STATUS' | translate}}</mat-label>
|
||||||
|
<mat-select multiple [(ngModel)]="internalFilters.internalStatuses">
|
||||||
|
<mat-option *ngFor="let internalStatus of internalStatusEnum" [value]="internalStatus">{{enumUtils.toPlanStatusString(internalStatus)}}</mat-option>
|
||||||
|
</mat-select>
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row justify-content-end align-items-center mt-4 mb-1 gap-1-rem">
|
<div class="row justify-content-end align-items-center mt-4 mb-1 gap-1-rem">
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
import { Component, effect, EventEmitter, input, Input, Output } from '@angular/core';
|
import { Component, effect, EventEmitter, input, Input, Output } from '@angular/core';
|
||||||
import { IsActive } from '@app/core/common/enum/is-active.enum';
|
import { IsActive } from '@app/core/common/enum/is-active.enum';
|
||||||
|
import { PlanStatusEnum } from '@app/core/common/enum/plan-status';
|
||||||
import { PlanStatusFilter } from '@app/core/query/plan-status.lookup';
|
import { PlanStatusFilter } from '@app/core/query/plan-status.lookup';
|
||||||
|
import { EnumUtils } from '@app/core/services/utilities/enum-utils.service';
|
||||||
import { BaseComponent } from '@common/base/base.component';
|
import { BaseComponent } from '@common/base/base.component';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
|
@ -14,8 +16,9 @@ export class PlanStatusListingFiltersComponent extends BaseComponent{
|
||||||
|
|
||||||
internalFilters: PlanStatusListingFilters = this._getEmptyFilters();
|
internalFilters: PlanStatusListingFilters = this._getEmptyFilters();
|
||||||
appliedFilterCount: number = 0;
|
appliedFilterCount: number = 0;
|
||||||
|
internalStatusEnum = this.enumUtils.getEnumValues<PlanStatusEnum>(PlanStatusEnum);
|
||||||
|
|
||||||
constructor(){
|
constructor(protected enumUtils: EnumUtils){
|
||||||
super();
|
super();
|
||||||
effect(() => {
|
effect(() => {
|
||||||
const newFilters = this.filter();
|
const newFilters = this.filter();
|
||||||
|
@ -31,11 +34,12 @@ export class PlanStatusListingFiltersComponent extends BaseComponent{
|
||||||
return this._getEmptyFilters();
|
return this._getEmptyFilters();
|
||||||
}
|
}
|
||||||
|
|
||||||
let { isActive, like } = inputFilter;
|
let { isActive, like, internalStatuses } = inputFilter;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
isActive: (isActive ?? [])?.includes(IsActive.Active) || !isActive?.length,
|
isActive: (isActive ?? [])?.includes(IsActive.Active) || !isActive?.length,
|
||||||
like: like,
|
like,
|
||||||
|
internalStatuses: internalStatuses?.length ? internalStatuses : null
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -47,6 +51,9 @@ export class PlanStatusListingFiltersComponent extends BaseComponent{
|
||||||
}
|
}
|
||||||
if(filters?.like){
|
if(filters?.like){
|
||||||
count++;
|
count++;
|
||||||
|
}
|
||||||
|
if(filters?.internalStatuses?.length) {
|
||||||
|
count++;
|
||||||
}
|
}
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
|
@ -55,6 +62,7 @@ export class PlanStatusListingFiltersComponent extends BaseComponent{
|
||||||
return {
|
return {
|
||||||
isActive: true,
|
isActive: true,
|
||||||
like: null,
|
like: null,
|
||||||
|
internalStatuses: null
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -64,11 +72,12 @@ export class PlanStatusListingFiltersComponent extends BaseComponent{
|
||||||
}
|
}
|
||||||
|
|
||||||
protected applyFilters(): void {
|
protected applyFilters(): void {
|
||||||
const { isActive, like } = this.internalFilters ?? {}
|
const { isActive, like, internalStatuses } = this.internalFilters ?? {}
|
||||||
this.filterChange.emit({
|
this.filterChange.emit({
|
||||||
...this.filter(),
|
...this.filter(),
|
||||||
like,
|
like,
|
||||||
isActive: isActive ? [IsActive.Active] : [IsActive.Inactive]
|
isActive: isActive ? [IsActive.Active] : [IsActive.Inactive],
|
||||||
|
internalStatuses: internalStatuses?.length ? internalStatuses : null
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,4 +94,5 @@ export class PlanStatusListingFiltersComponent extends BaseComponent{
|
||||||
interface PlanStatusListingFilters {
|
interface PlanStatusListingFilters {
|
||||||
isActive: boolean;
|
isActive: boolean;
|
||||||
like: string;
|
like: string;
|
||||||
|
internalStatuses: PlanStatusEnum[];
|
||||||
}
|
}
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -453,6 +453,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"FIELDS": {
|
"FIELDS": {
|
||||||
"TIMEZONE": "Timezone",
|
"TIMEZONE": "Timezone",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
|
@ -479,6 +479,10 @@
|
||||||
"PLAN-WORKFLOW": {
|
"PLAN-WORKFLOW": {
|
||||||
"TITLE": "Plan Workflow",
|
"TITLE": "Plan Workflow",
|
||||||
"HINT": "Configure the workflow for this tenant's plans"
|
"HINT": "Configure the workflow for this tenant's plans"
|
||||||
|
},
|
||||||
|
"DESCRIPTION-WORKFLOW": {
|
||||||
|
"TITLE": "Description Workflow",
|
||||||
|
"HINT": "Configure the workflow for this tenant's descriptions"
|
||||||
},
|
},
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SAVE": "Save",
|
"SAVE": "Save",
|
||||||
|
@ -2527,9 +2531,10 @@
|
||||||
"CONFIRM": "Confirm"
|
"CONFIRM": "Confirm"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"PLAN-WORKFLOW-EDITOR": {
|
"WORKFLOW-EDITOR": {
|
||||||
"ACTIONS": {
|
"ACTIONS": {
|
||||||
"SELECT-PLAN-STATUS": "Select plan status",
|
"SELECT-PLAN-STATUS": "Select plan status",
|
||||||
|
"SELECT-DESCRIPTION-STATUS": "Select description status",
|
||||||
"ADD-STATUS-TRANSITION": "Add status transition",
|
"ADD-STATUS-TRANSITION": "Add status transition",
|
||||||
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
"REMOVE-STATUS-TRANSITION": "Remove status transition"
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue