bpm-core 0.0.129 → 0.0.130

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.
Files changed (75) hide show
  1. package/README.md +57 -4
  2. package/cli/deploy/build.js +1 -1
  3. package/cli/deploy/git-operations-handler.js +1 -1
  4. package/cli/deploy/index.js +1 -1
  5. package/cli/generate/index.js +2 -0
  6. package/cli/generate/mock/index.js +17 -15
  7. package/cli/generate/new/angular-template/.editorconfig +13 -0
  8. package/cli/generate/new/angular-template/README.md +7 -0
  9. package/cli/generate/new/angular-template/angular.json.ejs +167 -0
  10. package/cli/generate/new/angular-template/build.sh +6 -0
  11. package/cli/generate/new/angular-template/extra-webpack.config.js.ejs +5 -0
  12. package/cli/generate/new/angular-template/karma.conf.js +44 -0
  13. package/cli/generate/new/angular-template/package.json.ejs +67 -0
  14. package/cli/generate/new/angular-template/protractor.conf.js +28 -0
  15. package/cli/generate/new/angular-template/src/app/app.component.html +35 -0
  16. package/cli/generate/new/angular-template/src/app/app.component.scss +0 -0
  17. package/cli/generate/new/angular-template/src/app/app.component.ts +81 -0
  18. package/cli/generate/new/angular-template/src/app/config/segment-dynamic-loader.config.ts.ejs +8 -0
  19. package/cli/generate/new/angular-template/src/app/i18n/ar.ts.ejs +18 -0
  20. package/cli/generate/new/angular-template/src/app/i18n/en.ts.ejs +18 -0
  21. package/cli/generate/new/angular-template/src/app/page-components/@@comp-template@@/@@.component.html.ejs +33 -0
  22. package/cli/generate/new/angular-template/src/app/page-components/@@comp-template@@/@@.component.ts.ejs +128 -0
  23. package/cli/generate/new/angular-template/src/app/page-components/@@comp-template@@/_html-field.ejs +97 -0
  24. package/cli/generate/new/angular-template/src/app/page-components/@@comp-template@@/_html-table.ejs +27 -0
  25. package/cli/generate/new/angular-template/src/app/page-components/@@comp-template@@/_ts-field.ejs +3 -0
  26. package/cli/generate/new/angular-template/src/app/shared/pipes/translate.pipe.ts +32 -0
  27. package/cli/generate/new/angular-template/src/app/shared/services/i18n.service.ts +32 -0
  28. package/cli/generate/new/angular-template/src/app/shared/services/segment-dynamic-loader.service.ts.ejs +49 -0
  29. package/cli/generate/new/angular-template/src/app/shared/services/state-machine.service.ts +119 -0
  30. package/cli/generate/new/angular-template/src/app/shared/types/lov.enum.ts.ejs +7 -0
  31. package/cli/generate/new/angular-template/src/app/templates/print-section/print-section.component.html +5 -0
  32. package/cli/generate/new/angular-template/src/app/templates/print-section/print-section.component.scss +0 -0
  33. package/cli/generate/new/angular-template/src/app/templates/print-section/print-section.component.ts.ejs +156 -0
  34. package/cli/generate/new/angular-template/src/app/templates/print.ts.ejs +392 -0
  35. package/cli/generate/new/angular-template/src/environments/environment.local.ts.ejs +40 -0
  36. package/cli/generate/new/angular-template/src/environments/environment.prod.ts +25 -0
  37. package/cli/generate/new/angular-template/src/environments/environment.ts +25 -0
  38. package/cli/generate/new/angular-template/src/favicon.ico +0 -0
  39. package/cli/generate/new/angular-template/src/index.html.ejs +14 -0
  40. package/cli/generate/new/angular-template/src/main.ts +49 -0
  41. package/cli/generate/new/angular-template/src/polyfills.ts +65 -0
  42. package/cli/generate/new/angular-template/src/styles.scss.ejs +121 -0
  43. package/cli/generate/new/angular-template/src/test.ts +26 -0
  44. package/cli/generate/new/angular-template/tsconfig.app.json +15 -0
  45. package/cli/generate/new/angular-template/tsconfig.json +50 -0
  46. package/cli/generate/new/angular-template/tsconfig.spec.json +18 -0
  47. package/cli/generate/new/angular-template/tslint.json +143 -0
  48. package/cli/generate/new/copy-and-generate.js +120 -0
  49. package/cli/generate/new/field.js +4 -0
  50. package/cli/generate/new/index.js +47 -0
  51. package/cli/generate/new/service-data.js +284 -0
  52. package/fesm2022/bpm-core.mjs +244 -252
  53. package/fesm2022/bpm-core.mjs.map +1 -1
  54. package/lib/components/shared-components/form-field/attachment-section/attachment-section.component.d.ts +1 -2
  55. package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +4 -4
  56. package/lib/components/shared-components/form-field/index.d.ts +0 -1
  57. package/lib/components/shared-components/form-field/input/input.component.d.ts +3 -2
  58. package/lib/components/shared-components/form-field/input-number/input-number.component.d.ts +2 -0
  59. package/lib/components/shared-components/form-field/radio/radio.component.d.ts +39 -2
  60. package/lib/components/shared-components/form-field/search-employee/search-employee.component.d.ts +5 -5
  61. package/lib/components/shared-components/form-field/shared-imports.d.ts +1 -4
  62. package/lib/components/shared-components/form-field/textarea/textarea.component.d.ts +76 -1
  63. package/lib/components/shared-components/table/table.component.d.ts +3 -3
  64. package/lib/{components/shared-components/form-field/input → directives}/input-map-filter/input-filters.d.ts +1 -0
  65. package/lib/{components/shared-components/form-field/input → directives}/input-map-filter/input-map-filter.directive.d.ts +4 -1
  66. package/lib/testComponent/request-details-section/request-details-section.component.d.ts +8 -3
  67. package/package.json +7 -2
  68. package/public-api.d.ts +1 -0
  69. package/lib/directives/ar.directive.d.ts +0 -11
  70. package/lib/directives/en.directive.d.ts +0 -11
  71. package/lib/directives/number.directive.d.ts +0 -14
  72. /package/cli/{deploy → utilities}/utilities.js +0 -0
  73. /package/lib/{components/shared-components/form-field/input → directives}/input-map-filter/index.d.ts +0 -0
  74. /package/lib/{components/shared-components/form-field/input → directives}/input-map-filter/input-mappers.d.ts +0 -0
  75. /package/lib/{components/shared-components/form-field/input → directives}/input-map-filter/types.d.ts +0 -0
@@ -0,0 +1,156 @@
1
+ import {Component, CUSTOM_ELEMENTS_SCHEMA, Input, NO_ERRORS_SCHEMA} from '@angular/core';
2
+ import printTemplate from '../print';
3
+ import * as Constants from 'bpm-core';
4
+ import moment from 'moment';
5
+ import {Form} from 'bpm-core';
6
+ import {SegmentDynamicLoaderService} from '../../shared/services/segment-dynamic-loader.service';
7
+ import * as Handlebars from 'handlebars';
8
+ import {I18nService} from '../../shared/services/i18n.service';
9
+ import { DecimalPipe } from "@angular/common";
10
+
11
+ @Component({
12
+ selector: 'app-print-section',
13
+ templateUrl: './print-section.component.html',
14
+ styleUrls: ['./print-section.component.scss'],
15
+ standalone: true,
16
+ schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],
17
+ })
18
+ export class PrintSectionComponent {
19
+
20
+ @Input() form: Form;
21
+
22
+ constructor(
23
+ public i18n: I18nService,
24
+ public segmentDynamicLoader: SegmentDynamicLoaderService,
25
+ ) { }
26
+
27
+ print() {
28
+ let compiledTemplate = null;
29
+ let popupWin: any;
30
+ popupWin = window.open('', '_blank', 'top=0,left=0,height=auto,width=auto');
31
+ let printObject = {
32
+ form: this.form,
33
+ i18n: this.i18n,
34
+ segmentDynamicLoader: this.segmentDynamicLoader,
35
+ lovs: this.form.lovs,
36
+ formId: this.form.header.formId
37
+ };
38
+
39
+ Handlebars.registerHelper('i18nTranslate', this.translateHelper);
40
+ Handlebars.registerHelper('dateFormat', this.dateFormatHelper);
41
+ Handlebars.registerHelper('dateFormatHelper3', this.dateFormatHelper3);
42
+ Handlebars.registerHelper('dateFormat2', this.dateFormatHelper2);
43
+ Handlebars.registerHelper('getPartialName', this.sectionIdHelper);
44
+ Handlebars.registerHelper('getSectionTitle', this.sectionTitleHelper);
45
+ Handlebars.registerHelper('consoleLog', this.consoleLog);
46
+ Handlebars.registerHelper('eq', this.eq);
47
+ Handlebars.registerHelper('getFormId', this.getFormId.bind(this));
48
+ Handlebars.registerHelper('getDirection', this.getDirection.bind(this));
49
+ Handlebars.registerHelper('and', this.and);
50
+ Handlebars.registerHelper('or', this.or);
51
+ Handlebars.registerHelper('not', this.not);
52
+ Handlebars.registerHelper('statusClass', this.statusClass);
53
+ Handlebars.registerHelper("currencyFormat", this.currencyFormat);
54
+
55
+ <% getPrintPartials().forEach(printPartial => { -%>
56
+ Handlebars.registerPartial(
57
+ "<%= printPartial.printPartialName %>",
58
+ printTemplate.<%= printPartial.printPartialName %>
59
+ );
60
+ <% }); -%>
61
+
62
+ compiledTemplate = Handlebars.compile(printTemplate.printTemplate);
63
+ popupWin.document.open();
64
+ popupWin.document.write(compiledTemplate(printObject));
65
+ popupWin.document.close();
66
+ }
67
+
68
+ public getCurrentLang() {
69
+ return this.i18n.getLanguage();
70
+ }
71
+
72
+ private sectionIdHelper(context: any, id: any) {
73
+ return context.segmentDynamicLoader.getPrintPartialName(id);
74
+ }
75
+
76
+ private translateHelper(key: any) {
77
+ return this.i18n.translate(key);
78
+ }
79
+
80
+ private dateFormatHelper(key: any) {
81
+ return moment(key).locale('en-US').format(Constants.DATE_TIME);
82
+ }
83
+
84
+ private dateFormatHelper2(key: any) {
85
+ return moment(key).locale('en-US').format(Constants.DATE_DASH);
86
+ }
87
+
88
+ private dateFormatHelper3(key: any) {
89
+ return moment(key).locale('en-US').format(Constants.DATE_SLASH);
90
+ }
91
+
92
+ private consoleLog(type: any) {
93
+ // <label>{{consolelog 'test'}}</label>
94
+ console.log('------------', type, '-----------------', this);
95
+ }
96
+
97
+ private getFormId() {
98
+ return this.form.header.formId;
99
+ }
100
+
101
+ private sectionTitleHelper(componentId: any, segmentDynamicLoader: any) {
102
+ return segmentDynamicLoader.getSectionName(componentId);
103
+ }
104
+
105
+ private eq(valueA: any, valueB: any) {
106
+ // {{#if (eq action.key 'MOVE')}}
107
+ let result = valueA === valueB;
108
+ return result;
109
+ }
110
+
111
+ private and(valueA: any, valueB: any) {
112
+ // {{#if (and (eq body.details.workRelation.key 'SUBCONTRACTOR') (eq body.details.workRelation.key 'CONTRACTOR'))}}
113
+ let result = valueA && valueB;
114
+ return result;
115
+ }
116
+
117
+ private or(valueA: any, valueB: any) {
118
+ // {{#if (or (eq body.details.workRelation.key 'SUBCONTRACTOR') (eq body.details.workRelation.key 'CONTRACTOR'))}}
119
+ let result = valueA || valueB;
120
+ return result;
121
+ }
122
+
123
+ private not(valueA: any, valueB: any) {
124
+ // {{#if (not action.key 'MOVE')}}
125
+ let result = valueA != valueB;
126
+ return result;
127
+ }
128
+
129
+
130
+ private statusClass(status: string) {
131
+ if (
132
+ status === Constants.FORM_STATUS_REJECTED || status === Constants.FORM_STATUS_CANCELLED
133
+ || status.toLowerCase() === 'reject' || status.toLowerCase() === 'unsatisfied' || status.toLowerCase() === 'cancel'
134
+ ) {
135
+ return 'danger';
136
+ } else if (status === Constants.FORM_STATUS_PENDING || status.toLowerCase() === 'pending') {
137
+ return 'warning';
138
+ } else {
139
+ return 'success';
140
+ }
141
+ }
142
+
143
+ private getDirection() {
144
+ if (this.i18n.getLanguage() === Constants.LANGUAGE_CODE_AR) {
145
+ return 'rtl';
146
+ } else {
147
+ return 'ltr';
148
+ }
149
+ }
150
+
151
+ private currencyFormat(value: number | string): string {
152
+ const decimalPipe = new DecimalPipe('en-US');
153
+ return decimalPipe.transform(value, '1.2-2');
154
+ }
155
+
156
+ }