mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-05-19 17:14:57 +00:00
* [ACA-3348] Add default process name pipe * [ACA-3348] Add documentation * [ACA-3348] Change transform function to recieve a process def parameter, Update documentation * Change parameter type to fix build * Fix lint errors * Move unit test to the correct describe * Fix lint errors * Move from one core pipe to different for APS1 and Cloud * Add Pipe to process cloud providers * Update documentation * Revert demo-shell default process name * Fix pipe version in documentation * e2e - select process definition and then type name * Fix process services e2e * Align process filters e2e * Align start-task-form cloud e2e * Use processInstance model instead of processDefinition as a parameter for transform function
51 lines
2.1 KiB
TypeScript
51 lines
2.1 KiB
TypeScript
/*!
|
|
* @license
|
|
* Copyright 2019 Alfresco Software, Ltd.
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
import { Pipe, PipeTransform } from '@angular/core';
|
|
import moment from 'moment-es6';
|
|
import { LocalizedDatePipe } from '@alfresco/adf-core';
|
|
import { ProcessInstanceCloud } from '../process/start-process/models/process-instance-cloud.model';
|
|
|
|
@Pipe({ name: 'processNameCloud' })
|
|
export class ProcessNameCloudPipe implements PipeTransform {
|
|
static DATE_TIME_IDENTIFIER_REG_EXP = new RegExp('%{datetime}', 'i');
|
|
static PROCESS_DEFINITION_IDENTIFIER_REG_EXP = new RegExp('%{processdefinition}', 'i');
|
|
|
|
constructor(private localizedDatePipe: LocalizedDatePipe) {
|
|
}
|
|
|
|
transform(processNameFormat: string, processInstance?: ProcessInstanceCloud): string {
|
|
let processName = processNameFormat;
|
|
if (processName.match(ProcessNameCloudPipe.DATE_TIME_IDENTIFIER_REG_EXP)) {
|
|
const presentDateTime = moment.now();
|
|
processName = processName.replace(
|
|
ProcessNameCloudPipe.DATE_TIME_IDENTIFIER_REG_EXP,
|
|
this.localizedDatePipe.transform(presentDateTime, 'medium')
|
|
);
|
|
}
|
|
|
|
if (processName.match(ProcessNameCloudPipe.PROCESS_DEFINITION_IDENTIFIER_REG_EXP)) {
|
|
const selectedProcessDefinitionName = processInstance ? processInstance.processDefinitionName : '';
|
|
processName = processName.replace(
|
|
ProcessNameCloudPipe.PROCESS_DEFINITION_IDENTIFIER_REG_EXP,
|
|
selectedProcessDefinitionName
|
|
);
|
|
}
|
|
return processName;
|
|
}
|
|
}
|