@wemake4u/form-player-se 1.0.30 → 1.0.32

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 (63) hide show
  1. package/esm2022/lib/common/path.mjs +35 -0
  2. package/esm2022/lib/components/actionsCellRenderer/actionsCellRenderer.component.mjs +29 -16
  3. package/esm2022/lib/components/hostCellRenderer/hostCellRenderer.component.mjs +3 -2
  4. package/esm2022/lib/directives/grid.directive.mjs +82 -24
  5. package/esm2022/lib/directives/repeat.directive.mjs +1 -5
  6. package/esm2022/lib/directives/tabitem.directive.mjs +26 -0
  7. package/esm2022/lib/directives/validationpatch.directive.mjs +44 -2
  8. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +94 -15
  9. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +60 -38
  10. package/esm2022/lib/locale/locale-de.mjs +3 -2
  11. package/esm2022/lib/locale/locale-en.mjs +3 -2
  12. package/esm2022/lib/locale/locale-es.mjs +3 -2
  13. package/esm2022/lib/locale/locale-fr.mjs +3 -2
  14. package/esm2022/lib/locale/locale-it.mjs +3 -2
  15. package/esm2022/lib/locale/locale-pt.mjs +3 -2
  16. package/esm2022/lib/services/cache.service.mjs +86 -0
  17. package/esm2022/lib/services/dialog.service.mjs +2 -2
  18. package/esm2022/lib/services/form.service.mjs +41 -18
  19. package/esm2022/lib/services/formatter.service.mjs +2 -2
  20. package/esm2022/lib/services/function.service.mjs +14 -3
  21. package/esm2022/lib/services/grid.service.mjs +46 -26
  22. package/esm2022/lib/services/programmability.service.mjs +80 -45
  23. package/esm2022/lib/services/scope.service.mjs +9 -2
  24. package/esm2022/lib/services/toast.service.mjs +2 -2
  25. package/esm2022/lib/services/validation.service.mjs +2 -2
  26. package/esm2022/lib/services/weak.service.mjs +6 -1
  27. package/esm2022/lib/utils/bound.mjs +12 -0
  28. package/esm2022/lib/utils/groupByRow.mjs +2 -1
  29. package/esm2022/lib/utils/isMeaningful.mjs +13 -0
  30. package/esm2022/lib/utils/proxy.mjs +55 -0
  31. package/fesm2022/wemake4u-form-player-se.mjs +702 -207
  32. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  33. package/lib/common/path.d.ts +4 -0
  34. package/lib/components/actionsCellRenderer/actionsCellRenderer.component.d.ts +4 -0
  35. package/lib/components/deleteRowRenderer/deleteRowRenderer.component.d.ts +1 -0
  36. package/lib/components/objectURLRenderer/objectURLRenderer.component.d.ts +1 -0
  37. package/lib/components/setFilter/setFilter.component.d.ts +1 -0
  38. package/lib/dialog/dialog.component.d.ts +7 -0
  39. package/lib/directives/grid.directive.d.ts +17 -4
  40. package/lib/directives/tabitem.directive.d.ts +9 -0
  41. package/lib/directives/validationpatch.directive.d.ts +9 -0
  42. package/lib/dynamic-fields/dynamic-fields.component.d.ts +29 -5
  43. package/lib/dynamic-form/dynamic-form.component.d.ts +16 -6
  44. package/lib/locale/locale-de.d.ts +1 -0
  45. package/lib/locale/locale-en.d.ts +1 -0
  46. package/lib/locale/locale-es.d.ts +1 -0
  47. package/lib/locale/locale-fr.d.ts +1 -0
  48. package/lib/locale/locale-it.d.ts +1 -0
  49. package/lib/locale/locale-pt.d.ts +1 -0
  50. package/lib/locale/locale.d.ts +7 -0
  51. package/lib/services/cache.service.d.ts +21 -0
  52. package/lib/services/form.service.d.ts +7 -2
  53. package/lib/services/function.service.d.ts +2 -0
  54. package/lib/services/grid.service.d.ts +11 -5
  55. package/lib/services/programmability.service.d.ts +5 -4
  56. package/lib/services/scope.service.d.ts +5 -0
  57. package/lib/services/weak.service.d.ts +1 -0
  58. package/lib/utils/{functions.d.ts → bound.d.ts} +0 -1
  59. package/lib/utils/groupByRow.d.ts +1 -0
  60. package/lib/utils/isMeaningful.d.ts +1 -0
  61. package/lib/utils/proxy.d.ts +2 -0
  62. package/package.json +1 -1
  63. package/esm2022/lib/utils/functions.mjs +0 -31
@@ -29,12 +29,12 @@ export declare class ProgrammabilityService implements OnDestroy {
29
29
  ngOnDestroy(): void;
30
30
  isExpression(text: string | null): boolean;
31
31
  getExpression(text: string | null): string;
32
- evaluateString(formGroup: FormGroup, value: string | null): string;
32
+ evaluateString(formGroup: FormGroup, value: string | null, options?: EvaluateOptions): string;
33
33
  evaluateBoolean(formGroup: FormGroup, value: boolean | string | null, options?: EvaluateOptions): boolean | null;
34
- evaluateNumber(formGroup: FormGroup, value: number | string | null): number | null;
34
+ evaluateNumber(formGroup: FormGroup, value: number | string | null, options?: EvaluateOptions): number | null;
35
35
  evaluate(formGroup: FormGroup, value: string | null, options?: EvaluateOptions): any;
36
- evaluateTemplate(formGroup: FormGroup, value: string | null): any;
37
- evaluateUnary(formGroup: FormGroup, value: string | null, input: any): any;
36
+ evaluateTemplate(formGroup: FormGroup, value: string | null, options?: EvaluateOptions): any;
37
+ evaluateUnary(formGroup: FormGroup, value: string | null, input: any, options?: EvaluateOptions): any;
38
38
  invalidate(value: string | null): void;
39
39
  watch(formGroup: FormGroup, dependencies: (string | string[])[], callback: () => void): void;
40
40
  getDependencies(expression: string): (string | string[])[];
@@ -69,6 +69,7 @@ export interface IEvaluatorProvider {
69
69
  }
70
70
  export interface EvaluateOptions {
71
71
  cacheable?: boolean;
72
+ ignoreDeps?: boolean;
72
73
  extendContext?: ExtendContextFn;
73
74
  }
74
75
  export type ExtendContextFn = () => Record<string, any>;
@@ -1,11 +1,16 @@
1
1
  import { IEvaluatorProvider } from '../services/programmability.service';
2
+ import { Observable } from 'rxjs';
3
+ import { Path } from '../common/path';
2
4
  import * as i0 from "@angular/core";
3
5
  export declare class ScopeService implements IEvaluatorProvider {
4
6
  private parent;
5
7
  constructor(parent: ScopeService | null);
6
8
  private scope;
9
+ private readonly refreshSubject;
10
+ readonly onRefresh: Observable<Path>;
7
11
  set(scope: Record<string, any> | null): void;
8
12
  get(): Record<string, any> | null;
13
+ refresh(path?: Path): void;
9
14
  getContext(): Record<string, any>;
10
15
  static ɵfac: i0.ɵɵFactoryDeclaration<ScopeService, [{ optional: true; skipSelf: true; }]>;
11
16
  static ɵprov: i0.ɵɵInjectableDeclaration<ScopeService>;
@@ -5,6 +5,7 @@ export declare class WeakService {
5
5
  exists(source: object, key: string): boolean;
6
6
  call<T>(source: object, key: string, func: () => T, reusable?: ((value: T) => boolean) | null, store?: ((value: T) => any) | null): T;
7
7
  invalidate(source: object, key: string): void;
8
+ invalidateAll(source: object): void;
8
9
  static ɵfac: i0.ɵɵFactoryDeclaration<WeakService, never>;
9
10
  static ɵprov: i0.ɵɵInjectableDeclaration<WeakService>;
10
11
  }
@@ -1,2 +1 @@
1
1
  export declare function ToBoundArrows<T extends object>(instance: T, methodNames: (keyof T)[]): Record<string, any>;
2
- export declare function ToProxy(instance: any): any;
@@ -3,6 +3,7 @@ interface Form {
3
3
  type: string;
4
4
  name: string;
5
5
  title: string;
6
+ readonly: string | boolean | null;
6
7
  disabled: string | boolean | null;
7
8
  inactive: string | boolean | null;
8
9
  path: string | null;
@@ -0,0 +1 @@
1
+ export declare function isMeaningful(x: any): boolean;
@@ -0,0 +1,2 @@
1
+ export declare function bindFunction(fn: Function, context: any): any;
2
+ export declare function toProxy(instance: any, seen?: WeakMap<object, any>): any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wemake4u/form-player-se",
3
- "version": "1.0.30",
3
+ "version": "1.0.32",
4
4
  "peerDependencies": {
5
5
  "@angular/cdk": "^18.2.0",
6
6
  "@angular/common": "^18.2.0",
@@ -1,31 +0,0 @@
1
- export function ToBoundArrows(instance, methodNames) {
2
- const result = {};
3
- for (const name of methodNames) {
4
- const original = instance[name];
5
- if (typeof original === 'function') {
6
- result[name] = (...args) => original.apply(instance, args);
7
- }
8
- }
9
- return result;
10
- }
11
- export function ToProxy(instance) {
12
- if (!instance) {
13
- return instance;
14
- }
15
- return new Proxy(instance, {
16
- get: (target, property) => {
17
- let value = undefined;
18
- if (property in target) {
19
- value = Reflect.get(target, property, target);
20
- }
21
- if (typeof value === 'function') {
22
- return (...args) => value.apply(instance, args);
23
- }
24
- else if (typeof value === 'object' && value !== null) {
25
- return ToProxy(value);
26
- }
27
- return value;
28
- }
29
- });
30
- }
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNpcmlvL3NyYy9saWIvdXRpbHMvZnVuY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxhQUFhLENBQzNCLFFBQVcsRUFDWCxXQUF3QjtJQUN4QixNQUFNLE1BQU0sR0FBd0IsRUFBRSxDQUFDO0lBRXZDLEtBQUssTUFBTSxJQUFJLElBQUksV0FBVyxFQUFFLENBQUM7UUFDL0IsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksT0FBTyxRQUFRLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbkMsTUFBTSxDQUFDLElBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFXLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlFLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sVUFBVSxPQUFPLENBQUMsUUFBYTtJQUVuQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0lBRUQsT0FBTyxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUU7UUFDekIsR0FBRyxFQUFFLENBQUMsTUFBVyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBRTdCLElBQUksS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUV0QixJQUFJLFFBQVEsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDdkIsS0FBSyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUNoRCxDQUFDO1lBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxVQUFVLEVBQUUsQ0FBQztnQkFDaEMsT0FBTyxDQUFDLEdBQUcsSUFBVyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUN6RCxDQUFDO2lCQUNJLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztnQkFDckQsT0FBTyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsQ0FBQztZQUVELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztLQUNGLENBQUMsQ0FBQztBQUVMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gVG9Cb3VuZEFycm93czxUIGV4dGVuZHMgb2JqZWN0PihcclxuICBpbnN0YW5jZTogVCxcclxuICBtZXRob2ROYW1lczogKGtleW9mIFQpW10pIDogUmVjb3JkPHN0cmluZywgYW55PiB7XHJcbiAgY29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+ID0ge307XHJcblxyXG4gIGZvciAoY29uc3QgbmFtZSBvZiBtZXRob2ROYW1lcykge1xyXG4gICAgY29uc3Qgb3JpZ2luYWwgPSBpbnN0YW5jZVtuYW1lXTtcclxuICAgIGlmICh0eXBlb2Ygb3JpZ2luYWwgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmVzdWx0W25hbWUgYXMgc3RyaW5nXSA9ICguLi5hcmdzOiBhbnlbXSkgPT4gb3JpZ2luYWwuYXBwbHkoaW5zdGFuY2UsIGFyZ3MpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIFRvUHJveHkoaW5zdGFuY2U6IGFueSkge1xyXG5cclxuICBpZiAoIWluc3RhbmNlKSB7XHJcbiAgICByZXR1cm4gaW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbmV3IFByb3h5KGluc3RhbmNlLCB7XHJcbiAgICBnZXQ6ICh0YXJnZXQ6IGFueSwgcHJvcGVydHkpID0+IHtcclxuXHJcbiAgICAgIGxldCB2YWx1ZSA9IHVuZGVmaW5lZDtcclxuXHJcbiAgICAgIGlmIChwcm9wZXJ0eSBpbiB0YXJnZXQpIHtcclxuICAgICAgICB2YWx1ZSA9IFJlZmxlY3QuZ2V0KHRhcmdldCwgcHJvcGVydHksIHRhcmdldCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICByZXR1cm4gKC4uLmFyZ3M6IGFueVtdKSA9PiB2YWx1ZS5hcHBseShpbnN0YW5jZSwgYXJncyk7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBUb1Byb3h5KHZhbHVlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxufVxyXG4iXX0=