@vgip/meta-ui 1.6.4 → 1.6.6

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 (55) hide show
  1. package/esm2020/lib/fieldBoolean/index.mjs +9 -4
  2. package/esm2020/lib/fieldRadio/index.mjs +3 -3
  3. package/esm2020/lib/fieldReference/index.mjs +8 -6
  4. package/esm2020/lib/layout/index.mjs +3 -3
  5. package/esm2020/lib/refDialog/index.mjs +1 -1
  6. package/esm2020/lib/resource/index.mjs +9 -5
  7. package/fesm2015/{vgip-meta-ui-index-6b8e4fd9.mjs → vgip-meta-ui-index-2fbacc7d.mjs} +14 -9
  8. package/fesm2015/vgip-meta-ui-index-2fbacc7d.mjs.map +1 -0
  9. package/fesm2015/vgip-meta-ui-index-50b9fec5.mjs +95 -0
  10. package/fesm2015/vgip-meta-ui-index-50b9fec5.mjs.map +1 -0
  11. package/fesm2015/{vgip-meta-ui-index-473aa5e6.mjs → vgip-meta-ui-index-54fe4a29.mjs} +2 -2
  12. package/fesm2015/{vgip-meta-ui-index-473aa5e6.mjs.map → vgip-meta-ui-index-54fe4a29.mjs.map} +1 -1
  13. package/fesm2015/{vgip-meta-ui-index-29564eed.mjs → vgip-meta-ui-index-5a119feb.mjs} +7 -7
  14. package/fesm2015/{vgip-meta-ui-index-29564eed.mjs.map → vgip-meta-ui-index-5a119feb.mjs.map} +1 -1
  15. package/{fesm2020/vgip-meta-ui-index-80701933.mjs → fesm2015/vgip-meta-ui-index-645befcf.mjs} +10 -8
  16. package/fesm2015/vgip-meta-ui-index-645befcf.mjs.map +1 -0
  17. package/fesm2015/vgip-meta-ui-index-9a626253.mjs +62 -0
  18. package/fesm2015/vgip-meta-ui-index-9a626253.mjs.map +1 -0
  19. package/fesm2015/{vgip-meta-ui-index-483f14f8.mjs → vgip-meta-ui-index-cab37145.mjs} +2 -2
  20. package/fesm2015/{vgip-meta-ui-index-483f14f8.mjs.map → vgip-meta-ui-index-cab37145.mjs.map} +1 -1
  21. package/fesm2015/{vgip-meta-ui-index-978ee03f.mjs → vgip-meta-ui-index-fdc2b8f2.mjs} +3 -3
  22. package/fesm2015/{vgip-meta-ui-index-978ee03f.mjs.map → vgip-meta-ui-index-fdc2b8f2.mjs.map} +1 -1
  23. package/fesm2015/vgip-meta-ui.mjs +10 -10
  24. package/{fesm2015/vgip-meta-ui-index-8f9ddfe6.mjs → fesm2020/vgip-meta-ui-index-1760eb83.mjs} +10 -8
  25. package/fesm2020/vgip-meta-ui-index-1760eb83.mjs.map +1 -0
  26. package/fesm2020/{vgip-meta-ui-index-9762f3da.mjs → vgip-meta-ui-index-1ea1d546.mjs} +2 -2
  27. package/fesm2020/{vgip-meta-ui-index-9762f3da.mjs.map → vgip-meta-ui-index-1ea1d546.mjs.map} +1 -1
  28. package/fesm2020/{vgip-meta-ui-index-2b0ee4f0.mjs → vgip-meta-ui-index-435a383d.mjs} +2 -2
  29. package/fesm2020/{vgip-meta-ui-index-2b0ee4f0.mjs.map → vgip-meta-ui-index-435a383d.mjs.map} +1 -1
  30. package/fesm2020/vgip-meta-ui-index-50b9fec5.mjs +95 -0
  31. package/fesm2020/vgip-meta-ui-index-50b9fec5.mjs.map +1 -0
  32. package/fesm2020/{vgip-meta-ui-index-550e3798.mjs → vgip-meta-ui-index-90667c9d.mjs} +7 -7
  33. package/fesm2020/{vgip-meta-ui-index-550e3798.mjs.map → vgip-meta-ui-index-90667c9d.mjs.map} +1 -1
  34. package/fesm2020/vgip-meta-ui-index-9a626253.mjs +62 -0
  35. package/fesm2020/vgip-meta-ui-index-9a626253.mjs.map +1 -0
  36. package/fesm2020/{vgip-meta-ui-index-739e3601.mjs → vgip-meta-ui-index-a0897ac5.mjs} +13 -9
  37. package/fesm2020/vgip-meta-ui-index-a0897ac5.mjs.map +1 -0
  38. package/fesm2020/{vgip-meta-ui-index-4a83d7fd.mjs → vgip-meta-ui-index-d8225c98.mjs} +3 -3
  39. package/fesm2020/{vgip-meta-ui-index-4a83d7fd.mjs.map → vgip-meta-ui-index-d8225c98.mjs.map} +1 -1
  40. package/fesm2020/vgip-meta-ui.mjs +10 -10
  41. package/lib/fieldBoolean/index.d.ts +1 -0
  42. package/lib/resource/index.d.ts +3 -2
  43. package/package.json +1 -1
  44. package/fesm2015/vgip-meta-ui-index-619930c4.mjs +0 -57
  45. package/fesm2015/vgip-meta-ui-index-619930c4.mjs.map +0 -1
  46. package/fesm2015/vgip-meta-ui-index-6b8e4fd9.mjs.map +0 -1
  47. package/fesm2015/vgip-meta-ui-index-8a80f78d.mjs +0 -95
  48. package/fesm2015/vgip-meta-ui-index-8a80f78d.mjs.map +0 -1
  49. package/fesm2015/vgip-meta-ui-index-8f9ddfe6.mjs.map +0 -1
  50. package/fesm2020/vgip-meta-ui-index-619930c4.mjs +0 -57
  51. package/fesm2020/vgip-meta-ui-index-619930c4.mjs.map +0 -1
  52. package/fesm2020/vgip-meta-ui-index-739e3601.mjs.map +0 -1
  53. package/fesm2020/vgip-meta-ui-index-80701933.mjs.map +0 -1
  54. package/fesm2020/vgip-meta-ui-index-8a80f78d.mjs +0 -95
  55. package/fesm2020/vgip-meta-ui-index-8a80f78d.mjs.map +0 -1
@@ -1,95 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Component, Input } from '@angular/core';
3
- import * as i2 from '@angular/forms';
4
- import { ControlContainer, NgForm } from '@angular/forms';
5
- import { F as FieldAbstract } from './vgip-meta-ui-fieldAbstract-5d159575.mjs';
6
- import * as i1 from '@angular/common';
7
- import { M as MetaModelPipe } from './vgip-meta-ui-metaModel.pipe-4b068359.mjs';
8
- import 'rxjs';
9
- import 'rxjs/operators';
10
-
11
- /*
12
- * @Author: Alexander.Vangelov@vonage.com
13
- * @Date: 2019-09-19 17:35:19
14
- * @Last Modified by: Alexander.Vangelov@vonage.com
15
- * @Last Modified time: 2020-03-26 12:56:38
16
- */
17
- class FieldRadio extends FieldAbstract {
18
- constructor() {
19
- super(...arguments);
20
- this.keydown = (event) => {
21
- switch (event.key) {
22
- case 'Backspace': {
23
- event.preventDefault();
24
- event.stopPropagation();
25
- this.clear();
26
- break;
27
- }
28
- }
29
- };
30
- }
31
- get options() {
32
- return this.meta.options || this.meta.picklist;
33
- }
34
- ngOnInit() {
35
- this.validationAttributes = ['required'];
36
- const origValue = this.parent[this.meta.name];
37
- Object.defineProperty(this.parent, this.meta.name, {
38
- set: (value) => {
39
- if (value) {
40
- for (const o of this.options) {
41
- if ((value.id || value) === (o.id || o.value || o.name || o)) {
42
- this.model = o;
43
- this.value = this.modelToValue(o, this.meta.valueType);
44
- break;
45
- }
46
- }
47
- }
48
- else {
49
- delete this.model;
50
- delete this.value;
51
- }
52
- this.meta.$optional = this.isOptional;
53
- },
54
- get: () => this.value,
55
- enumerable: this.sendToServer,
56
- configurable: true
57
- });
58
- if (origValue) {
59
- this.parent[this.meta.name] = origValue;
60
- }
61
- if (this.default && !this.model) {
62
- setTimeout(() => {
63
- this.parent[this.meta.name] = this.meta.valueType === 'object' ? this.default : (this.default.id || this.default);
64
- setTimeout(() => {
65
- this.onModelChange(this.model);
66
- }, 0);
67
- }, 0);
68
- }
69
- }
70
- onOptionChange(model) {
71
- this.model = model;
72
- this.onModelChange(this.model);
73
- }
74
- onActivated(ev) {
75
- if (!this.keyListenerActive) {
76
- ev.srcElement.addEventListener('keydown', this.keydown);
77
- }
78
- }
79
- onBlur(ev) {
80
- if (this.keyListenerActive) {
81
- ev.srcElement.removeEventListener('keydown', this.keydown);
82
- }
83
- }
84
- }
85
- FieldRadio.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FieldRadio, deps: null, target: i0.ɵɵFactoryTarget.Component });
86
- FieldRadio.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: FieldRadio, selector: "ng-component", inputs: { meta: "meta" }, usesInheritance: true, ngImport: i0, template: "<div class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<label class=\"Vlt-label\">{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span></label>\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<fieldset *ngFor='let option of options' class=\"Vlt-radio Vlt-radio--inline\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-radio__button\">\n <input class='main' (change)='onOptionChange(option)' type=\"radio\" [checked]='option === model' [value]='option' [name]='name' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <span class=\"Vlt-radio__icon\"></span>\n </span>\n\t\t\t<span style='white-space: nowrap;'>{{option.label || option}}</span>\n\t\t</label>\n\t</fieldset>\n\t<small *ngIf='f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched)' class=\"Vlt-form__element__error\">\n\t\t<span *ngIf=\"f.errors.required\">Required.&nbsp;</span>\n\t\t<span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n\t</small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>", styles: [".Vlt-form__element{padding-bottom:4px}.Vlt-form__element__hint,.Vlt-form__element__error{margin-top:4px}.Vlt-radio--inline{margin-bottom:4px}.Vlt-radio .Vlt-radio__icon{border-color:var(--vgip-meta-input-border-color)}.Vlt-radio:hover .Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon:after{background:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:focus+.Vlt-radio__icon,.Vlt-radio input:active+.Vlt-radio__icon{background:var(--vgip-meta-input-bg-color)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: MetaModelPipe, name: "metaModel" }], viewProviders: [{ provide: ControlContainer, useExisting: NgForm }] });
87
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: FieldRadio, decorators: [{
88
- type: Component,
89
- args: [{ viewProviders: [{ provide: ControlContainer, useExisting: NgForm }], template: "<div class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<label class=\"Vlt-label\">{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span></label>\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<fieldset *ngFor='let option of options' class=\"Vlt-radio Vlt-radio--inline\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-radio__button\">\n <input class='main' (change)='onOptionChange(option)' type=\"radio\" [checked]='option === model' [value]='option' [name]='name' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <span class=\"Vlt-radio__icon\"></span>\n </span>\n\t\t\t<span style='white-space: nowrap;'>{{option.label || option}}</span>\n\t\t</label>\n\t</fieldset>\n\t<small *ngIf='f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched)' class=\"Vlt-form__element__error\">\n\t\t<span *ngIf=\"f.errors.required\">Required.&nbsp;</span>\n\t\t<span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n\t</small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>", styles: [".Vlt-form__element{padding-bottom:4px}.Vlt-form__element__hint,.Vlt-form__element__error{margin-top:4px}.Vlt-radio--inline{margin-bottom:4px}.Vlt-radio .Vlt-radio__icon{border-color:var(--vgip-meta-input-border-color)}.Vlt-radio:hover .Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon{border-color:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:checked~.Vlt-radio__icon:after{background:var(--vgip-meta-input-active-border-color)}.Vlt-radio input:focus+.Vlt-radio__icon,.Vlt-radio input:active+.Vlt-radio__icon{background:var(--vgip-meta-input-bg-color)}\n"] }]
90
- }], propDecorators: { meta: [{
91
- type: Input
92
- }] } });
93
-
94
- export { FieldRadio };
95
- //# sourceMappingURL=vgip-meta-ui-index-8a80f78d.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vgip-meta-ui-index-8a80f78d.mjs","sources":["../../../projects/meta-ui/src/lib/fieldRadio/index.ts","../../../projects/meta-ui/src/lib/fieldRadio/view.html"],"sourcesContent":["/*\n * @Author: Alexander.Vangelov@vonage.com\n * @Date: 2019-09-19 17:35:19\n * @Last Modified by: Alexander.Vangelov@vonage.com\n * @Last Modified time: 2020-03-26 12:56:38\n */\n\nimport { Component, Input, OnInit } from '@angular/core';\nimport { ControlContainer, NgForm } from '@angular/forms';\n\nimport { FieldAbstract } from '../fieldAbstract';\n\n@Component({\n templateUrl: './view.html',\n styleUrls: ['./style.scss'],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\n\nexport class FieldRadio extends FieldAbstract implements OnInit {\n @Input() meta: any;\n value: any;\n\n get options() {\n return this.meta.options || this.meta.picklist;\n }\n\n ngOnInit() {\n this.validationAttributes = ['required'];\n const origValue = this.parent[this.meta.name];\n Object.defineProperty(this.parent, this.meta.name, {\n set: (value) => {\n if (value) {\n for (const o of this.options) {\n if ((value.id || value) === (o.id || o.value || o.name || o)) {\n this.model = o;\n this.value = this.modelToValue(o, this.meta.valueType);\n break;\n }\n }\n } else {\n delete this.model;\n delete this.value;\n }\n this.meta.$optional = this.isOptional;\n },\n get: () => this.value,\n enumerable: this.sendToServer,\n configurable: true\n });\n\n if (origValue) {\n this.parent[this.meta.name] = origValue;\n }\n\n if (this.default && !this.model) {\n setTimeout(() => {\n this.parent[this.meta.name] = this.meta.valueType === 'object' ? this.default : (this.default.id || this.default);\n setTimeout(() => {\n this.onModelChange(this.model);\n }, 0);\n }, 0);\n }\n }\n\n onOptionChange(model) {\n this.model = model;\n this.onModelChange(this.model);\n }\n\n onActivated(ev) {\n if (!this.keyListenerActive) {\n ev.srcElement.addEventListener('keydown', this.keydown);\n }\n }\n\n onBlur(ev) {\n if (this.keyListenerActive) {\n ev.srcElement.removeEventListener('keydown', this.keydown);\n }\n }\n\n private keydown = (event) => {\n switch (event.key) {\n case 'Backspace': {\n event.preventDefault();\n event.stopPropagation();\n this.clear();\n break;\n }\n }\n };\n}\n","<div class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched) }\">\n\t<label class=\"Vlt-label\">{{meta.label || meta.name}}<span *ngIf='validations.required' class='Vlt-red'>*</span></label>\n\t<input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n\t<fieldset *ngFor='let option of options' class=\"Vlt-radio Vlt-radio--inline\">\n\t\t<label style='cursor: pointer;'>\n\t\t\t<span class=\"Vlt-radio__button\">\n <input class='main' (change)='onOptionChange(option)' type=\"radio\" [checked]='option === model' [value]='option' [name]='name' (focus)='onActivated($event)' (blur)='onBlur($event)'/>\n <span class=\"Vlt-radio__icon\"></span>\n </span>\n\t\t\t<span style='white-space: nowrap;'>{{option.label || option}}</span>\n\t\t</label>\n\t</fieldset>\n\t<small *ngIf='f && f.invalid && ((f | metaModel)._parent.submitted || (f | metaModel ).touched)' class=\"Vlt-form__element__error\">\n\t\t<span *ngIf=\"f.errors.required\">Required.&nbsp;</span>\n\t\t<span *ngIf=\"f.errors.custom\">{{f.errors.custom}}&nbsp;</span>\n\t</small>\n\t<small *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n</div>"],"names":["i3.MetaModelPipe"],"mappings":"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"}