@vgip/meta-ui 2.1.3 → 2.1.5

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 (111) hide show
  1. package/fesm2022/vgip-meta-ui.mjs +6092 -0
  2. package/fesm2022/vgip-meta-ui.mjs.map +1 -0
  3. package/index.d.ts +709 -0
  4. package/package.json +15 -3
  5. package/.eslintrc.json +0 -57
  6. package/karma.conf.js +0 -35
  7. package/ng-package.json +0 -10
  8. package/src/lib/common/fieldNormalizer/boolean.ts +0 -11
  9. package/src/lib/common/fieldNormalizer/datetime.ts +0 -8
  10. package/src/lib/common/fieldNormalizer/index.ts +0 -171
  11. package/src/lib/common/fieldNormalizer/number.ts +0 -13
  12. package/src/lib/common/fieldNormalizer/options.ts +0 -48
  13. package/src/lib/common/fieldNormalizer/radio.ts +0 -29
  14. package/src/lib/common/fieldNormalizer/reference.ts +0 -32
  15. package/src/lib/common/fieldNormalizer/richtext.ts +0 -15
  16. package/src/lib/common/fieldNormalizer/string.ts +0 -23
  17. package/src/lib/common/fieldNormalizer/text.ts +0 -17
  18. package/src/lib/common/fieldNormalizer/uniqueNameFilter.ts +0 -21
  19. package/src/lib/common/metaAutofocus.directive.ts +0 -31
  20. package/src/lib/common/metaContext.resolver.ts +0 -25
  21. package/src/lib/common/metaIcons.pipe.spec.ts +0 -15
  22. package/src/lib/common/metaIcons.pipe.ts +0 -29
  23. package/src/lib/common/metaModel.pipe.ts +0 -19
  24. package/src/lib/common/metaNormalizer.ts +0 -366
  25. package/src/lib/common/metaStripHtml.pipe.ts +0 -18
  26. package/src/lib/common/utils/colorThemes.ts +0 -86
  27. package/src/lib/common/utils/indexedDbStore/index.ts +0 -244
  28. package/src/lib/common/utils/indexedDbStore/indexedDbStore.spec.ts +0 -149
  29. package/src/lib/common/utils/relativeTimeBuilder.ts +0 -49
  30. package/src/lib/common/utils/resourceCardLabel.ts +0 -25
  31. package/src/lib/common/utils/smartProp.spec.ts +0 -24
  32. package/src/lib/common/utils/smartProp.ts +0 -28
  33. package/src/lib/common/utils/templateBuilder.ts +0 -99
  34. package/src/lib/field.scss +0 -207
  35. package/src/lib/fieldAbstract.ts +0 -327
  36. package/src/lib/fieldBoolean/index.ts +0 -55
  37. package/src/lib/fieldBoolean/style.scss +0 -22
  38. package/src/lib/fieldBoolean/test.spec.ts +0 -43
  39. package/src/lib/fieldBoolean/view.html +0 -30
  40. package/src/lib/fieldComposite/index.ts +0 -86
  41. package/src/lib/fieldComposite/style.scss +0 -6
  42. package/src/lib/fieldComposite/test.spec.ts +0 -43
  43. package/src/lib/fieldComposite/view.html +0 -9
  44. package/src/lib/fieldDatetime/index.ts +0 -359
  45. package/src/lib/fieldDatetime/style.scss +0 -81
  46. package/src/lib/fieldDatetime/test.spec.ts +0 -43
  47. package/src/lib/fieldDatetime/view.html +0 -26
  48. package/src/lib/fieldHidden/index.ts +0 -15
  49. package/src/lib/fieldHidden/view.html +0 -0
  50. package/src/lib/fieldInput/index.ts +0 -477
  51. package/src/lib/fieldInput/style.scss +0 -128
  52. package/src/lib/fieldInput/test.spec.ts +0 -43
  53. package/src/lib/fieldInput/view.html +0 -81
  54. package/src/lib/fieldList/index.ts +0 -73
  55. package/src/lib/fieldList/style.scss +0 -26
  56. package/src/lib/fieldList/test.spec.ts +0 -43
  57. package/src/lib/fieldList/view.html +0 -25
  58. package/src/lib/fieldRadio/index.ts +0 -93
  59. package/src/lib/fieldRadio/style.scss +0 -32
  60. package/src/lib/fieldRadio/test.spec.ts +0 -43
  61. package/src/lib/fieldRadio/view.html +0 -24
  62. package/src/lib/fieldReference/index.ts +0 -871
  63. package/src/lib/fieldReference/style.scss +0 -273
  64. package/src/lib/fieldReference/test.spec.ts +0 -44
  65. package/src/lib/fieldReference/view.html +0 -163
  66. package/src/lib/fieldRichtext/index.ts +0 -98
  67. package/src/lib/fieldRichtext/quill.scss +0 -6
  68. package/src/lib/fieldRichtext/style.scss +0 -87
  69. package/src/lib/fieldRichtext/test.spec.ts +0 -43
  70. package/src/lib/fieldRichtext/view.html +0 -17
  71. package/src/lib/fieldSelect/index.ts +0 -597
  72. package/src/lib/fieldSelect/style.scss +0 -165
  73. package/src/lib/fieldSelect/test.spec.ts +0 -44
  74. package/src/lib/fieldSelect/view.html +0 -128
  75. package/src/lib/fieldText/index.ts +0 -86
  76. package/src/lib/fieldText/style.scss +0 -24
  77. package/src/lib/fieldText/test.spec.ts +0 -43
  78. package/src/lib/fieldText/view.html +0 -23
  79. package/src/lib/fieldUnknown/index.ts +0 -15
  80. package/src/lib/fieldUnknown/test.spec.ts +0 -34
  81. package/src/lib/fieldUnknown/view.html +0 -9
  82. package/src/lib/index.ts +0 -127
  83. package/src/lib/layout/index.ts +0 -255
  84. package/src/lib/layout/style.scss +0 -67
  85. package/src/lib/layout/view.html +0 -45
  86. package/src/lib/metaField/index.ts +0 -133
  87. package/src/lib/metaField/test.spec.ts +0 -32
  88. package/src/lib/refDialog/index.ts +0 -157
  89. package/src/lib/refDialog/style.scss +0 -154
  90. package/src/lib/refDialog/view.html +0 -24
  91. package/src/lib/resource/index.ts +0 -559
  92. package/src/lib/resource/style.scss +0 -132
  93. package/src/lib/resource/view.html +0 -70
  94. package/src/lib/resourceCard/index.ts +0 -44
  95. package/src/lib/resourceCard/style.scss +0 -7
  96. package/src/lib/resourceCard/view.html +0 -14
  97. package/src/lib/services/metaContext/index.ts +0 -61
  98. package/src/lib/services/metaMsg/index.ts +0 -84
  99. package/src/lib/services/metaReference/index.ts +0 -98
  100. package/src/lib/services/metaResource/index.ts +0 -163
  101. package/src/lib/services/metaResource/metaHttpClient.ts +0 -76
  102. package/src/lib/services/metaResource/metaResource.spec.ts +0 -24
  103. package/src/lib/services/metaTracker/index.ts +0 -38
  104. package/src/lib/services/resourceDrafts/index.ts +0 -81
  105. package/src/lib/services/resourceDrafts/resourceDrafts.spec.ts +0 -24
  106. package/src/lib/styles.scss +0 -13
  107. package/src/public-api.ts +0 -5
  108. package/src/test.ts +0 -17
  109. package/tsconfig.lib.json +0 -25
  110. package/tsconfig.lib.prod.json +0 -9
  111. package/tsconfig.spec.json +0 -17
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vgip/meta-ui",
3
- "version": "2.1.3",
3
+ "version": "2.1.5",
4
4
  "description": "VGIP Meta UI",
5
5
  "peerDependencies": {
6
6
  "@angular/common": "^20.3.5",
@@ -10,5 +10,17 @@
10
10
  },
11
11
  "dependencies": {
12
12
  "tslib": "^2.0.0"
13
- }
14
- }
13
+ },
14
+ "module": "fesm2022/vgip-meta-ui.mjs",
15
+ "typings": "index.d.ts",
16
+ "exports": {
17
+ "./package.json": {
18
+ "default": "./package.json"
19
+ },
20
+ ".": {
21
+ "types": "./index.d.ts",
22
+ "default": "./fesm2022/vgip-meta-ui.mjs"
23
+ }
24
+ },
25
+ "sideEffects": false
26
+ }
package/.eslintrc.json DELETED
@@ -1,57 +0,0 @@
1
- {
2
- "extends": "../../.eslintrc.json",
3
- "ignorePatterns": [
4
- "!**/*"
5
- ],
6
- "overrides": [
7
- {
8
- "files": [
9
- "*.ts"
10
- ],
11
- "parserOptions": {
12
- "project": [
13
- "projects/meta-ui/tsconfig.lib.json",
14
- "projects/meta-ui/tsconfig.spec.json"
15
- ],
16
- "createDefaultProgram": true
17
- },
18
- "rules": {
19
- "@angular-eslint/component-class-suffix": "off",
20
- "@angular-eslint/component-selector": [
21
- "error",
22
- {
23
- "type": "element",
24
- "prefix": "vgip",
25
- "style": "kebab-case"
26
- }
27
- ],
28
- "@angular-eslint/directive-selector": [
29
- "error",
30
- {
31
- "type": "attribute",
32
- "prefix": "meta",
33
- "style": "camelCase"
34
- }
35
- ],
36
- "@typescript-eslint/explicit-member-accessibility": [
37
- "off",
38
- {
39
- "accessibility": "explicit"
40
- }
41
- ],
42
- "arrow-parens": [
43
- "off",
44
- "always"
45
- ],
46
- "import/order": "off",
47
- "no-trailing-spaces": "off"
48
- }
49
- },
50
- {
51
- "files": [
52
- "*.html"
53
- ],
54
- "rules": {}
55
- }
56
- ]
57
- }
package/karma.conf.js DELETED
@@ -1,35 +0,0 @@
1
- // Karma configuration file, see link for more information
2
- // https://karma-runner.github.io/1.0/config/configuration-file.html
3
-
4
- module.exports = function (config) {
5
- config.set({
6
- basePath: '',
7
- frameworks: ['jasmine', '@angular-devkit/build-angular'],
8
- plugins: [
9
- require('karma-jasmine'),
10
- require('karma-chrome-launcher'),
11
- require('karma-jasmine-html-reporter'),
12
- require('karma-coverage'),
13
- require('@angular-devkit/build-angular/plugins/karma')
14
- ],
15
- client: {
16
- clearContext: false // leave Jasmine Spec Runner output visible in browser
17
- },
18
- coverageReporter: {
19
- dir : require('path').join(__dirname, '../../coverage/meta-ui'),
20
- reporters: [
21
- { type: 'html', subdir: 'report-html' },
22
- { type: 'lcov', subdir: 'report-lcov' },
23
- { type: 'text-summary', subdir: '.', file: 'text-summary.txt' },
24
- ]
25
- },
26
- reporters: ['progress', 'kjhtml', 'coverage'],
27
- port: 9876,
28
- colors: true,
29
- logLevel: config.LOG_INFO,
30
- autoWatch: true,
31
- browsers: ['Chrome'],
32
- singleRun: false,
33
- restartOnFileChange: true
34
- });
35
- };
package/ng-package.json DELETED
@@ -1,10 +0,0 @@
1
- {
2
- "$schema": "../../node_modules/ng-packagr/ng-package.schema.json",
3
- "dest": "../../dist/meta-ui",
4
- "lib": {
5
- "entryFile": "src/public-api.ts"
6
- },
7
- "assets": [
8
- "vendor/volta3"
9
- ]
10
- }
@@ -1,11 +0,0 @@
1
- export const booleanFieldNormalizer = (field) => {
2
- const f: any = {
3
- label: field.label,
4
- name: field.name
5
- };
6
- if (field.subtype) {
7
- f.subtype = field.subtype;
8
- }
9
- f.type = field.name ? 'boolean' : 'missing name';
10
- return f;
11
- };
@@ -1,8 +0,0 @@
1
- export const datetimeFieldNormalizer = (field) => {
2
- const f: any = {
3
- label: field.label,
4
- name: field.name
5
- };
6
- f.type = field.name ? (field.type || '').toLowerCase() : 'missing name';
7
- return f;
8
- };
@@ -1,171 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2019-09-19 17:34:34
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2021-03-22 17:13:53
6
- */
7
-
8
- import { numberFieldNormalizer } from './number';
9
- import { optionsFieldNormalizer } from './options';
10
- import { stringFieldNormalizer } from './string';
11
- import { booleanFieldNormalizer } from './boolean';
12
- import { textFieldNormalizer } from './text';
13
- import { datetimeFieldNormalizer } from './datetime';
14
- import { referenceFieldNormalizer } from './reference';
15
- import { radioFieldNormalizer } from './radio';
16
- import { richtextFieldNormalizer } from './richtext';
17
-
18
- import { uniqueNameFilter } from './uniqueNameFilter';
19
-
20
- export const fieldNormalizer = (field: any, uniqFieldNames: Array<string>) => {
21
- if (!field) {
22
- return;
23
- }
24
- const f: any = {
25
- validations: {}
26
- };
27
- const fieldType = (field.type || '').toLowerCase();
28
- if (['int', 'integer', 'number', 'double', 'float', 'bigdecimal', 'percent', 'currency'].indexOf(fieldType) !== -1) {
29
- Object.assign(f, numberFieldNormalizer(field));
30
- } else if (['picklist', 'select', 'multipicklist', 'options'].indexOf(fieldType) !== -1) {
31
- Object.assign(f, optionsFieldNormalizer(field));
32
- } else if (['string', null, undefined, '', 'email', 'phone', 'url', 'combobox'].indexOf(fieldType) !== -1) {
33
- Object.assign(f, stringFieldNormalizer(field));
34
- } else if (['bool', 'boolean', 'checkbox', 'switch'].indexOf(fieldType) !== -1) {
35
- Object.assign(f, booleanFieldNormalizer(field));
36
- } else if (['text', 'textarea'].indexOf(fieldType) !== -1) {
37
- Object.assign(f, textFieldNormalizer(field));
38
- } else if (['richtext'].indexOf(fieldType) !== -1) {
39
- Object.assign(f, richtextFieldNormalizer(field));
40
- } else if (['date', 'time', 'datetime', 'datetime-local'].indexOf(fieldType) !== -1) {
41
- Object.assign(f, datetimeFieldNormalizer(field));
42
- } else if (['reference', 'references', 'multireference'].indexOf(fieldType) !== -1) {
43
- Object.assign(f, referenceFieldNormalizer(field));
44
- } else if (['radio'].indexOf(fieldType) !== -1) {
45
- Object.assign(f, radioFieldNormalizer(field));
46
- } else if (fieldType === 'composite') {
47
- Object.assign(f, {
48
- type: 'composite',
49
- label: field.label,
50
- name: field.name,
51
- fields: uniqueNameFilter(
52
- field.fields || field.reference || [],
53
- uniqFieldNames,
54
- (typeof(field.name) !== 'undefined')
55
- ).map((v) => fieldNormalizer(v, uniqFieldNames))
56
- });
57
- if (field.subtype) {
58
- f.subtype = field.subtype;
59
- }
60
- } else if (fieldType === 'list') {
61
- const list = field.list || field.reference;
62
- Object.assign(f, {
63
- type: field.name ? 'list' : 'missing name',
64
- label: field.label,
65
- name: field.name,
66
- list: fieldNormalizer(uniqueNameFilter(list, uniqFieldNames), field.name ? [] : uniqFieldNames)
67
- });
68
- if (field.selectable) {
69
- f.selectable = field.selectable;
70
- }
71
- if (field.resourceType) {
72
- f.resourceType = field.resourceType;
73
- }
74
- } else if (fieldType === 'hidden') {
75
- Object.assign(f, {
76
- name: field.name,
77
- type: 'hidden'
78
- });
79
- } else {
80
- Object.assign(f, {
81
- label: field.label,
82
- name: field.name,
83
- type: `@v2 ${fieldType}`
84
- });
85
- }
86
- if (field.validations) {
87
- Object.assign(f.validations, field.validations);
88
- }
89
- if (field.auto) {
90
- f.auto = field.auto;
91
- }
92
- if ((field.default || field.defaultValue) && !f.default) {
93
- const d = field.default || field.defaultValue;
94
- if (Array.isArray(d)) {
95
- f.default = [];
96
- for (const v of d) {
97
- if (typeof(v) === 'object' && v !== null) {
98
- const o: any = {
99
- id: v.id || v.value || v.name || v.label,
100
- label: v.label || 'N/A'
101
- };
102
- if (v.type) {
103
- o.type = v.type;
104
- }
105
- if (!v.type && f.reference && f.reference.name) { // Bullhorn CAND PT bad metadata
106
- o.type = f.reference.name;
107
- }
108
- f.default.push(o);
109
- } else {
110
- f.default = v;
111
- }
112
- }
113
- } else if (typeof(d) === 'object' && d !== null) {
114
- if (field.type === 'boolean' && typeof(d.value) === 'boolean') {
115
- f.default = d.value;
116
- } else if (Object.keys(d).length) {
117
- const id = d.id || d.value || d.name || d.label;
118
- if (id) {
119
- f.default = {
120
- id: d.id || d.value || d.name || d.label,
121
- label: d.label || 'N/A'
122
- };
123
- }
124
- if (d.type) {
125
- f.default.type = d.type;
126
- }
127
- }
128
- } else {
129
- f.default = d;
130
- }
131
- }
132
- if (field.visible || field.alwaysVisible) {
133
- f.visible = field.visible || field.alwaysVisible;
134
- }
135
- if (field.hidden) {
136
- f.hidden = field.hidden;
137
- }
138
- if (field.hint || field.helpText) {
139
- f.hint = field.hint || field.helpText;
140
- }
141
- if (field.valueType) {
142
- f.valueType = field.valueType;
143
- }
144
- if (field.multiple) {
145
- f.multiple = field.multiple;
146
- }
147
- if (field.suggestions && field.suggestions.length) {
148
- f.suggestions = field.suggestions;
149
- }
150
- if (field.updateable === false || field.updatable === false) {
151
- if (!f.flags) {
152
- f.flags = { updatable: false };
153
- } else {
154
- f.flags.updatable = false;
155
- }
156
- }
157
- if (field.createable === false || field.creatable === false) {
158
- if (!f.flags) {
159
- f.flags = { creatable: false };
160
- } else {
161
- f.flags.creatable = false;
162
- }
163
- }
164
- if (typeof(field.enabled) !== 'undefined') {
165
- f.enabled = field.enabled;
166
- }
167
- if (typeof(field.disabled) !== 'undefined') {
168
- f.disabled = field.disabled;
169
- }
170
- return f;
171
- };
@@ -1,13 +0,0 @@
1
- export const numberFieldNormalizer = (field) => {
2
- const f: any = {
3
- label: field.label,
4
- name: field.name
5
- };
6
- f.type = field.name ? 'number' : 'missing name';
7
- if (field.type === 'float' || field.subtype === 'float') {
8
- f.validations = {
9
- step: field.step || '0.01'
10
- }
11
- }
12
- return f;
13
- };
@@ -1,48 +0,0 @@
1
- export const optionsFieldNormalizer = (field) => {
2
- const f: any = {
3
- label: field.label,
4
- name: field.name,
5
- options: field.options || []
6
- };
7
- if (field.dependentPicklist && field.controllerName) {
8
- const enabled = {};
9
- enabled[field.controllerName] = true;
10
- f.enabled = enabled;
11
- }
12
- if (field.picklist) {
13
- for (const o of field.picklist) {
14
- const opt: any = {
15
- id: o.name || o.id,
16
- label: o.label
17
- };
18
- if (field.for) {
19
- opt.for = field.for;
20
- }
21
- if (o.validFor && field.controllerName) {
22
- const validFor = {};
23
- validFor[field.controllerName] = o.validFor;
24
- opt.for = validFor;
25
- }
26
- f.options.push(opt);
27
- if (o.defaultValue && !field.default) {
28
- f.default = opt.id;
29
- }
30
- }
31
- }
32
- f.type = field.name ? 'select' : 'missing name';
33
- if (field.type === 'multipicklist') {
34
- f.multiple = true;
35
- }
36
- if (field.reference) {
37
- f.reference = field.reference;
38
- }
39
- if (field.searchUrl || field.searchParams) {
40
- f.search = {
41
- url: field.searchUrl,
42
- params: field.searchParams
43
- };
44
- } else if (field.search) {
45
- f.search = field.search;
46
- }
47
- return f;
48
- };
@@ -1,29 +0,0 @@
1
- export const radioFieldNormalizer = (field) => {
2
- const f: any = {
3
- label: field.label,
4
- name: field.name,
5
- options: field.options || []
6
- };
7
- f.type = field.name ? 'radio' : 'missing name';
8
- if (field.picklist) {
9
- for (const o of field.picklist) {
10
- const opt: any = {
11
- id: o.name || o.id,
12
- label: o.label
13
- };
14
- if (field.for) {
15
- opt.for = field.for;
16
- }
17
- if (o.validFor && field.controllerName) {
18
- const validFor = {};
19
- validFor[field.controllerName] = o.validFor;
20
- opt.for = validFor;
21
- }
22
- f.options.push(opt);
23
- if (o.defaultValue && !field.default) {
24
- f.default = opt.id;
25
- }
26
- }
27
- }
28
- return f;
29
- };
@@ -1,32 +0,0 @@
1
- export const referenceFieldNormalizer = (field) => {
2
- const f: any = {
3
- type: field.name ? 'reference' : 'missing name',
4
- label: field.label,
5
- name: field.name
6
- };
7
- f.type = field.name ? 'reference' : 'missing name';
8
- if (field.reference) {
9
- if (field.reference instanceof Array && field.reference.length === 1) {
10
- f.reference = field.reference[0];
11
- } else {
12
- f.reference = field.reference;
13
- }
14
- } else if (field.references) {
15
- f.references = field.references;
16
- }
17
- if (field.acceptNew) {
18
- f.acceptNew = field.acceptNew;
19
- }
20
- if (field.searchLabel) {
21
- f.searchLabel = field.searchLabel;
22
- }
23
- if (field.searchUrl || field.searchParams) {
24
- f.search = {
25
- url: field.searchUrl,
26
- params: field.searchParams
27
- };
28
- } else if (field.search) {
29
- f.search = field.search;
30
- }
31
- return f;
32
- };
@@ -1,15 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2019-09-19 17:34:34
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2021-03-22 17:11:01
6
- */
7
-
8
- export const richtextFieldNormalizer = (field) => {
9
- const f: any = {
10
- label: field.label,
11
- name: field.name
12
- };
13
- f.type = field.name ? 'richtext' : 'missing name';
14
- return f;
15
- };
@@ -1,23 +0,0 @@
1
- export const stringFieldNormalizer = (field) => {
2
- const f: any = {
3
- label: field.label,
4
- name: field.name
5
- };
6
- f.type = field.name ? 'string' : 'missing name';
7
- if (field.subtype) {
8
- f.subtype = field.subtype;
9
- }
10
- if (field.picklist || field.options) {
11
- f.suggestions = (field.picklist || field.options || []).map((s) => {
12
- if (s.defaultValue) {
13
- f.default = s.label || s.name || s.id || s;
14
- }
15
- return {
16
- id: s.id,
17
- label: s.label,
18
- name: s.name
19
- };
20
- });
21
- }
22
- return f;
23
- };
@@ -1,17 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2021-03-22 17:09:52
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2021-03-22 17:09:52
6
- */
7
- export const textFieldNormalizer = (field) => {
8
- const f: any = {
9
- label: field.label,
10
- name: field.name
11
- };
12
- f.type = field.name ? 'text' : 'missing name';
13
- if (field.rows) {
14
- f.rows = field.rows;
15
- }
16
- return f;
17
- };
@@ -1,21 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2021-03-22 17:09:12
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2021-03-22 17:09:12
6
- */
7
- export const uniqueNameFilter = (fields: Array<any>, uniqFieldNames: Array<string>, allowDuplicates = false) => {
8
- if (fields instanceof Array) {
9
- return allowDuplicates ? fields : fields.filter((f) => {
10
- if (f.name) {
11
- if (uniqFieldNames.indexOf(f.name) !== -1) {
12
- return false;
13
- }
14
- uniqFieldNames.push(f.name);
15
- }
16
- return true;
17
- });
18
- } else {
19
- return fields;
20
- }
21
- };
@@ -1,31 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2021-02-11 17:25:09
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2021-02-11 17:33:57
6
- */
7
- import { Directive, ElementRef, AfterContentInit, Input } from '@angular/core';
8
-
9
- @Directive({
10
- // eslint-disable-next-line
11
- selector: '[vgipMetaFormAutofocus]',
12
- standalone: false
13
- })
14
- export class MetaAutofocusDirective implements AfterContentInit {
15
- @Input() vgipMetaFormAutofocus: boolean;
16
-
17
- constructor(private elementRef: ElementRef) {}
18
-
19
- ngAfterContentInit(): void {
20
- if (this.vgipMetaFormAutofocus) {
21
- setTimeout(() => {
22
- const firstInput = this.elementRef.nativeElement.querySelector(
23
- '.Vlt-form__element:not(.has-value) .main:not(.standalone):not([value])'
24
- );
25
- if (firstInput) {
26
- firstInput.focus();
27
- }
28
- }, 300);
29
- }
30
- }
31
- }
@@ -1,25 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2020-05-03 21:09:03
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2020-05-03 21:09:36
6
- */
7
-
8
- import { Injectable } from '@angular/core';
9
- import { ActivatedRouteSnapshot } from '@angular/router';
10
- import { Observable, EMPTY } from 'rxjs';
11
-
12
- import { MetaContextService } from '../services/metaContext';
13
-
14
- @Injectable({
15
- providedIn: 'root'
16
- })
17
- export class MetaContextResolver {
18
- constructor(private metaContext: MetaContextService) {}
19
-
20
- resolve(route: ActivatedRouteSnapshot): Observable<any> {
21
- this.metaContext.phoneNumber = route.queryParamMap.get('phoneNumber');
22
- this.metaContext.displayName = route.queryParamMap.get('displayName');
23
- return EMPTY;
24
- }
25
- }
@@ -1,15 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2019-09-19 17:35:19
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2019-11-05 13:46:14
6
- */
7
-
8
- import { MetaIconsPipe } from './metaIcons.pipe';
9
-
10
- describe('VoltaIconsPipe', () => {
11
- it('create an instance', () => {
12
- const pipe = new MetaIconsPipe({ bypassSecurityTrustHtml: (v) => v } as any);
13
- expect(pipe).toBeTruthy();
14
- });
15
- });
@@ -1,29 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2019-09-19 17:35:19
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2019-11-05 13:46:18
6
- */
7
-
8
- import { Pipe, PipeTransform } from '@angular/core';
9
- import { DomSanitizer } from '@angular/platform-browser';
10
-
11
- @Pipe({
12
- name: 'metaIcons',
13
- standalone: false
14
- })
15
- export class MetaIconsPipe implements PipeTransform {
16
-
17
- constructor(protected sanitizer: DomSanitizer) { }
18
-
19
- transform(value: any): any {
20
- if (typeof(value) === 'string') {
21
- value = value.replace(
22
- /\${\s*icon:([\w-]+)\s*}/g,
23
- (match, val) => `<svg class='Vlt-icon'><use xlink:href="volta/volta-icons.svg#${val}"/></svg>`
24
- );
25
- return value; //this.sanitizer.bypassSecurityTrustHtml(value);
26
- }
27
- }
28
-
29
- }
@@ -1,19 +0,0 @@
1
- /*
2
- * @Author: Alexander.Vangelov@vonage.com
3
- * @Date: 2019-09-19 17:35:19
4
- * @Last Modified by: Alexander.Vangelov@vonage.com
5
- * @Last Modified time: 2019-11-05 13:46:26
6
- */
7
-
8
- import { Pipe, PipeTransform } from '@angular/core';
9
-
10
- @Pipe({
11
- name: 'metaModel',
12
- pure: true,
13
- standalone: false
14
- })
15
- export class MetaModelPipe implements PipeTransform {
16
- transform(value: any): any {
17
- return value;
18
- }
19
- }