mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2026-09-09 18:03:21 +00:00
ADF-402 add the show diagram button (#1917)
This commit is contained in:
committed by
Eugenio Romano
parent
cd2e4abc8e
commit
0fdaf2752b
@@ -34,6 +34,7 @@ import { ActivitiTaskListModule } from 'ng2-activiti-tasklist';
|
|||||||
import { ActivitiProcessListModule } from 'ng2-activiti-processlist';
|
import { ActivitiProcessListModule } from 'ng2-activiti-processlist';
|
||||||
import { UserInfoComponentModule } from 'ng2-alfresco-userinfo';
|
import { UserInfoComponentModule } from 'ng2-alfresco-userinfo';
|
||||||
import { AnalyticsModule } from 'ng2-activiti-analytics';
|
import { AnalyticsModule } from 'ng2-activiti-analytics';
|
||||||
|
import { DiagramsModule } from 'ng2-activiti-diagrams';
|
||||||
import { AppComponent } from './app.component';
|
import { AppComponent } from './app.component';
|
||||||
import { routing } from './app.routes';
|
import { routing } from './app.routes';
|
||||||
import { CustomEditorsModule } from './components/activiti/custom-editor/custom-editor.component';
|
import { CustomEditorsModule } from './components/activiti/custom-editor/custom-editor.component';
|
||||||
@@ -47,6 +48,7 @@ import {
|
|||||||
SearchBarComponent,
|
SearchBarComponent,
|
||||||
LoginDemoComponent,
|
LoginDemoComponent,
|
||||||
ActivitiDemoComponent,
|
ActivitiDemoComponent,
|
||||||
|
ActivitiShowDiagramComponent,
|
||||||
ActivitiAppsView,
|
ActivitiAppsView,
|
||||||
FormViewer,
|
FormViewer,
|
||||||
WebscriptComponent,
|
WebscriptComponent,
|
||||||
@@ -80,6 +82,7 @@ import {
|
|||||||
ActivitiProcessListModule.forRoot(),
|
ActivitiProcessListModule.forRoot(),
|
||||||
UserInfoComponentModule.forRoot(),
|
UserInfoComponentModule.forRoot(),
|
||||||
AnalyticsModule.forRoot(),
|
AnalyticsModule.forRoot(),
|
||||||
|
DiagramsModule.forRoot(),
|
||||||
CustomEditorsModule,
|
CustomEditorsModule,
|
||||||
Editor3DModule.forRoot(),
|
Editor3DModule.forRoot(),
|
||||||
ChartsModule
|
ChartsModule
|
||||||
@@ -92,6 +95,7 @@ import {
|
|||||||
SearchBarComponent,
|
SearchBarComponent,
|
||||||
LoginDemoComponent,
|
LoginDemoComponent,
|
||||||
ActivitiDemoComponent,
|
ActivitiDemoComponent,
|
||||||
|
ActivitiShowDiagramComponent,
|
||||||
ActivitiAppsView,
|
ActivitiAppsView,
|
||||||
FormViewer,
|
FormViewer,
|
||||||
WebscriptComponent,
|
WebscriptComponent,
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ import {
|
|||||||
SearchComponent,
|
SearchComponent,
|
||||||
LoginDemoComponent,
|
LoginDemoComponent,
|
||||||
ActivitiDemoComponent,
|
ActivitiDemoComponent,
|
||||||
|
ActivitiShowDiagramComponent,
|
||||||
ActivitiAppsView,
|
ActivitiAppsView,
|
||||||
WebscriptComponent,
|
WebscriptComponent,
|
||||||
TagComponent,
|
TagComponent,
|
||||||
@@ -90,6 +91,11 @@ export const appRoutes: Routes = [
|
|||||||
component: ActivitiDemoComponent,
|
component: ActivitiDemoComponent,
|
||||||
canActivate: [AuthGuardBpm]
|
canActivate: [AuthGuardBpm]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: 'activiti/diagram/:processDefinitionId',
|
||||||
|
component: ActivitiShowDiagramComponent,
|
||||||
|
canActivate: [AuthGuardBpm]
|
||||||
|
},
|
||||||
// TODO: check if neeeded
|
// TODO: check if neeeded
|
||||||
{
|
{
|
||||||
path: 'activiti/appId/:appId',
|
path: 'activiti/appId/:appId',
|
||||||
|
|||||||
@@ -133,6 +133,7 @@
|
|||||||
<activiti-process-instance-details
|
<activiti-process-instance-details
|
||||||
[processInstanceId]="currentProcessInstanceId"
|
[processInstanceId]="currentProcessInstanceId"
|
||||||
(processCancelled)="processCancelled()"
|
(processCancelled)="processCancelled()"
|
||||||
|
(showProcessDiagram)="onShowProcessDiagram($event)"
|
||||||
(taskClick)="onProcessDetailsTaskClick($event)">
|
(taskClick)="onProcessDetailsTaskClick($event)">
|
||||||
</activiti-process-instance-details>
|
</activiti-process-instance-details>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ import {
|
|||||||
ProcessInstance
|
ProcessInstance
|
||||||
} from 'ng2-activiti-processlist';
|
} from 'ng2-activiti-processlist';
|
||||||
import { AnalyticsReportListComponent } from 'ng2-activiti-analytics';
|
import { AnalyticsReportListComponent } from 'ng2-activiti-analytics';
|
||||||
import { ActivatedRoute } from '@angular/router';
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
import { Subscription } from 'rxjs/Rx';
|
import { Subscription } from 'rxjs/Rx';
|
||||||
import {
|
import {
|
||||||
ObjectDataTableAdapter,
|
ObjectDataTableAdapter,
|
||||||
@@ -106,6 +106,7 @@ export class ActivitiDemoComponent implements AfterViewInit {
|
|||||||
|
|
||||||
constructor(private elementRef: ElementRef,
|
constructor(private elementRef: ElementRef,
|
||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
|
private router: Router,
|
||||||
private apiService: AlfrescoApiService,
|
private apiService: AlfrescoApiService,
|
||||||
private formRenderingService: FormRenderingService,
|
private formRenderingService: FormRenderingService,
|
||||||
private formService: FormService) {
|
private formService: FormService) {
|
||||||
@@ -289,6 +290,10 @@ export class ActivitiDemoComponent implements AfterViewInit {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onShowProcessDiagram(event: any) {
|
||||||
|
this.router.navigate(['/activiti/diagram/' + event.value]);
|
||||||
|
}
|
||||||
|
|
||||||
onProcessDetailsTaskClick(event: TaskDetailsEvent) {
|
onProcessDetailsTaskClick(event: TaskDetailsEvent) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
this.activeTab = 'tasks';
|
this.activeTab = 'tasks';
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
<div>
|
||||||
|
<button (click)="onClickBack()" class="mdl-button mdl-button--icon">
|
||||||
|
<i class="material-icons">keyboard_backspace</i>
|
||||||
|
</button>
|
||||||
|
<activiti-diagram [processInstanceId]="processDefinitionId"></activiti-diagram>
|
||||||
|
</div>
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
/*!
|
||||||
|
* @license
|
||||||
|
* Copyright 2016 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 { Component } from '@angular/core';
|
||||||
|
import { Subscription } from 'rxjs/Rx';
|
||||||
|
import { ActivatedRoute } from '@angular/router';
|
||||||
|
import {Location} from '@angular/common';
|
||||||
|
|
||||||
|
@Component({
|
||||||
|
selector: 'activiti-show-diagram',
|
||||||
|
templateUrl: './activiti-show-diagram.component.html',
|
||||||
|
styleUrls: ['./activiti-show-diagram.component.css']
|
||||||
|
})
|
||||||
|
export class ActivitiShowDiagramComponent {
|
||||||
|
|
||||||
|
sub: Subscription;
|
||||||
|
processDefinitionId: string;
|
||||||
|
|
||||||
|
constructor(private route: ActivatedRoute,
|
||||||
|
private location: Location) {
|
||||||
|
this.sub = this.route.params.subscribe(params => {
|
||||||
|
this.processDefinitionId = params['processDefinitionId'];
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
ngOnDestroy() {
|
||||||
|
this.sub.unsubscribe();
|
||||||
|
}
|
||||||
|
|
||||||
|
onClickBack() {
|
||||||
|
this.location.back();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -21,6 +21,7 @@ export { SearchComponent } from './search/search.component';
|
|||||||
export { SearchBarComponent } from './search/search-bar.component';
|
export { SearchBarComponent } from './search/search-bar.component';
|
||||||
export { LoginDemoComponent } from './login/login-demo.component';
|
export { LoginDemoComponent } from './login/login-demo.component';
|
||||||
export { ActivitiDemoComponent } from './activiti/activiti-demo.component';
|
export { ActivitiDemoComponent } from './activiti/activiti-demo.component';
|
||||||
|
export { ActivitiShowDiagramComponent } from './activiti/activiti-show-diagram.component';
|
||||||
export { FormViewer } from './activiti/form-viewer.component';
|
export { FormViewer } from './activiti/form-viewer.component';
|
||||||
export { WebscriptComponent } from './webscript/webscript.component';
|
export { WebscriptComponent } from './webscript/webscript.component';
|
||||||
export { TagComponent } from './tag/tag.component';
|
export { TagComponent } from './tag/tag.component';
|
||||||
|
|||||||
@@ -315,6 +315,7 @@ This component displays detailed information on a specified process instance
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `processCancelledEmitter` | Emitted when the current process is cancelled by the user from within the component |
|
| `processCancelledEmitter` | Emitted when the current process is cancelled by the user from within the component |
|
||||||
| `taskFormCompletedEmitter` | Emitted when the form associated with an active task is completed from within the component |
|
| `taskFormCompletedEmitter` | Emitted when the form associated with an active task is completed from within the component |
|
||||||
|
| `showProcessDiagram` | Emitted when the show diagram button is clicked |
|
||||||
|
|
||||||
### Process Instance Details Header component
|
### Process Instance Details Header component
|
||||||
|
|
||||||
@@ -330,13 +331,14 @@ This is a sub-component of the process details component, which renders some gen
|
|||||||
| Name | Description |
|
| Name | Description |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `processInstance` | (required): Full details of the process instance to display information about |
|
| `processInstance` | (required): Full details of the process instance to display information about |
|
||||||
|
| `showDiagram` | (optional): If the value is true the button show diagram is shown |
|
||||||
|
|
||||||
#### Events
|
#### Events
|
||||||
|
|
||||||
|
|
||||||
| Name | Description |
|
| Name | Description |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| `processCancelled` | Emitted when the Cancel Process button shown by the component is clicked |
|
| `showProcessDiagram` | Emitted when the show diagram button is clicked |
|
||||||
|
|
||||||
### Process Instance Tasks component
|
### Process Instance Tasks component
|
||||||
|
|
||||||
|
|||||||
@@ -51,6 +51,19 @@ export let exampleProcess = new ProcessInstance({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export let processEnded = new ProcessInstance({
|
||||||
|
id: '123',
|
||||||
|
name: 'Process 123',
|
||||||
|
started: '2016-11-10T03:37:30.010+0000',
|
||||||
|
startedBy: {
|
||||||
|
id: 1001,
|
||||||
|
firstName: 'Bob',
|
||||||
|
lastName: 'Jones',
|
||||||
|
email: 'bob@app.activiti.com'
|
||||||
|
},
|
||||||
|
ended: '2016-11-11T03:37:30.010+0000',
|
||||||
|
});
|
||||||
|
|
||||||
export let exampleProcessNoName = new ProcessInstance({
|
export let exampleProcessNoName = new ProcessInstance({
|
||||||
id: '123',
|
id: '123',
|
||||||
name: null,
|
name: null,
|
||||||
|
|||||||
+4
-1
@@ -1,7 +1,10 @@
|
|||||||
<div *ngIf="!processInstanceDetails">{{ 'DETAILS.MESSAGES.NONE'|translate }}</div>
|
<div *ngIf="!processInstanceDetails">{{ 'DETAILS.MESSAGES.NONE'|translate }}</div>
|
||||||
<div *ngIf="processInstanceDetails">
|
<div *ngIf="processInstanceDetails">
|
||||||
<h2 class="mdl-card__title-text">{{ getProcessNameOrDescription('medium') }}</h2>
|
<h2 class="mdl-card__title-text">{{ getProcessNameOrDescription('medium') }}</h2>
|
||||||
<activiti-process-instance-header [processInstance]="processInstanceDetails"></activiti-process-instance-header>
|
<activiti-process-instance-header
|
||||||
|
[processInstance]="processInstanceDetails"
|
||||||
|
(showProcessDiagram)="onShowProcessDiagram($event)">
|
||||||
|
</activiti-process-instance-header>
|
||||||
<div class="mdl-card mdl-shadow--2dp activiti-process-container">
|
<div class="mdl-card mdl-shadow--2dp activiti-process-container">
|
||||||
<div class="mdl-cell mdl-cell--12-col">
|
<div class="mdl-cell mdl-cell--12-col">
|
||||||
<activiti-process-instance-tasks
|
<activiti-process-instance-tasks
|
||||||
|
|||||||
+8
@@ -58,6 +58,9 @@ export class ActivitiProcessInstanceDetails implements OnChanges {
|
|||||||
|
|
||||||
processInstanceDetails: ProcessInstance;
|
processInstanceDetails: ProcessInstance;
|
||||||
|
|
||||||
|
@Output()
|
||||||
|
showProcessDiagram: EventEmitter<any> = new EventEmitter<any>();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor
|
* Constructor
|
||||||
* @param translate Translation service
|
* @param translate Translation service
|
||||||
@@ -136,4 +139,9 @@ export class ActivitiProcessInstanceDetails implements OnChanges {
|
|||||||
this.logService.error(`ProcessListInstanceHeader: error parsing date ${value} to format ${format}`);
|
this.logService.error(`ProcessListInstanceHeader: error parsing date ${value} to format ${format}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
onShowProcessDiagram(event: any) {
|
||||||
|
this.showProcessDiagram.emit(event);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+3
@@ -15,5 +15,8 @@
|
|||||||
<span class="activiti-label">{{ 'DETAILS.LABELS.ENDED' | translate }}</span>:
|
<span class="activiti-label">{{ 'DETAILS.LABELS.ENDED' | translate }}</span>:
|
||||||
<span class="activiti-process-header__value">{{getFormatDate(processInstance.ended, 'medium')}}</span>
|
<span class="activiti-process-header__value">{{getFormatDate(processInstance.ended, 'medium')}}</span>
|
||||||
</div>
|
</div>
|
||||||
|
<button data-automation-id="header-show-diagram" id="show-diagram-button" md-raised-button *ngIf="isShowDiagram()" [attr.disabled]="isDiagramDisabled()" (click)="showDiagramEvent()" >
|
||||||
|
{{ 'DETAILS.BUTTON.SHOW_DIAGRAM' | translate }}
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
+32
-1
@@ -20,7 +20,7 @@ import { By } from '@angular/platform-browser';
|
|||||||
import { AlfrescoTranslationService, CoreModule } from 'ng2-alfresco-core';
|
import { AlfrescoTranslationService, CoreModule } from 'ng2-alfresco-core';
|
||||||
import { ActivitiProcessInstanceHeader } from './activiti-process-instance-header.component';
|
import { ActivitiProcessInstanceHeader } from './activiti-process-instance-header.component';
|
||||||
import { TranslationMock } from './../assets/translation.service.mock';
|
import { TranslationMock } from './../assets/translation.service.mock';
|
||||||
import { exampleProcess } from './../assets/activiti-process.model.mock';
|
import { exampleProcess, processEnded } from './../assets/activiti-process.model.mock';
|
||||||
import { ProcessInstance } from './../models/process-instance.model';
|
import { ProcessInstance } from './../models/process-instance.model';
|
||||||
import { ActivitiProcessComments } from './activiti-process-comments.component';
|
import { ActivitiProcessComments } from './activiti-process-comments.component';
|
||||||
import { ActivitiProcessService } from './../services/activiti-process.service';
|
import { ActivitiProcessService } from './../services/activiti-process.service';
|
||||||
@@ -30,6 +30,7 @@ describe('ActivitiProcessInstanceHeader', () => {
|
|||||||
let componentHandler: any;
|
let componentHandler: any;
|
||||||
let component: ActivitiProcessInstanceHeader;
|
let component: ActivitiProcessInstanceHeader;
|
||||||
let fixture: ComponentFixture<ActivitiProcessInstanceHeader>;
|
let fixture: ComponentFixture<ActivitiProcessInstanceHeader>;
|
||||||
|
let element: HTMLElement;
|
||||||
|
|
||||||
beforeEach(async(() => {
|
beforeEach(async(() => {
|
||||||
TestBed.configureTestingModule({
|
TestBed.configureTestingModule({
|
||||||
@@ -51,6 +52,7 @@ describe('ActivitiProcessInstanceHeader', () => {
|
|||||||
|
|
||||||
fixture = TestBed.createComponent(ActivitiProcessInstanceHeader);
|
fixture = TestBed.createComponent(ActivitiProcessInstanceHeader);
|
||||||
component = fixture.componentInstance;
|
component = fixture.componentInstance;
|
||||||
|
element = fixture.nativeElement;
|
||||||
|
|
||||||
component.processInstance = new ProcessInstance(exampleProcess);
|
component.processInstance = new ProcessInstance(exampleProcess);
|
||||||
|
|
||||||
@@ -98,4 +100,33 @@ describe('ActivitiProcessInstanceHeader', () => {
|
|||||||
expect(formValueEl.nativeElement.innerText).toBe('Nov 10, 2016, 3:37:30 AM');
|
expect(formValueEl.nativeElement.innerText).toBe('Nov 10, 2016, 3:37:30 AM');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should render the button show diagram as default', () => {
|
||||||
|
fixture.detectChanges();
|
||||||
|
let formValueEl = fixture.debugElement.query(By.css('[data-automation-id="header-show-diagram"]'));
|
||||||
|
expect(formValueEl).not.toBeNull();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should render the button show diagram enabled as default', () => {
|
||||||
|
fixture.detectChanges();
|
||||||
|
let showButton: HTMLButtonElement = <HTMLButtonElement> element.querySelector('#show-diagram-button');
|
||||||
|
expect(showButton).toBeDefined();
|
||||||
|
expect(showButton.disabled).toBeFalsy();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should render the button show diagram disabled', () => {
|
||||||
|
component.processInstance = new ProcessInstance(processEnded);
|
||||||
|
fixture.detectChanges();
|
||||||
|
let showButton: HTMLButtonElement = <HTMLButtonElement> element.querySelector('#show-diagram-button');
|
||||||
|
expect(showButton).toBeDefined();
|
||||||
|
expect(showButton.disabled).toBeTruthy();
|
||||||
|
});
|
||||||
|
|
||||||
|
it('should NOT render the button show diagram is the property showDiagram is false', () => {
|
||||||
|
component.showDiagram = false;
|
||||||
|
fixture.detectChanges();
|
||||||
|
let formValueEl = fixture.debugElement.query(By.css('[data-automation-id="header-show-pippo"]'));
|
||||||
|
expect(formValueEl).toBeNull();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|||||||
+18
@@ -29,12 +29,18 @@ declare let componentHandler: any;
|
|||||||
})
|
})
|
||||||
export class ActivitiProcessInstanceHeader {
|
export class ActivitiProcessInstanceHeader {
|
||||||
|
|
||||||
|
@Input()
|
||||||
|
showDiagram: boolean = true;
|
||||||
|
|
||||||
@Input()
|
@Input()
|
||||||
processInstance: ProcessInstance;
|
processInstance: ProcessInstance;
|
||||||
|
|
||||||
@Output()
|
@Output()
|
||||||
onError: EventEmitter<any> = new EventEmitter<any>();
|
onError: EventEmitter<any> = new EventEmitter<any>();
|
||||||
|
|
||||||
|
@Output()
|
||||||
|
showProcessDiagram: EventEmitter<any> = new EventEmitter<any>();
|
||||||
|
|
||||||
constructor(private translate: AlfrescoTranslationService,
|
constructor(private translate: AlfrescoTranslationService,
|
||||||
private logService: LogService) {
|
private logService: LogService) {
|
||||||
|
|
||||||
@@ -64,4 +70,16 @@ export class ActivitiProcessInstanceHeader {
|
|||||||
isRunning(): boolean {
|
isRunning(): boolean {
|
||||||
return this.processInstance && !this.processInstance.ended;
|
return this.processInstance && !this.processInstance.ended;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isDiagramDisabled(): boolean {
|
||||||
|
return !this.isRunning() ? true : undefined;
|
||||||
|
}
|
||||||
|
|
||||||
|
showDiagramEvent() {
|
||||||
|
this.showProcessDiagram.emit({value: this.processInstance.id});
|
||||||
|
}
|
||||||
|
|
||||||
|
isShowDiagram(): boolean {
|
||||||
|
return this.showDiagram;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,8 @@
|
|||||||
"TASK_SUBTITLE": "Assigned to {{user}}, created {{created}}"
|
"TASK_SUBTITLE": "Assigned to {{user}}, created {{created}}"
|
||||||
},
|
},
|
||||||
"BUTTON": {
|
"BUTTON": {
|
||||||
"CANCEL": "Cancel Process"
|
"CANCEL": "Cancel Process",
|
||||||
|
"SHOW_DIAGRAM": "Show Diagram"
|
||||||
},
|
},
|
||||||
"MESSAGES": {
|
"MESSAGES": {
|
||||||
"NONE": "No process details found."
|
"NONE": "No process details found."
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;AAEH,sCAA8D;AAC9D,uDAA+C;AAE/C,0FAAsF;AACtF,sFAAmF;AACnF,oFAAiF;AACjF,oGAAgG;AAChG,gGAA4F;AAC5F,gEAA8D;AAkB9D,8DAAyD;AACzD,sEAAiE;AACjE,iEAA4D;AAC5D,mDAA8C;AAC9C,+DAA0D;AAC1D,oEAA+D;AAElD,QAAA,iBAAiB,GAAU;IACpC,iDAAsB;IACtB,oDAAuB;IACvB,+CAAqB;IACrB,8DAA4B;IAC5B,0DAA0B;CAC7B,CAAC;AAEW,QAAA,gBAAgB,GAAU;IACnC,8BAAa;CAChB,CAAC;AAgBF,IAAa,YAAY;IAAzB;IASA,CAAC;IARU,oBAAO,GAAd;QACI,MAAM,CAAC;YACH,QAAQ,EAAE,cAAY;YACtB,SAAS,EACF,wBAAgB,QACtB;SACJ,CAAC;IACN,CAAC;IACL,mBAAC;AAAD,CAAC,AATD,IASC;AATY,YAAY;IAdxB,eAAQ,CAAC;QACN,OAAO,EAAE;YACL,8BAAU;SACb;QACD,YAAY,EACL,yBAAiB,QACvB;QACD,SAAS,EACF,wBAAgB,QACtB;QACD,OAAO,EACA,yBAAiB,QACvB;KACJ,CAAC;GACW,YAAY,CASxB;AATY,oCAAY"}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;AAWH,sCAA8D;AAC9D,uDAA+C;AAE/C,sEAAoE;AACpE,oFAAiF;AACjF,4EAA0E;AAC1E,gFAA8E;AAC9E,8FAAmF;AACnF,4EAA0E;AAC1E,0FAAuF;AAEvF,uDAAkD;AAClD,6DAAwD;AACxD,0DAAqD;AACrD,4DAAuD;AACvD,mEAA8D;AAC9D,0DAAqD;AAExC,QAAA,iBAAiB,GAAU;IACpC,kCAAe;IACf,wCAAkB;IAClB,4CAAoB;IACpB,iDAAkB;IAClB,wCAAkB;IAClB,qDAAwB;CAC3B,CAAC;AAEW,QAAA,gBAAgB,GAAU;IACnC,iDAAsB;CACzB,CAAC;AAgBF,IAAa,YAAY;IAAzB;IASA,CAAC;IARU,oBAAO,GAAd;QACI,MAAM,CAAC;YACH,QAAQ,EAAE,cAAY;YACtB,SAAS,EACF,wBAAgB,QACtB;SACJ,CAAC;IACN,CAAC;IACL,mBAAC;AAAD,CAAC,AATD,IASC;AATY,YAAY;IAdxB,eAAQ,CAAC;QACN,OAAO,EAAE;YACL,8BAAU;SACb;QACD,YAAY,EACL,yBAAiB,QACvB;QACD,SAAS,EACF,wBAAgB,QACtB;QACD,OAAO,EACA,yBAAiB,QACvB;KACJ,CAAC;GACW,YAAY,CASxB;AATY,oCAAY"}
|
||||||
Reference in New Issue
Block a user