@valtimo/milestone 4.15.3-next-main.15 → 4.15.3-next-main.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -6
- package/bundles/valtimo-milestone.umd.js +91 -51
- package/bundles/valtimo-milestone.umd.js.map +1 -1
- package/bundles/valtimo-milestone.umd.min.js +1 -1
- package/bundles/valtimo-milestone.umd.min.js.map +1 -1
- package/esm2015/lib/milestone-create/milestone-create.component.js +15 -7
- package/esm2015/lib/milestone-edit/milestone-edit.component.js +19 -10
- package/esm2015/lib/milestone-list/milestone-list.component.js +8 -6
- package/esm2015/lib/milestone-routing.module.js +8 -11
- package/esm2015/lib/milestone-set-create/milestone-set-create.component.js +4 -4
- package/esm2015/lib/milestone-set-edit/milestone-set-edit.component.js +8 -6
- package/esm2015/lib/milestone.component.js +3 -5
- package/esm2015/lib/milestone.module.js +11 -5
- package/esm2015/lib/milestone.service.js +2 -2
- package/esm2015/public-api.js +1 -1
- package/esm2015/valtimo-milestone.js +1 -1
- package/fesm2015/valtimo-milestone.js +69 -47
- package/fesm2015/valtimo-milestone.js.map +1 -1
- package/package.json +1 -1
- package/valtimo-milestone.metadata.json +1 -1
package/README.md
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
# Milestone
|
|
2
2
|
|
|
3
|
-
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version
|
|
3
|
+
This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version
|
|
4
|
+
8.2.14.
|
|
4
5
|
|
|
5
6
|
## Code scaffolding
|
|
6
7
|
|
|
7
|
-
Run `ng generate component component-name --project milestone` to generate a new component. You can
|
|
8
|
-
|
|
8
|
+
Run `ng generate component component-name --project milestone` to generate a new component. You can
|
|
9
|
+
also use `ng generate directive|pipe|service|class|guard|interface|enum|module --project milestone`.
|
|
10
|
+
|
|
11
|
+
> Note: Don't forget to add `--project milestone` or else it will be added to the default project in
|
|
12
|
+
> your `angular.json` file.
|
|
9
13
|
|
|
10
14
|
## Build
|
|
11
15
|
|
|
12
|
-
Run `ng build milestone` to build the project. The build artifacts will be stored in the `dist/`
|
|
16
|
+
Run `ng build milestone` to build the project. The build artifacts will be stored in the `dist/`
|
|
17
|
+
directory.
|
|
13
18
|
|
|
14
19
|
## Publishing
|
|
15
20
|
|
|
16
|
-
After building your library with `ng build milestone`, go to the dist folder `cd dist/milestone` and
|
|
21
|
+
After building your library with `ng build milestone`, go to the dist folder `cd dist/milestone` and
|
|
22
|
+
run `npm publish`.
|
|
17
23
|
|
|
18
24
|
## Running unit tests
|
|
19
25
|
|
|
@@ -21,4 +27,5 @@ Run `ng test milestone` to execute the unit tests via [Karma](https://karma-runn
|
|
|
21
27
|
|
|
22
28
|
## Further help
|
|
23
29
|
|
|
24
|
-
To get more help on the Angular CLI use `ng help` or go check out the
|
|
30
|
+
To get more help on the Angular CLI use `ng help` or go check out the
|
|
31
|
+
[Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md).
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
MilestoneService.ɵprov = i0.ɵɵdefineInjectable({ factory: function MilestoneService_Factory() { return new MilestoneService(i0.ɵɵinject(i1.ConfigService), i0.ɵɵinject(i2.HttpClient)); }, token: MilestoneService, providedIn: "root" });
|
|
64
64
|
MilestoneService.decorators = [
|
|
65
65
|
{ type: i0.Injectable, args: [{
|
|
66
|
-
providedIn: 'root'
|
|
66
|
+
providedIn: 'root',
|
|
67
67
|
},] }
|
|
68
68
|
];
|
|
69
69
|
MilestoneService.ctorParameters = function () { return [
|
|
@@ -89,8 +89,7 @@
|
|
|
89
89
|
var MilestoneComponent = /** @class */ (function () {
|
|
90
90
|
function MilestoneComponent() {
|
|
91
91
|
}
|
|
92
|
-
MilestoneComponent.prototype.ngOnInit = function () {
|
|
93
|
-
};
|
|
92
|
+
MilestoneComponent.prototype.ngOnInit = function () { };
|
|
94
93
|
return MilestoneComponent;
|
|
95
94
|
}());
|
|
96
95
|
MilestoneComponent.decorators = [
|
|
@@ -133,12 +132,12 @@
|
|
|
133
132
|
});
|
|
134
133
|
MilestoneSetCreateComponent.prototype.ngOnInit = function () {
|
|
135
134
|
this.form = this.formBuilder.group({
|
|
136
|
-
title: new forms.FormControl('', forms.Validators.required)
|
|
135
|
+
title: new forms.FormControl('', forms.Validators.required),
|
|
137
136
|
});
|
|
138
137
|
};
|
|
139
138
|
MilestoneSetCreateComponent.prototype.reset = function () {
|
|
140
139
|
this.form.setValue({
|
|
141
|
-
title: ''
|
|
140
|
+
title: '',
|
|
142
141
|
});
|
|
143
142
|
};
|
|
144
143
|
MilestoneSetCreateComponent.prototype.createMilestoneSet = function () {
|
|
@@ -153,7 +152,7 @@
|
|
|
153
152
|
MilestoneSetCreateComponent.decorators = [
|
|
154
153
|
{ type: i0.Component, args: [{
|
|
155
154
|
selector: 'valtimo-milestone-set-create',
|
|
156
|
-
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n
|
|
155
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"createMilestoneSet()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\">Title</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"title\"\n formControlName=\"title\"\n class=\"form-control\"\n placeholder=\"Milestone set title\"\n [ngClass]=\"{\n 'is-valid': formControls.title.touched && formControls.title.valid,\n 'is-invalid': formControls.title.touched && formControls.title.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.title.touched && formControls.title.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.title.errors.required\">Title is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/milestones'\" class=\"btn btn-space btn-default\">Back</a>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n",
|
|
157
156
|
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */"]
|
|
158
157
|
},] }
|
|
159
158
|
];
|
|
@@ -203,8 +202,14 @@
|
|
|
203
202
|
title: new forms.FormControl('', forms.Validators.required),
|
|
204
203
|
processDefinitionKey: new forms.FormControl('', forms.Validators.required),
|
|
205
204
|
taskDefinitionKey: new forms.FormControl('', forms.Validators.required),
|
|
206
|
-
plannedIntervalInDays: new forms.FormControl('', [
|
|
207
|
-
|
|
205
|
+
plannedIntervalInDays: new forms.FormControl('', [
|
|
206
|
+
forms.Validators.required,
|
|
207
|
+
forms.Validators.pattern('^[0-9]*$'),
|
|
208
|
+
]),
|
|
209
|
+
color: new forms.FormControl('', [
|
|
210
|
+
forms.Validators.required,
|
|
211
|
+
forms.Validators.pattern('^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$'),
|
|
212
|
+
]),
|
|
208
213
|
});
|
|
209
214
|
this.getMilestoneSets();
|
|
210
215
|
this.getMilestones();
|
|
@@ -216,7 +221,7 @@
|
|
|
216
221
|
processDefinitionKey: '',
|
|
217
222
|
taskDefinitionKey: '',
|
|
218
223
|
plannedIntervalInDays: '',
|
|
219
|
-
color: ''
|
|
224
|
+
color: '',
|
|
220
225
|
});
|
|
221
226
|
};
|
|
222
227
|
MilestoneCreateComponent.prototype.getMilestoneSets = function () {
|
|
@@ -227,7 +232,9 @@
|
|
|
227
232
|
};
|
|
228
233
|
MilestoneCreateComponent.prototype.getMilestones = function () {
|
|
229
234
|
var _this = this;
|
|
230
|
-
this.processService
|
|
235
|
+
this.processService
|
|
236
|
+
.getProcessDefinitions()
|
|
237
|
+
.subscribe(function (processDefinitions) {
|
|
231
238
|
_this.processDefinitions = processDefinitions;
|
|
232
239
|
});
|
|
233
240
|
};
|
|
@@ -257,7 +264,7 @@
|
|
|
257
264
|
MilestoneCreateComponent.decorators = [
|
|
258
265
|
{ type: i0.Component, args: [{
|
|
259
266
|
selector: 'valtimo-milestone-create',
|
|
260
|
-
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"createMilestone()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\">Milestone set</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select type=\"text\" id=\"milestoneSet\" formControlName=\"milestoneSet\"\n class=\"form-control\"\n [ngClass]=\"{'is-valid': formControls.milestoneSet.touched && formControls.milestoneSet.valid, 'is-invalid': formControls.milestoneSet.touched && formControls.milestoneSet.errors}\"\n required>\n <option value=\"\" selected disabled>Choose a Milestone set</option>\n <option *ngFor=\"let milestoneSet of milestoneSets\" [value]=\"milestoneSet.id\">{{milestoneSet.title}} ({{milestoneSet.id}})</option>\n </select>\n <div *ngIf=\"formControls.milestoneSet.touched && formControls.milestoneSet.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.milestoneSet.errors.required\">Milestone set is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\">Title</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input type=\"text\" id=\"title\" formControlName=\"title\"\n class=\"form-control\" placeholder=\"Milestone title\"\n [ngClass]=\"{'is-valid': formControls.title.touched && formControls.title.valid, 'is-invalid': formControls.title.touched && formControls.title.errors}\"\n required/>\n <div *ngIf=\"formControls.title.touched && formControls.title.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.title.errors.required\">Title is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"process\">Process definition</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select type=\"text\" id=\"process\" formControlName=\"processDefinitionKey\"\n class=\"form-control\" (ngModelChange)=\"getFlownodes($event.id)\"\n [ngClass]=\"{'is-valid': formControls.processDefinitionKey.touched && formControls.processDefinitionKey.valid, 'is-invalid': formControls.processDefinitionKey.touched && formControls.processDefinitionKey.errors}\"\n required>\n <option value=\"\" selected disabled>Choose a process</option>\n <option *ngFor=\"let processDefinition of processDefinitions\" [ngValue]=\"processDefinition\">{{processDefinition.name}} ({{processDefinition.key}})</option>\n </select>\n <div *ngIf=\"formControls.processDefinitionKey.touched && formControls.processDefinitionKey.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.processDefinitionKey.errors.required\">Process is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"process\">Task</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select type=\"text\" id=\"task\" formControlName=\"taskDefinitionKey\"\n class=\"form-control\"\n [ngClass]=\"{'is-valid': formControls.taskDefinitionKey.touched && formControls.taskDefinitionKey.valid, 'is-invalid': formControls.taskDefinitionKey.touched && formControls.taskDefinitionKey.errors}\"\n required>\n <option value=\"\" selected disabled>Choose a task</option>\n <option *ngFor=\"let taskDefinition of taskDefinitions |keyvalue\" [value]=\"taskDefinition.key\">{{taskDefinition.value}} ({{taskDefinition.key}})</option>\n </select>\n <div *ngIf=\"formControls.taskDefinitionKey.touched && formControls.taskDefinitionKey.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.taskDefinitionKey.errors.required\">Task is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"interval\">Interval (in days)</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input type=\"text\" id=\"interval\" formControlName=\"plannedIntervalInDays\"\n class=\"form-control\" placeholder=\"Interval (in days)\"\n [ngClass]=\"{'is-valid': formControls.plannedIntervalInDays.touched && formControls.plannedIntervalInDays.valid, 'is-invalid': formControls.plannedIntervalInDays.touched && formControls.plannedIntervalInDays.errors}\"\n required/>\n <div *ngIf=\"formControls.plannedIntervalInDays.touched && formControls.plannedIntervalInDays.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.plannedIntervalInDays.errors.required\">Interval is required</div>\n <div *ngIf=\"formControls.plannedIntervalInDays.errors.pattern\">Interval is not a valid number</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"color\">Color</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n\n <input [colorPicker]=\"form.value.color\"\n (colorPickerChange)=\"form.controls.color.setValue($event)\"\n [style.background]=\"form.value.color\"\n type=\"text\" id=\"color\" formControlName=\"color\"\n class=\"form-control\" placeholder=\"Color\"\n [ngClass]=\"{'is-valid': formControls.color.touched && formControls.color.valid, 'is-invalid': formControls.color.touched && formControls.color.errors}\"\n required/>\n <div *ngIf=\"formControls.color.touched && formControls.color.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.color.errors.required\">Interval is required</div>\n <div *ngIf=\"formControls.color.errors.pattern\">Color is not a valid hex code</div>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/milestones'\" class=\"btn btn-space btn-default\">Back</a>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n",
|
|
267
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"createMilestone()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\"\n >Milestone set</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select\n type=\"text\"\n id=\"milestoneSet\"\n formControlName=\"milestoneSet\"\n class=\"form-control\"\n [ngClass]=\"{\n 'is-valid':\n formControls.milestoneSet.touched && formControls.milestoneSet.valid,\n 'is-invalid':\n formControls.milestoneSet.touched && formControls.milestoneSet.errors\n }\"\n required\n >\n <option value=\"\" selected disabled>Choose a Milestone set</option>\n <option *ngFor=\"let milestoneSet of milestoneSets\" [value]=\"milestoneSet.id\">\n {{ milestoneSet.title }} ({{ milestoneSet.id }})\n </option>\n </select>\n <div\n *ngIf=\"formControls.milestoneSet.touched && formControls.milestoneSet.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.milestoneSet.errors.required\">\n Milestone set is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\">Title</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"title\"\n formControlName=\"title\"\n class=\"form-control\"\n placeholder=\"Milestone title\"\n [ngClass]=\"{\n 'is-valid': formControls.title.touched && formControls.title.valid,\n 'is-invalid': formControls.title.touched && formControls.title.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.title.touched && formControls.title.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.title.errors.required\">Title is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"process\"\n >Process definition</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select\n type=\"text\"\n id=\"process\"\n formControlName=\"processDefinitionKey\"\n class=\"form-control\"\n (ngModelChange)=\"getFlownodes($event.id)\"\n [ngClass]=\"{\n 'is-valid':\n formControls.processDefinitionKey.touched &&\n formControls.processDefinitionKey.valid,\n 'is-invalid':\n formControls.processDefinitionKey.touched &&\n formControls.processDefinitionKey.errors\n }\"\n required\n >\n <option value=\"\" selected disabled>Choose a process</option>\n <option\n *ngFor=\"let processDefinition of processDefinitions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.name }} ({{ processDefinition.key }})\n </option>\n </select>\n <div\n *ngIf=\"\n formControls.processDefinitionKey.touched &&\n formControls.processDefinitionKey.errors\n \"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.processDefinitionKey.errors.required\">\n Process is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"process\">Task</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select\n type=\"text\"\n id=\"task\"\n formControlName=\"taskDefinitionKey\"\n class=\"form-control\"\n [ngClass]=\"{\n 'is-valid':\n formControls.taskDefinitionKey.touched &&\n formControls.taskDefinitionKey.valid,\n 'is-invalid':\n formControls.taskDefinitionKey.touched &&\n formControls.taskDefinitionKey.errors\n }\"\n required\n >\n <option value=\"\" selected disabled>Choose a task</option>\n <option\n *ngFor=\"let taskDefinition of taskDefinitions | keyvalue\"\n [value]=\"taskDefinition.key\"\n >\n {{ taskDefinition.value }} ({{ taskDefinition.key }})\n </option>\n </select>\n <div\n *ngIf=\"\n formControls.taskDefinitionKey.touched && formControls.taskDefinitionKey.errors\n \"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.taskDefinitionKey.errors.required\">Task is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"interval\"\n >Interval (in days)</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"interval\"\n formControlName=\"plannedIntervalInDays\"\n class=\"form-control\"\n placeholder=\"Interval (in days)\"\n [ngClass]=\"{\n 'is-valid':\n formControls.plannedIntervalInDays.touched &&\n formControls.plannedIntervalInDays.valid,\n 'is-invalid':\n formControls.plannedIntervalInDays.touched &&\n formControls.plannedIntervalInDays.errors\n }\"\n required\n />\n <div\n *ngIf=\"\n formControls.plannedIntervalInDays.touched &&\n formControls.plannedIntervalInDays.errors\n \"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.plannedIntervalInDays.errors.required\">\n Interval is required\n </div>\n <div *ngIf=\"formControls.plannedIntervalInDays.errors.pattern\">\n Interval is not a valid number\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"color\">Color</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n [colorPicker]=\"form.value.color\"\n (colorPickerChange)=\"form.controls.color.setValue($event)\"\n [style.background]=\"form.value.color\"\n type=\"text\"\n id=\"color\"\n formControlName=\"color\"\n class=\"form-control\"\n placeholder=\"Color\"\n [ngClass]=\"{\n 'is-valid': formControls.color.touched && formControls.color.valid,\n 'is-invalid': formControls.color.touched && formControls.color.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.color.touched && formControls.color.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.color.errors.required\">Interval is required</div>\n <div *ngIf=\"formControls.color.errors.pattern\">Color is not a valid hex code</div>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/milestones'\" class=\"btn btn-space btn-default\">Back</a>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n",
|
|
261
268
|
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */"]
|
|
262
269
|
},] }
|
|
263
270
|
];
|
|
@@ -302,7 +309,7 @@
|
|
|
302
309
|
MilestoneSetEditComponent.prototype.ngOnInit = function () {
|
|
303
310
|
this.form = this.formBuilder.group({
|
|
304
311
|
id: new forms.FormControl({ value: '', disabled: true }, forms.Validators.required),
|
|
305
|
-
title: new forms.FormControl({}, forms.Validators.required)
|
|
312
|
+
title: new forms.FormControl({}, forms.Validators.required),
|
|
306
313
|
});
|
|
307
314
|
this.getMilestoneSet();
|
|
308
315
|
};
|
|
@@ -312,10 +319,12 @@
|
|
|
312
319
|
MilestoneSetEditComponent.prototype.getMilestoneSet = function () {
|
|
313
320
|
var _this = this;
|
|
314
321
|
var milestoneSetId = this.route.snapshot.paramMap.get('id');
|
|
315
|
-
this.milestoneService
|
|
322
|
+
this.milestoneService
|
|
323
|
+
.getMilestoneSet(+milestoneSetId)
|
|
324
|
+
.subscribe(function (milestoneSet) {
|
|
316
325
|
_this.form.setValue({
|
|
317
326
|
id: milestoneSet.id,
|
|
318
|
-
title: milestoneSet.title
|
|
327
|
+
title: milestoneSet.title,
|
|
319
328
|
});
|
|
320
329
|
});
|
|
321
330
|
};
|
|
@@ -345,7 +354,7 @@
|
|
|
345
354
|
MilestoneSetEditComponent.decorators = [
|
|
346
355
|
{ type: i0.Component, args: [{
|
|
347
356
|
selector: 'valtimo-milestone-set-edit',
|
|
348
|
-
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-body bg-light\">\n <div class=\"row py-5\">\n <div class=\"col-12\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ form.getRawValue().id }}</div>\n </div>\n </div>\n </div>\n </div>\n
|
|
357
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-body bg-light\">\n <div class=\"row py-5\">\n <div class=\"col-12\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ form.getRawValue().id }}</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"updateMilestoneSet()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\">Title</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"title\"\n formControlName=\"title\"\n class=\"form-control\"\n placeholder=\"Milestone set title\"\n [ngClass]=\"{\n 'is-valid': formControls.title.touched && formControls.title.valid,\n 'is-invalid': formControls.title.touched && formControls.title.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.title.touched && formControls.title.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.title.errors.required\">Title is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/milestones'\" class=\"btn btn-space btn-default\">Back</a>\n <button type=\"button\" class=\"btn btn-space btn-danger\" (click)=\"delete()\">\n Delete\n </button>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n",
|
|
349
358
|
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */"]
|
|
350
359
|
},] }
|
|
351
360
|
];
|
|
@@ -398,8 +407,14 @@
|
|
|
398
407
|
title: new forms.FormControl('', forms.Validators.required),
|
|
399
408
|
processDefinitionKey: new forms.FormControl('', forms.Validators.required),
|
|
400
409
|
taskDefinitionKey: new forms.FormControl('', forms.Validators.required),
|
|
401
|
-
plannedIntervalInDays: new forms.FormControl('', [
|
|
402
|
-
|
|
410
|
+
plannedIntervalInDays: new forms.FormControl('', [
|
|
411
|
+
forms.Validators.required,
|
|
412
|
+
forms.Validators.pattern('^[0-9]*$'),
|
|
413
|
+
]),
|
|
414
|
+
color: new forms.FormControl('', [
|
|
415
|
+
forms.Validators.required,
|
|
416
|
+
forms.Validators.pattern('^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$'),
|
|
417
|
+
]),
|
|
403
418
|
});
|
|
404
419
|
this.getMilestone();
|
|
405
420
|
this.getMilestoneSets();
|
|
@@ -412,13 +427,14 @@
|
|
|
412
427
|
processDefinitionKey: '',
|
|
413
428
|
taskDefinitionKey: '',
|
|
414
429
|
plannedIntervalInDays: '',
|
|
415
|
-
color: ''
|
|
430
|
+
color: '',
|
|
416
431
|
});
|
|
417
432
|
};
|
|
418
433
|
MilestoneEditComponent.prototype.getMilestone = function () {
|
|
419
434
|
var _this = this;
|
|
420
435
|
var milestoneId = this.route.snapshot.paramMap.get('id');
|
|
421
|
-
this.milestoneService
|
|
436
|
+
this.milestoneService
|
|
437
|
+
.getMilestone(+milestoneId)
|
|
422
438
|
.pipe(operators.switchMap(function (milestone) {
|
|
423
439
|
_this.form.patchValue({
|
|
424
440
|
id: milestone.id,
|
|
@@ -432,7 +448,7 @@
|
|
|
432
448
|
}))
|
|
433
449
|
.subscribe(function (processDefinition) {
|
|
434
450
|
_this.form.patchValue({
|
|
435
|
-
processDefinitionKey: processDefinition
|
|
451
|
+
processDefinitionKey: processDefinition,
|
|
436
452
|
});
|
|
437
453
|
});
|
|
438
454
|
};
|
|
@@ -447,7 +463,9 @@
|
|
|
447
463
|
};
|
|
448
464
|
MilestoneEditComponent.prototype.getProcessDefinitions = function () {
|
|
449
465
|
var _this = this;
|
|
450
|
-
this.processService
|
|
466
|
+
this.processService
|
|
467
|
+
.getProcessDefinitions()
|
|
468
|
+
.subscribe(function (processDefinitions) {
|
|
451
469
|
_this.processDefinitions = processDefinitions;
|
|
452
470
|
});
|
|
453
471
|
};
|
|
@@ -489,7 +507,7 @@
|
|
|
489
507
|
MilestoneEditComponent.decorators = [
|
|
490
508
|
{ type: i0.Component, args: [{
|
|
491
509
|
selector: 'valtimo-milestone-edit',
|
|
492
|
-
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-body bg-light\">\n <div class=\"row py-5\">\n <div class=\"col-12\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ form.getRawValue().id }}</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"updateMilestone()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\">Milestone set</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select type=\"text\" id=\"milestoneSet\" formControlName=\"milestoneSet\"\n class=\"form-control\"\n [ngClass]=\"{'is-valid': formControls.milestoneSet.touched && formControls.milestoneSet.valid, 'is-invalid': formControls.milestoneSet.touched && formControls.milestoneSet.errors}\"\n required>\n <option value=\"\" selected disabled>Choose a Milestone set</option>\n <option *ngFor=\"let milestoneSet of milestoneSets\" [value]=\"milestoneSet.id\">{{milestoneSet.title}} ({{milestoneSet.id}})</option>\n </select>\n <div *ngIf=\"formControls.milestoneSet.touched && formControls.milestoneSet.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.milestoneSet.errors.required\">Milestone set is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\">Title</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input type=\"text\" id=\"title\" formControlName=\"title\"\n class=\"form-control\" placeholder=\"Milestone title\"\n [ngClass]=\"{'is-valid': formControls.title.touched && formControls.title.valid, 'is-invalid': formControls.title.touched && formControls.title.errors}\"\n required/>\n <div *ngIf=\"formControls.title.touched && formControls.title.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.title.errors.required\">Title is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"process\">Process definition</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select type=\"text\" id=\"process\" formControlName=\"processDefinitionKey\"\n class=\"form-control\" (ngModelChange)=\"getFlownodes($event.id)\"\n [ngClass]=\"{'is-valid': formControls.processDefinitionKey.touched && formControls.processDefinitionKey.valid, 'is-invalid': formControls.processDefinitionKey.touched && formControls.processDefinitionKey.errors}\"\n required [compareWith]=\"compareProcessDefinitions\">\n <option value=\"\" disabled>Choose a process</option>\n <option *ngFor=\"let processDefinition of processDefinitions\" [ngValue]=\"processDefinition\">{{processDefinition.name}} ({{processDefinition.key}})</option>\n </select>\n <div *ngIf=\"formControls.processDefinitionKey.touched && formControls.processDefinitionKey.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.processDefinitionKey.errors.required\">Process is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"process\">Task</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select type=\"text\" id=\"task\" formControlName=\"taskDefinitionKey\"\n class=\"form-control\"\n [ngClass]=\"{'is-valid': formControls.taskDefinitionKey.touched && formControls.taskDefinitionKey.valid, 'is-invalid': formControls.taskDefinitionKey.touched && formControls.taskDefinitionKey.errors}\"\n required>\n <option value=\"\" disabled>Choose a task</option>\n <option *ngFor=\"let taskDefinition of taskDefinitions |keyvalue\" [value]=\"taskDefinition.key\">{{taskDefinition.value}} ({{taskDefinition.key}})</option>\n </select>\n <div *ngIf=\"formControls.taskDefinitionKey.touched && formControls.taskDefinitionKey.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.taskDefinitionKey.errors.required\">Task is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"interval\">Interval (in days)</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input type=\"text\" id=\"interval\" formControlName=\"plannedIntervalInDays\"\n class=\"form-control\" placeholder=\"Interval (in days)\"\n [ngClass]=\"{'is-valid': formControls.plannedIntervalInDays.touched && formControls.plannedIntervalInDays.valid, 'is-invalid': formControls.plannedIntervalInDays.touched && formControls.plannedIntervalInDays.errors}\"\n required/>\n <div *ngIf=\"formControls.plannedIntervalInDays.touched && formControls.plannedIntervalInDays.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.plannedIntervalInDays.errors.required\">Interval is required</div>\n <div *ngIf=\"formControls.plannedIntervalInDays.errors.pattern\">Interval is not a valid number</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"color\">Color</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n\n <input [colorPicker]=\"form.value.color\"\n (colorPickerChange)=\"form.controls.color.setValue($event)\"\n [style.background]=\"form.value.color\"\n type=\"text\" id=\"color\" formControlName=\"color\"\n class=\"form-control\" placeholder=\"Color\"\n [ngClass]=\"{'is-valid': formControls.color.touched && formControls.color.valid, 'is-invalid': formControls.color.touched && formControls.color.errors}\"\n required/>\n <div *ngIf=\"formControls.color.touched && formControls.color.errors\"\n class=\"invalid-feedback\">\n <div *ngIf=\"formControls.color.errors.required\">Color is required</div>\n <div *ngIf=\"formControls.color.errors.pattern\">Color is not a valid hex code</div>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/milestones'\" class=\"btn btn-space btn-default\">Back</a>\n <button type=\"button\" class=\"btn btn-space btn-danger\" (click)=\"delete()\">\n Delete\n </button>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n",
|
|
510
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div class=\"main-content\">\n <div class=\"container-fluid\">\n <div class=\"col-12 px-0 mb-5\">\n <valtimo-widget>\n <div class=\"card-body bg-light\">\n <div class=\"row py-5\">\n <div class=\"col-12\">\n <div class=\"row\">\n <div class=\"col-12 col-sm-3 text-sm-right\"><strong>ID</strong></div>\n <div class=\"col-12 col-sm-8 col-lg-6\">{{ form.getRawValue().id }}</div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"bg-white p-5\">\n <form [formGroup]=\"form\" (ngSubmit)=\"updateMilestone()\">\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\"\n >Milestone set</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select\n type=\"text\"\n id=\"milestoneSet\"\n formControlName=\"milestoneSet\"\n class=\"form-control\"\n [ngClass]=\"{\n 'is-valid':\n formControls.milestoneSet.touched && formControls.milestoneSet.valid,\n 'is-invalid':\n formControls.milestoneSet.touched && formControls.milestoneSet.errors\n }\"\n required\n >\n <option value=\"\" selected disabled>Choose a Milestone set</option>\n <option *ngFor=\"let milestoneSet of milestoneSets\" [value]=\"milestoneSet.id\">\n {{ milestoneSet.title }} ({{ milestoneSet.id }})\n </option>\n </select>\n <div\n *ngIf=\"formControls.milestoneSet.touched && formControls.milestoneSet.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.milestoneSet.errors.required\">\n Milestone set is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"title\">Title</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"title\"\n formControlName=\"title\"\n class=\"form-control\"\n placeholder=\"Milestone title\"\n [ngClass]=\"{\n 'is-valid': formControls.title.touched && formControls.title.valid,\n 'is-invalid': formControls.title.touched && formControls.title.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.title.touched && formControls.title.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.title.errors.required\">Title is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"process\"\n >Process definition</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select\n type=\"text\"\n id=\"process\"\n formControlName=\"processDefinitionKey\"\n class=\"form-control\"\n (ngModelChange)=\"getFlownodes($event.id)\"\n [ngClass]=\"{\n 'is-valid':\n formControls.processDefinitionKey.touched &&\n formControls.processDefinitionKey.valid,\n 'is-invalid':\n formControls.processDefinitionKey.touched &&\n formControls.processDefinitionKey.errors\n }\"\n required\n [compareWith]=\"compareProcessDefinitions\"\n >\n <option value=\"\" disabled>Choose a process</option>\n <option\n *ngFor=\"let processDefinition of processDefinitions\"\n [ngValue]=\"processDefinition\"\n >\n {{ processDefinition.name }} ({{ processDefinition.key }})\n </option>\n </select>\n <div\n *ngIf=\"\n formControls.processDefinitionKey.touched &&\n formControls.processDefinitionKey.errors\n \"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.processDefinitionKey.errors.required\">\n Process is required\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"process\">Task</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <select\n type=\"text\"\n id=\"task\"\n formControlName=\"taskDefinitionKey\"\n class=\"form-control\"\n [ngClass]=\"{\n 'is-valid':\n formControls.taskDefinitionKey.touched &&\n formControls.taskDefinitionKey.valid,\n 'is-invalid':\n formControls.taskDefinitionKey.touched &&\n formControls.taskDefinitionKey.errors\n }\"\n required\n >\n <option value=\"\" disabled>Choose a task</option>\n <option\n *ngFor=\"let taskDefinition of taskDefinitions | keyvalue\"\n [value]=\"taskDefinition.key\"\n >\n {{ taskDefinition.value }} ({{ taskDefinition.key }})\n </option>\n </select>\n <div\n *ngIf=\"\n formControls.taskDefinitionKey.touched && formControls.taskDefinitionKey.errors\n \"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.taskDefinitionKey.errors.required\">Task is required</div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"interval\"\n >Interval (in days)</label\n >\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n type=\"text\"\n id=\"interval\"\n formControlName=\"plannedIntervalInDays\"\n class=\"form-control\"\n placeholder=\"Interval (in days)\"\n [ngClass]=\"{\n 'is-valid':\n formControls.plannedIntervalInDays.touched &&\n formControls.plannedIntervalInDays.valid,\n 'is-invalid':\n formControls.plannedIntervalInDays.touched &&\n formControls.plannedIntervalInDays.errors\n }\"\n required\n />\n <div\n *ngIf=\"\n formControls.plannedIntervalInDays.touched &&\n formControls.plannedIntervalInDays.errors\n \"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.plannedIntervalInDays.errors.required\">\n Interval is required\n </div>\n <div *ngIf=\"formControls.plannedIntervalInDays.errors.pattern\">\n Interval is not a valid number\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"form-group row\">\n <label class=\"col-12 col-sm-3 col-form-label text-sm-right\" for=\"color\">Color</label>\n <div class=\"col-12 col-sm-8 col-lg-6\">\n <input\n [colorPicker]=\"form.value.color\"\n (colorPickerChange)=\"form.controls.color.setValue($event)\"\n [style.background]=\"form.value.color\"\n type=\"text\"\n id=\"color\"\n formControlName=\"color\"\n class=\"form-control\"\n placeholder=\"Color\"\n [ngClass]=\"{\n 'is-valid': formControls.color.touched && formControls.color.valid,\n 'is-invalid': formControls.color.touched && formControls.color.errors\n }\"\n required\n />\n <div\n *ngIf=\"formControls.color.touched && formControls.color.errors\"\n class=\"invalid-feedback\"\n >\n <div *ngIf=\"formControls.color.errors.required\">Color is required</div>\n <div *ngIf=\"formControls.color.errors.pattern\">Color is not a valid hex code</div>\n </div>\n </div>\n </div>\n\n <div class=\"row pt-3 mt-1\">\n <div class=\"col-12 col-sm-6 text-left\">\n <a [routerLink]=\"'/milestones'\" class=\"btn btn-space btn-default\">Back</a>\n <button type=\"button\" class=\"btn btn-space btn-danger\" (click)=\"delete()\">\n Delete\n </button>\n </div>\n <div class=\"col-12 col-sm-6 text-right\">\n <button class=\"btn btn-space btn-secondary\" type=\"button\" (click)=\"reset()\">\n Reset\n </button>\n <button class=\"btn btn-space btn-primary\" type=\"submit\" [disabled]=\"form.invalid\">\n Submit\n </button>\n </div>\n </div>\n </form>\n </div>\n </valtimo-widget>\n </div>\n </div>\n</div>\n",
|
|
493
511
|
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */"]
|
|
494
512
|
},] }
|
|
495
513
|
];
|
|
@@ -523,31 +541,31 @@
|
|
|
523
541
|
path: 'milestones',
|
|
524
542
|
component: MilestoneComponent,
|
|
525
543
|
canActivate: [security.AuthGuardService],
|
|
526
|
-
data: ɵ0
|
|
544
|
+
data: ɵ0,
|
|
527
545
|
},
|
|
528
546
|
{
|
|
529
547
|
path: 'milestones/sets/create',
|
|
530
548
|
component: MilestoneSetCreateComponent,
|
|
531
549
|
canActivate: [security.AuthGuardService],
|
|
532
|
-
data: ɵ1
|
|
550
|
+
data: ɵ1,
|
|
533
551
|
},
|
|
534
552
|
{
|
|
535
553
|
path: 'milestones/create',
|
|
536
554
|
component: MilestoneCreateComponent,
|
|
537
555
|
canActivate: [security.AuthGuardService],
|
|
538
|
-
data: ɵ2
|
|
556
|
+
data: ɵ2,
|
|
539
557
|
},
|
|
540
558
|
{
|
|
541
559
|
path: 'milestones/sets/set/:id',
|
|
542
560
|
component: MilestoneSetEditComponent,
|
|
543
561
|
canActivate: [security.AuthGuardService],
|
|
544
|
-
data: ɵ3
|
|
562
|
+
data: ɵ3,
|
|
545
563
|
},
|
|
546
564
|
{
|
|
547
565
|
path: 'milestones/milestone/:id',
|
|
548
566
|
component: MilestoneEditComponent,
|
|
549
567
|
canActivate: [security.AuthGuardService],
|
|
550
|
-
data: ɵ4
|
|
568
|
+
data: ɵ4,
|
|
551
569
|
},
|
|
552
570
|
];
|
|
553
571
|
var MilestoneRoutingModule = /** @class */ (function () {
|
|
@@ -558,11 +576,8 @@
|
|
|
558
576
|
MilestoneRoutingModule.decorators = [
|
|
559
577
|
{ type: i0.NgModule, args: [{
|
|
560
578
|
declarations: [],
|
|
561
|
-
imports: [
|
|
562
|
-
|
|
563
|
-
router.RouterModule.forChild(routes),
|
|
564
|
-
],
|
|
565
|
-
exports: [router.RouterModule]
|
|
579
|
+
imports: [common.CommonModule, router.RouterModule.forChild(routes)],
|
|
580
|
+
exports: [router.RouterModule],
|
|
566
581
|
},] }
|
|
567
582
|
];
|
|
568
583
|
|
|
@@ -590,6 +605,8 @@
|
|
|
590
605
|
return extendStatics(d, b);
|
|
591
606
|
};
|
|
592
607
|
function __extends(d, b) {
|
|
608
|
+
if (typeof b !== "function" && b !== null)
|
|
609
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
593
610
|
extendStatics(d, b);
|
|
594
611
|
function __() { this.constructor = d; }
|
|
595
612
|
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
@@ -775,11 +792,13 @@
|
|
|
775
792
|
}
|
|
776
793
|
return ar;
|
|
777
794
|
}
|
|
795
|
+
/** @deprecated */
|
|
778
796
|
function __spread() {
|
|
779
797
|
for (var ar = [], i = 0; i < arguments.length; i++)
|
|
780
798
|
ar = ar.concat(__read(arguments[i]));
|
|
781
799
|
return ar;
|
|
782
800
|
}
|
|
801
|
+
/** @deprecated */
|
|
783
802
|
function __spreadArrays() {
|
|
784
803
|
for (var s = 0, i = 0, il = arguments.length; i < il; i++)
|
|
785
804
|
s += arguments[i].length;
|
|
@@ -788,7 +807,17 @@
|
|
|
788
807
|
r[k] = a[j];
|
|
789
808
|
return r;
|
|
790
809
|
}
|
|
791
|
-
|
|
810
|
+
function __spreadArray(to, from, pack) {
|
|
811
|
+
if (pack || arguments.length === 2)
|
|
812
|
+
for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
813
|
+
if (ar || !(i in from)) {
|
|
814
|
+
if (!ar)
|
|
815
|
+
ar = Array.prototype.slice.call(from, 0, i);
|
|
816
|
+
ar[i] = from[i];
|
|
817
|
+
}
|
|
818
|
+
}
|
|
819
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
820
|
+
}
|
|
792
821
|
function __await(v) {
|
|
793
822
|
return this instanceof __await ? (this.v = v, this) : new __await(v);
|
|
794
823
|
}
|
|
@@ -853,18 +882,21 @@
|
|
|
853
882
|
function __importDefault(mod) {
|
|
854
883
|
return (mod && mod.__esModule) ? mod : { default: mod };
|
|
855
884
|
}
|
|
856
|
-
function __classPrivateFieldGet(receiver,
|
|
857
|
-
if (!
|
|
858
|
-
throw new TypeError("
|
|
859
|
-
|
|
860
|
-
|
|
885
|
+
function __classPrivateFieldGet(receiver, state, kind, f) {
|
|
886
|
+
if (kind === "a" && !f)
|
|
887
|
+
throw new TypeError("Private accessor was defined without a getter");
|
|
888
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
889
|
+
throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
890
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
861
891
|
}
|
|
862
|
-
function __classPrivateFieldSet(receiver,
|
|
863
|
-
if (
|
|
864
|
-
throw new TypeError("
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
892
|
+
function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
|
893
|
+
if (kind === "m")
|
|
894
|
+
throw new TypeError("Private method is not writable");
|
|
895
|
+
if (kind === "a" && !f)
|
|
896
|
+
throw new TypeError("Private accessor was defined without a setter");
|
|
897
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
|
|
898
|
+
throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
899
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
868
900
|
}
|
|
869
901
|
|
|
870
902
|
var MilestoneListComponent = /** @class */ (function () {
|
|
@@ -889,8 +921,10 @@
|
|
|
889
921
|
};
|
|
890
922
|
MilestoneListComponent.prototype.ngOnInit = function () {
|
|
891
923
|
var _this = this;
|
|
892
|
-
rxjs.combineLatest([
|
|
893
|
-
.
|
|
924
|
+
rxjs.combineLatest([
|
|
925
|
+
this.milestoneService.getMilestones(),
|
|
926
|
+
this.milestoneService.getMilestoneSets(),
|
|
927
|
+
]).subscribe(function (_a) {
|
|
894
928
|
var _b = __read(_a, 2), milestones = _b[0], milestoneSets = _b[1];
|
|
895
929
|
return _this.handleMilestoneResult(milestones, milestoneSets);
|
|
896
930
|
});
|
|
@@ -932,7 +966,7 @@
|
|
|
932
966
|
MilestoneListComponent.decorators = [
|
|
933
967
|
{ type: i0.Component, args: [{
|
|
934
968
|
selector: 'valtimo-milestone-list',
|
|
935
|
-
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngFor=\"let milestoneGroup of milestones\" class=\"mb-4\">\n <valtimo-widget>\n <h4 (click)=\"editMilestoneSet(milestoneGroup[0].id)\" class=\"milestone-title\"
|
|
969
|
+
template: "<!--\n ~ Copyright 2015-2020 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div *ngFor=\"let milestoneGroup of milestones\" class=\"mb-4\">\n <valtimo-widget>\n <h4 (click)=\"editMilestoneSet(milestoneGroup[0].id)\" class=\"milestone-title\">\n {{ milestoneGroup[0].title }} ({{ milestoneGroup[0].id }})\n </h4>\n <valtimo-list\n [items]=\"milestoneGroup[1]\"\n [fields]=\"milestoneFields\"\n (rowClicked)=\"editMilestone($event)\"\n >\n </valtimo-list>\n </valtimo-widget>\n</div>\n",
|
|
936
970
|
styles: ["/*!\n * Copyright 2015-2020 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.milestone-title{background-color:#f8f9f9;border-bottom:1px solid #dee2e6;cursor:pointer;margin:0;padding:1em}"]
|
|
937
971
|
},] }
|
|
938
972
|
];
|
|
@@ -963,8 +997,14 @@
|
|
|
963
997
|
}());
|
|
964
998
|
MilestoneModule.decorators = [
|
|
965
999
|
{ type: i0.NgModule, args: [{
|
|
966
|
-
declarations: [
|
|
967
|
-
|
|
1000
|
+
declarations: [
|
|
1001
|
+
MilestoneComponent,
|
|
1002
|
+
MilestoneSetCreateComponent,
|
|
1003
|
+
MilestoneListComponent,
|
|
1004
|
+
MilestoneCreateComponent,
|
|
1005
|
+
MilestoneEditComponent,
|
|
1006
|
+
MilestoneSetEditComponent,
|
|
1007
|
+
],
|
|
968
1008
|
imports: [
|
|
969
1009
|
router.RouterModule,
|
|
970
1010
|
MilestoneRoutingModule,
|
|
@@ -973,9 +1013,9 @@
|
|
|
973
1013
|
components.WidgetModule,
|
|
974
1014
|
forms.ReactiveFormsModule,
|
|
975
1015
|
ngxColorPicker.ColorPickerModule,
|
|
976
|
-
core.TranslateModule
|
|
1016
|
+
core.TranslateModule,
|
|
977
1017
|
],
|
|
978
|
-
exports: [MilestoneComponent]
|
|
1018
|
+
exports: [MilestoneComponent],
|
|
979
1019
|
},] }
|
|
980
1020
|
];
|
|
981
1021
|
|