@vgip/meta-ui 1.6.9 → 1.7.2
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/{esm2020 → esm2022}/lib/common/metaAutofocus.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/common/metaIcons.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/common/metaModel.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/common/metaNormalizer.mjs +16 -1
- package/{esm2020 → esm2022}/lib/common/metaStripHtml.pipe.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldAbstract.mjs +5 -5
- package/esm2022/lib/fieldBoolean/index.mjs +56 -0
- package/{esm2020 → esm2022}/lib/fieldComposite/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldDatetime/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/fieldHidden/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldInput/index.mjs +5 -5
- package/{esm2020 → esm2022}/lib/fieldList/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/fieldRadio/index.mjs +5 -5
- package/esm2022/lib/fieldReference/index.mjs +825 -0
- package/esm2022/lib/fieldRichtext/index.mjs +95 -0
- package/esm2022/lib/fieldSelect/index.mjs +490 -0
- package/esm2022/lib/fieldText/index.mjs +65 -0
- package/{esm2020 → esm2022}/lib/fieldUnknown/index.mjs +4 -4
- package/esm2022/lib/index.mjs +163 -0
- package/{esm2020 → esm2022}/lib/layout/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/metaField/index.mjs +7 -7
- package/{esm2020 → esm2022}/lib/refDialog/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/resource/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/resourceCard/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaContext/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaMsg/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaReference/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaResource/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaResource/metaHttpClient.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/metaTracker/index.mjs +4 -4
- package/{esm2020 → esm2022}/lib/services/resourceDrafts/index.mjs +4 -4
- package/{fesm2020/vgip-meta-ui-fieldAbstract-17f26446.mjs → fesm2022/vgip-meta-ui-fieldAbstract-ce47588e.mjs} +5 -5
- package/fesm2022/vgip-meta-ui-fieldAbstract-ce47588e.mjs.map +1 -0
- package/{fesm2015/vgip-meta-ui-index-6e77c362.mjs → fesm2022/vgip-meta-ui-index-1467556e.mjs} +4 -4
- package/{fesm2020/vgip-meta-ui-index-6e77c362.mjs.map → fesm2022/vgip-meta-ui-index-1467556e.mjs.map} +1 -1
- package/fesm2022/vgip-meta-ui-index-5509b1d2.mjs +68 -0
- package/fesm2022/vgip-meta-ui-index-5509b1d2.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-5d664781.mjs +858 -0
- package/fesm2022/vgip-meta-ui-index-5d664781.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-b428f3c0.mjs → fesm2022/vgip-meta-ui-index-617c4bac.mjs} +43 -28
- package/fesm2022/vgip-meta-ui-index-617c4bac.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-6dcb4942.mjs +24 -0
- package/{fesm2015/vgip-meta-ui-index-5a12f79d.mjs.map → fesm2022/vgip-meta-ui-index-6dcb4942.mjs.map} +1 -1
- package/{fesm2015/vgip-meta-ui-index-8c0d0972.mjs → fesm2022/vgip-meta-ui-index-78d7b9be.mjs} +7 -7
- package/fesm2022/vgip-meta-ui-index-78d7b9be.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-85109066.mjs +97 -0
- package/fesm2022/vgip-meta-ui-index-85109066.mjs.map +1 -0
- package/{fesm2015/vgip-meta-ui-index-fda3d1e2.mjs → fesm2022/vgip-meta-ui-index-86211382.mjs} +7 -8
- package/{fesm2020/vgip-meta-ui-index-39177940.mjs.map → fesm2022/vgip-meta-ui-index-86211382.mjs.map} +1 -1
- package/fesm2022/vgip-meta-ui-index-adb42356.mjs +95 -0
- package/fesm2022/vgip-meta-ui-index-adb42356.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-db9a2218.mjs → fesm2022/vgip-meta-ui-index-cb0d4f82.mjs} +5 -5
- package/{fesm2015/vgip-meta-ui-index-db9a2218.mjs.map → fesm2022/vgip-meta-ui-index-cb0d4f82.mjs.map} +1 -1
- package/fesm2022/vgip-meta-ui-index-cfb67422.mjs +497 -0
- package/fesm2022/vgip-meta-ui-index-cfb67422.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-8f956c8f.mjs → fesm2022/vgip-meta-ui-index-eba0dd05.mjs} +8 -8
- package/fesm2022/vgip-meta-ui-index-eba0dd05.mjs.map +1 -0
- package/fesm2022/vgip-meta-ui-index-eef5fc0f.mjs +61 -0
- package/fesm2022/vgip-meta-ui-index-eef5fc0f.mjs.map +1 -0
- package/{fesm2020/vgip-meta-ui-index-dae4cc15.mjs → fesm2022/vgip-meta-ui-index-f0fa2cbd.mjs} +6 -6
- package/{fesm2020/vgip-meta-ui-index-dae4cc15.mjs.map → fesm2022/vgip-meta-ui-index-f0fa2cbd.mjs.map} +1 -1
- package/{fesm2020/vgip-meta-ui-index-b0cee687.mjs → fesm2022/vgip-meta-ui-index-f5e42e1d.mjs} +20 -20
- package/{fesm2020/vgip-meta-ui-index-b0cee687.mjs.map → fesm2022/vgip-meta-ui-index-f5e42e1d.mjs.map} +1 -1
- package/{fesm2015/vgip-meta-ui-metaModel.pipe-4b068359.mjs → fesm2022/vgip-meta-ui-metaModel.pipe-3487ede2.mjs} +4 -4
- package/{fesm2015/vgip-meta-ui-metaModel.pipe-4b068359.mjs.map → fesm2022/vgip-meta-ui-metaModel.pipe-3487ede2.mjs.map} +1 -1
- package/{fesm2020 → fesm2022}/vgip-meta-ui.mjs +96 -91
- package/{fesm2015 → fesm2022}/vgip-meta-ui.mjs.map +1 -1
- package/lib/common/metaAutofocus.directive.d.ts +1 -1
- package/lib/fieldBoolean/index.d.ts +1 -1
- package/lib/fieldComposite/index.d.ts +1 -1
- package/lib/fieldRadio/index.d.ts +1 -1
- package/lib/fieldRichtext/index.d.ts +6 -8
- package/lib/fieldText/index.d.ts +1 -1
- package/lib/layout/index.d.ts +1 -1
- package/lib/metaField/index.d.ts +1 -1
- package/lib/resource/index.d.ts +1 -1
- package/lib/resourceCard/index.d.ts +1 -1
- package/package.json +8 -14
- package/esm2020/lib/fieldBoolean/index.mjs +0 -56
- package/esm2020/lib/fieldReference/index.mjs +0 -825
- package/esm2020/lib/fieldRichtext/index.mjs +0 -85
- package/esm2020/lib/fieldSelect/index.mjs +0 -488
- package/esm2020/lib/fieldText/index.mjs +0 -65
- package/esm2020/lib/index.mjs +0 -158
- package/fesm2015/vgip-meta-ui-fieldAbstract-17f26446.mjs +0 -397
- package/fesm2015/vgip-meta-ui-fieldAbstract-17f26446.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-0fc1c4a5.mjs +0 -68
- package/fesm2015/vgip-meta-ui-index-0fc1c4a5.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-5a12f79d.mjs +0 -24
- package/fesm2015/vgip-meta-ui-index-6e77c362.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-89b8d1d4.mjs +0 -858
- package/fesm2015/vgip-meta-ui-index-89b8d1d4.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-8a2f9dbf.mjs +0 -151
- package/fesm2015/vgip-meta-ui-index-8a2f9dbf.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-8c0d0972.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-8f956c8f.mjs +0 -460
- package/fesm2015/vgip-meta-ui-index-8f956c8f.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-91a02c0f.mjs +0 -95
- package/fesm2015/vgip-meta-ui-index-91a02c0f.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-9af6e01b.mjs +0 -88
- package/fesm2015/vgip-meta-ui-index-9af6e01b.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-9ca39230.mjs +0 -1900
- package/fesm2015/vgip-meta-ui-index-9ca39230.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-a276b206.mjs +0 -61
- package/fesm2015/vgip-meta-ui-index-a276b206.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-b79a6173.mjs +0 -72
- package/fesm2015/vgip-meta-ui-index-b79a6173.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-db9a2218.mjs +0 -23
- package/fesm2015/vgip-meta-ui-index-e4e3a171.mjs +0 -496
- package/fesm2015/vgip-meta-ui-index-e4e3a171.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui-index-fda3d1e2.mjs.map +0 -1
- package/fesm2015/vgip-meta-ui.mjs +0 -525
- package/fesm2020/vgip-meta-ui-fieldAbstract-17f26446.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-0fc1c4a5.mjs +0 -68
- package/fesm2020/vgip-meta-ui-index-0fc1c4a5.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-39177940.mjs +0 -74
- package/fesm2020/vgip-meta-ui-index-5a12f79d.mjs +0 -24
- package/fesm2020/vgip-meta-ui-index-5a12f79d.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-6e77c362.mjs +0 -130
- package/fesm2020/vgip-meta-ui-index-8c0d0972.mjs +0 -368
- package/fesm2020/vgip-meta-ui-index-8c0d0972.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-8f956c8f.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-91a02c0f.mjs +0 -95
- package/fesm2020/vgip-meta-ui-index-91a02c0f.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-9af6e01b.mjs +0 -88
- package/fesm2020/vgip-meta-ui-index-9af6e01b.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-a276b206.mjs +0 -61
- package/fesm2020/vgip-meta-ui-index-a276b206.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-ad59c1c4.mjs +0 -495
- package/fesm2020/vgip-meta-ui-index-ad59c1c4.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-b428f3c0.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-db9a2218.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-index-e5f4755f.mjs +0 -858
- package/fesm2020/vgip-meta-ui-index-e5f4755f.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-metaModel.pipe-4b068359.mjs +0 -28
- package/fesm2020/vgip-meta-ui-metaModel.pipe-4b068359.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -51
- package/fesm2020/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs.map +0 -1
- package/fesm2020/vgip-meta-ui.mjs.map +0 -1
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/boolean.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/datetime.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/number.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/options.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/radio.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/reference.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/richtext.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/string.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/text.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/fieldNormalizer/uniqueNameFilter.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/colorThemes.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/indexedDbStore/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/relativeTimeBuilder.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/resourceCardLabel.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/smartProp.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/common/utils/templateBuilder.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/vgip-meta-ui.mjs +0 -0
- /package/{fesm2015 → fesm2022}/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs +0 -0
- /package/{fesm2015 → fesm2022}/vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs.map +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vgip-meta-ui-index-fda3d1e2.mjs","sources":["../../../projects/meta-ui/src/lib/fieldList/index.ts","../../../projects/meta-ui/src/lib/fieldList/view.html"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\nimport { FieldAbstract } from '../fieldAbstract';\nimport { ControlContainer, NgForm } from '@angular/forms';\n\n@Component({\n templateUrl: './view.html',\n styleUrls: ['./style.scss'],\n viewProviders: [{ provide: ControlContainer, useExisting: NgForm }]\n})\nexport class FieldList extends FieldAbstract implements OnInit {\n items: Array<any> = [];\n value: any;\n\n get list() {\n return this.meta.list || this.meta.reference;\n }\n\n get cloneList() {\n return JSON.parse(JSON.stringify(this.list));\n }\n\n ngOnInit() {\n this.scope += `${this.meta.name}_`;\n const origValue = this.parent[this.meta.name];\n Object.defineProperty(this.parent, this.meta.name, {\n set: (value) => {\n this.model = [];\n if (value && value.length) {\n for (const i of value) {\n if (this.model.indexOf(i) === -1) {\n this.model.push(i);\n }\n }\n }\n this.value = this.model;\n this.meta.$optional = this.isOptional;\n },\n get: () => this.value,\n enumerable: true,\n configurable: true\n });\n if (origValue) {\n this.parent[this.meta.name] = origValue;\n }\n if (!this.model && this.validations.min) {\n for (let i = 0; i < this.validations.min; i++) {\n this.add();\n }\n }\n }\n\n add() {\n if (!this.model) {\n this.model = [];\n }\n if (!this.validations.max || (this.validations.max > this.model.length)) {\n this.model.push({});\n this.value = this.model;\n }\n }\n\n remove(itemIndex) {\n this.model.splice(itemIndex, 1);\n this.value = this.model;\n }\n}\n","<div *ngIf='true' class=\"Vlt-form__element\" [ngClass]=\"{ 'Vlt-form__element--error': (f | metaModel)._parent.submitted && f.invalid }\">\n <label class=\"Vlt-label\">{{meta.label || meta.name}} ({{(model || []).length}})<span *ngIf='validations.required' class='Vlt-red'>*</span></label>\n <small style='margin-bottom: 4px;' *ngIf='meta.hint' class=\"Vlt-form__element__hint\">{{meta.hint}}</small>\n <input class='model' type='hidden' [required]='validations.required' [(ngModel)]='model' #f='ngModel' [name]='name' />\n <ng-container *ngIf='model'>\n <div *ngFor='let item of model; let i = index;' style='display: flex; border-bottom: 1px solid var(--vgip-meta-separator-color);'>\n <vgip-meta-field style='flex: 1;' [index]='i' [scope]='scope' [meta]='cloneList' [parent]='item' [integrationCode]='integrationCode' [resourceType]='meta.resourceType || resourceType' theme='inherit' [preview]='preview'></vgip-meta-field>\n <vgip-meta-field *ngIf='meta.selectable' [meta]=\"{ name: meta.selectable.name, label: ' ', type: 'radio', options: [ { id: meta.selectable.value, label: meta.selectable.label } ] }\" [parent]='item' [integrationCode]='integrationCode' theme='inherit' style='margin-left: 12px; margin-top: 12px; margin-right: -12px;'></vgip-meta-field>\n <div *ngIf='!preview' style='padding-left: 12px; margin-top: 3px;'>\n <button type='button' (click)='remove(i)' class=\"Vlt-btn Vlt-btn--link item-remove-button\" [disabled]='model.length === (validations.min || 0)' aria-label='Remove'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-bin\"/></svg>\n </button>\n </div>\n </div>\n </ng-container>\n <button *ngIf='!preview && (!validations.max || !model || model.length < validations.max)' style='width: 100%;' type='button' (click)='add()' class=\"Vlt-btn Vlt-btn--small Vlt-btn--tertiary Vlt-btn--app Vlt-btn--no-focus item-add-button\" [disabled]='validations.max && model && model.length === validations.max'>\n <svg><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-plus\"/></svg>{{list.label}}\n </button>\n <small *ngIf='(f | metaModel)._parent.submitted && f.invalid' class=\"Vlt-form__element__error\">\n <span *ngIf=\"f.errors.required\">Required</span>\n <span *ngIf=\"f.errors.maxlength\">Length can not exceed {{validations.maxlength}} characters</span>\n <span *ngIf=\"f.errors.custom\">{{f.errors.custom}} </span>\n </small>\n <small *ngIf='meta.helpText' class=\"Vlt-form__element__hint\">{{meta.helpText}}</small>\n</div>\n"],"names":["i3.MetaField","i4.MetaModelPipe"],"mappings":"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"}
|
|
@@ -1,525 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, Pipe, Injectable, NgModule } from '@angular/core';
|
|
3
|
-
import * as i1 from '@angular/common';
|
|
4
|
-
import { CommonModule } from '@angular/common';
|
|
5
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
6
|
-
import { HttpClientModule } from '@angular/common/http';
|
|
7
|
-
import * as i4 from 'ngx-quill';
|
|
8
|
-
import { QuillModule } from 'ngx-quill';
|
|
9
|
-
import { M as MetaRefDialog, a as MetaResourceService, b as MetaReferenceService, c as MetaLayout, d as MetaResource, e as MetaAutofocusDirective } from './vgip-meta-ui-index-9ca39230.mjs';
|
|
10
|
-
export { g as MetaHttpClient, f as MetaMsgService, m as metaNormalizer } from './vgip-meta-ui-index-9ca39230.mjs';
|
|
11
|
-
import { FieldUnknown } from './vgip-meta-ui-index-5a12f79d.mjs';
|
|
12
|
-
import { FieldInput } from './vgip-meta-ui-index-8f956c8f.mjs';
|
|
13
|
-
import { FieldText } from './vgip-meta-ui-index-0fc1c4a5.mjs';
|
|
14
|
-
import { FieldSelect } from './vgip-meta-ui-index-e4e3a171.mjs';
|
|
15
|
-
import { F as FieldReference } from './vgip-meta-ui-index-89b8d1d4.mjs';
|
|
16
|
-
export { M as MetaTrackerService } from './vgip-meta-ui-index-89b8d1d4.mjs';
|
|
17
|
-
import { FieldComposite } from './vgip-meta-ui-index-b79a6173.mjs';
|
|
18
|
-
import { FieldBoolean } from './vgip-meta-ui-index-a276b206.mjs';
|
|
19
|
-
import { FieldRadio } from './vgip-meta-ui-index-91a02c0f.mjs';
|
|
20
|
-
import { FieldList } from './vgip-meta-ui-index-fda3d1e2.mjs';
|
|
21
|
-
import { FieldRichtext } from './vgip-meta-ui-index-9af6e01b.mjs';
|
|
22
|
-
import { FieldDatetime } from './vgip-meta-ui-index-8c0d0972.mjs';
|
|
23
|
-
import { FieldHidden } from './vgip-meta-ui-index-db9a2218.mjs';
|
|
24
|
-
import * as i1$1 from '@angular/platform-browser';
|
|
25
|
-
import { M as MetaModelPipe } from './vgip-meta-ui-metaModel.pipe-4b068359.mjs';
|
|
26
|
-
import { M as MetaContextService } from './vgip-meta-ui-index-6e77c362.mjs';
|
|
27
|
-
export { r as relativeTimeBuilder } from './vgip-meta-ui-relativeTimeBuilder-31791ce4.mjs';
|
|
28
|
-
import { M as MetaField, a as MetaFieldContentDirective } from './vgip-meta-ui-index-8a2f9dbf.mjs';
|
|
29
|
-
export { a as metaDark, m as metaLight } from './vgip-meta-ui-fieldAbstract-17f26446.mjs';
|
|
30
|
-
import 'tslib';
|
|
31
|
-
import 'rxjs';
|
|
32
|
-
import 'rxjs/operators';
|
|
33
|
-
import '@angular/router';
|
|
34
|
-
|
|
35
|
-
class MetaResourceCard {
|
|
36
|
-
constructor(metaResource, referenceService, viewContainerRef) {
|
|
37
|
-
this.metaResource = metaResource;
|
|
38
|
-
this.referenceService = referenceService;
|
|
39
|
-
this.viewContainerRef = viewContainerRef;
|
|
40
|
-
}
|
|
41
|
-
ngOnInit() {
|
|
42
|
-
this.integrationCode = (this.resource.integration || this.resource.integrationCode || '').toLowerCase();
|
|
43
|
-
}
|
|
44
|
-
open(reference, model) {
|
|
45
|
-
const refDialogComponent = this.viewContainerRef.createComponent(MetaRefDialog);
|
|
46
|
-
this.referenceService.openDialog(refDialogComponent, this.metaResource, this.integrationCode, reference, model, model && (reference.editable === false) // is preview mode
|
|
47
|
-
).subscribe((result) => {
|
|
48
|
-
console.log('dialog result', result);
|
|
49
|
-
// if (result && result.raw) {
|
|
50
|
-
// if (!this.parent[reference.type]) {
|
|
51
|
-
// this.parent[reference.type] = [];
|
|
52
|
-
// }
|
|
53
|
-
// this.parent[reference.type].push(result.raw);
|
|
54
|
-
// }
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
MetaResourceCard.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MetaResourceCard, deps: [{ token: MetaResourceService }, { token: MetaReferenceService }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
59
|
-
MetaResourceCard.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.8", type: MetaResourceCard, selector: "vgip-meta-resource-card", inputs: { resource: "resource", model: "model" }, ngImport: i0, template: "<div class=\"Vlt-card Vlt-bg-white\">\n\t<div class=\"Vlt-card__content Vlt-btn-on-hover\">\n\t\t<h5>{{model.Subject || model.subject || model.summary || model.title || model.CaseNumber || model.comment || model.body || model.name || model.topic || '...' }}</h5>\n\t\t<div style='font-size: 12px; line-height: 16px;'>\n\t\t\tCreated: <span class='Vlt-black'>{{model._vgis.createdDate | date:'mediumDate'}}</span>\n\t\t\tEdited: <span class='Vlt-black'>{{model._vgis.modifiedDate | date:'medium'}}</span>\n\t\t</div>\n\t\t<div class=\"Vlt-badge Vlt-badge--app Vlt-badge--purple Vlt-badge--small\">{{model._vgis.resourceType}}</div>\n\t\t<div class=\"Vlt-btn-group Vlt-btn-group--hover\">\n\t\t\t<a *ngIf='model._vgis.externalLink' attr.href='{{model._vgis.externalLink}}' target='_blank' rel='noopener' class=\"Vlt-btn Vlt-btn--tertiary Vlt-btn--icon\" aria-label='Open external'><svg style='margin-left: 0; margin-right: 0;'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-open\"/></svg></a>\n\t\t\t<button type='button' (click)='open(resource, model)' class=\"Vlt-btn Vlt-btn--tertiary Vlt-btn--icon\" aria-label='Edit'><svg style='margin-left: 0; margin-right: 0;'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-edit\"/></svg></button>\n\t\t</div>\n\t</div>\n</div>\n", styles: [".Vlt-card{margin-bottom:8px;padding:16px}.Vlt-card .Vlt-btn-group.Vlt-btn-group--hover{right:-8px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }] });
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MetaResourceCard, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{ selector: 'vgip-meta-resource-card', template: "<div class=\"Vlt-card Vlt-bg-white\">\n\t<div class=\"Vlt-card__content Vlt-btn-on-hover\">\n\t\t<h5>{{model.Subject || model.subject || model.summary || model.title || model.CaseNumber || model.comment || model.body || model.name || model.topic || '...' }}</h5>\n\t\t<div style='font-size: 12px; line-height: 16px;'>\n\t\t\tCreated: <span class='Vlt-black'>{{model._vgis.createdDate | date:'mediumDate'}}</span>\n\t\t\tEdited: <span class='Vlt-black'>{{model._vgis.modifiedDate | date:'medium'}}</span>\n\t\t</div>\n\t\t<div class=\"Vlt-badge Vlt-badge--app Vlt-badge--purple Vlt-badge--small\">{{model._vgis.resourceType}}</div>\n\t\t<div class=\"Vlt-btn-group Vlt-btn-group--hover\">\n\t\t\t<a *ngIf='model._vgis.externalLink' attr.href='{{model._vgis.externalLink}}' target='_blank' rel='noopener' class=\"Vlt-btn Vlt-btn--tertiary Vlt-btn--icon\" aria-label='Open external'><svg style='margin-left: 0; margin-right: 0;'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-open\"/></svg></a>\n\t\t\t<button type='button' (click)='open(resource, model)' class=\"Vlt-btn Vlt-btn--tertiary Vlt-btn--icon\" aria-label='Edit'><svg style='margin-left: 0; margin-right: 0;'><use xlink:href=\"volta/volta-icons.svg#Vlt-icon-edit\"/></svg></button>\n\t\t</div>\n\t</div>\n</div>\n", styles: [".Vlt-card{margin-bottom:8px;padding:16px}.Vlt-card .Vlt-btn-group.Vlt-btn-group--hover{right:-8px}\n"] }]
|
|
63
|
-
}], ctorParameters: function () { return [{ type: MetaResourceService }, { type: MetaReferenceService }, { type: i0.ViewContainerRef }]; }, propDecorators: { resource: [{
|
|
64
|
-
type: Input
|
|
65
|
-
}], model: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}] } });
|
|
68
|
-
|
|
69
|
-
/*
|
|
70
|
-
* @Author: Alexander.Vangelov@vonage.com
|
|
71
|
-
* @Date: 2019-09-19 17:35:19
|
|
72
|
-
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
73
|
-
* @Last Modified time: 2019-11-05 13:46:18
|
|
74
|
-
*/
|
|
75
|
-
class MetaIconsPipe {
|
|
76
|
-
constructor(sanitizer) {
|
|
77
|
-
this.sanitizer = sanitizer;
|
|
78
|
-
}
|
|
79
|
-
transform(value, ...args) {
|
|
80
|
-
if (typeof (value) === 'string') {
|
|
81
|
-
value = value.replace(/\${\s*icon:([\w\-]+)\s*}/g, (match, val) => `<svg class='Vlt-icon'><use xlink:href="volta/volta-icons.svg#${val}"/></svg>`);
|
|
82
|
-
return value; //this.sanitizer.bypassSecurityTrustHtml(value);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
MetaIconsPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MetaIconsPipe, deps: [{ token: i1$1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe });
|
|
87
|
-
MetaIconsPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: MetaIconsPipe, name: "metaIcons" });
|
|
88
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MetaIconsPipe, decorators: [{
|
|
89
|
-
type: Pipe,
|
|
90
|
-
args: [{
|
|
91
|
-
name: 'metaIcons'
|
|
92
|
-
}]
|
|
93
|
-
}], ctorParameters: function () { return [{ type: i1$1.DomSanitizer }]; } });
|
|
94
|
-
|
|
95
|
-
/*
|
|
96
|
-
* @Author: Alexander.Vangelov@vonage.com
|
|
97
|
-
* @Date: 2020-04-14 12:15:36
|
|
98
|
-
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
99
|
-
* @Last Modified time: 2020-04-14 12:21:57
|
|
100
|
-
*/
|
|
101
|
-
class MetaStripHtmlPipe {
|
|
102
|
-
transform(value) {
|
|
103
|
-
return value.replace(/<[^>]*>/g, '');
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
MetaStripHtmlPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MetaStripHtmlPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
107
|
-
MetaStripHtmlPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: MetaStripHtmlPipe, name: "metaStripHtml" });
|
|
108
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MetaStripHtmlPipe, decorators: [{
|
|
109
|
-
type: Pipe,
|
|
110
|
-
args: [{
|
|
111
|
-
name: 'metaStripHtml'
|
|
112
|
-
}]
|
|
113
|
-
}] });
|
|
114
|
-
|
|
115
|
-
/*
|
|
116
|
-
* @Author: Alexander.Vangelov@vonage.com
|
|
117
|
-
* @Date: 2020-02-10 18:47:45
|
|
118
|
-
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
119
|
-
* @Last Modified time: 2020-02-28 13:29:23
|
|
120
|
-
*/
|
|
121
|
-
class IndexedDbStore {
|
|
122
|
-
constructor(dbName = 'vgip') {
|
|
123
|
-
this.dbName = dbName;
|
|
124
|
-
this.indxDb = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
|
|
125
|
-
}
|
|
126
|
-
_getDb(callback) {
|
|
127
|
-
const self = this;
|
|
128
|
-
if (this.db) {
|
|
129
|
-
return callback(null, this.db);
|
|
130
|
-
}
|
|
131
|
-
const req = this.indxDb.open(this.dbName);
|
|
132
|
-
req.onupgradeneeded = (ev) => {
|
|
133
|
-
self.db = ev.target.result;
|
|
134
|
-
const objectStore = self.db.createObjectStore('Draft', { keyPath: 'id', autoIncrement: true });
|
|
135
|
-
objectStore.createIndex('contextIndex', 'context', { unique: false });
|
|
136
|
-
objectStore.createIndex('contextintegrationIndex', ['context', 'integration'], { unique: false });
|
|
137
|
-
objectStore.createIndex('contextintegrationresourceIndex', ['context', 'integration', 'resource'], { unique: true });
|
|
138
|
-
};
|
|
139
|
-
if (callback) {
|
|
140
|
-
req.onsuccess = (ev) => {
|
|
141
|
-
self.db = ev.target.result;
|
|
142
|
-
callback(null, self.db);
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
req.onerror = (ev) => {
|
|
146
|
-
if (callback) {
|
|
147
|
-
callback(ev.error);
|
|
148
|
-
}
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
initCollection(collectionName, items = [], callback) {
|
|
152
|
-
const self = this;
|
|
153
|
-
this._getDb((err) => {
|
|
154
|
-
if (err && callback) {
|
|
155
|
-
return callback(err);
|
|
156
|
-
}
|
|
157
|
-
if (callback) {
|
|
158
|
-
callback(null, self.db);
|
|
159
|
-
}
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
reset(callback) {
|
|
163
|
-
this._getDb((err) => {
|
|
164
|
-
if (err) {
|
|
165
|
-
return callback(err);
|
|
166
|
-
}
|
|
167
|
-
this.db.close();
|
|
168
|
-
this.indxDb.deleteDatabase(this.dbName);
|
|
169
|
-
delete this.db;
|
|
170
|
-
this._getDb(callback); // eslint-disable-line no-underscore-dangle
|
|
171
|
-
});
|
|
172
|
-
}
|
|
173
|
-
findById(collectionName, id, callback) {
|
|
174
|
-
const tx = this.db.transaction([collectionName]);
|
|
175
|
-
const store = tx.objectStore(collectionName);
|
|
176
|
-
const request = store.get(parseInt(`${id}`, 10));
|
|
177
|
-
if (callback) {
|
|
178
|
-
request.onerror = () => {
|
|
179
|
-
callback(request.error);
|
|
180
|
-
};
|
|
181
|
-
}
|
|
182
|
-
request.onsuccess = () => {
|
|
183
|
-
if (!request.result) {
|
|
184
|
-
callback({ message: 'Not Found' });
|
|
185
|
-
}
|
|
186
|
-
else if (callback) {
|
|
187
|
-
callback(null, request.result);
|
|
188
|
-
}
|
|
189
|
-
};
|
|
190
|
-
}
|
|
191
|
-
destroyById(collectionName, id, callback) {
|
|
192
|
-
const tx = this.db.transaction([collectionName], 'readwrite');
|
|
193
|
-
const store = tx.objectStore(collectionName);
|
|
194
|
-
const request = store.delete(parseInt(`${id}`, 10));
|
|
195
|
-
if (callback) {
|
|
196
|
-
request.onerror = () => {
|
|
197
|
-
callback(request.error);
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
request.onsuccess = () => {
|
|
201
|
-
if (callback) {
|
|
202
|
-
callback(null, request.result);
|
|
203
|
-
}
|
|
204
|
-
};
|
|
205
|
-
}
|
|
206
|
-
findOne(collectionName, conditions, options, callback) {
|
|
207
|
-
const tx = this.db.transaction([collectionName]);
|
|
208
|
-
const store = tx.objectStore(collectionName);
|
|
209
|
-
const conditionsKeys = Object.keys(conditions);
|
|
210
|
-
let idx;
|
|
211
|
-
let req;
|
|
212
|
-
if (conditionsKeys.length > 1) {
|
|
213
|
-
const vals = [];
|
|
214
|
-
conditionsKeys.forEach((key) => vals.push(conditions[key]));
|
|
215
|
-
idx = store.index(`${conditionsKeys.join('')}Index`);
|
|
216
|
-
req = idx.get(vals);
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
idx = store.index(`${conditionsKeys[0]}Index`);
|
|
220
|
-
req = idx.get(conditions[conditionsKeys[0]]);
|
|
221
|
-
}
|
|
222
|
-
if (callback) {
|
|
223
|
-
req.onerror = () => {
|
|
224
|
-
callback(req.error);
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
req.onsuccess = (ev) => {
|
|
228
|
-
if (!ev.target.result) {
|
|
229
|
-
callback({ message: 'Not Found' });
|
|
230
|
-
}
|
|
231
|
-
else if (callback) {
|
|
232
|
-
callback(null, ev.target.result);
|
|
233
|
-
}
|
|
234
|
-
};
|
|
235
|
-
}
|
|
236
|
-
find(collectionName, conditions, options, callback) {
|
|
237
|
-
const tx = this.db.transaction([collectionName]);
|
|
238
|
-
const store = tx.objectStore(collectionName);
|
|
239
|
-
const conditionsKeys = Object.keys(conditions);
|
|
240
|
-
let idx;
|
|
241
|
-
let req;
|
|
242
|
-
if (conditionsKeys.length > 1) {
|
|
243
|
-
const vals = [];
|
|
244
|
-
conditionsKeys.forEach((key) => vals.push(conditions[key]));
|
|
245
|
-
idx = store.index(`${conditionsKeys.join('')}Index`);
|
|
246
|
-
req = idx.openCursor(vals);
|
|
247
|
-
}
|
|
248
|
-
else {
|
|
249
|
-
idx = store.index(`${conditionsKeys[0]}Index`);
|
|
250
|
-
req = idx.openCursor(conditions[conditionsKeys[0]]);
|
|
251
|
-
}
|
|
252
|
-
req.onerror = () => {
|
|
253
|
-
if (callback) {
|
|
254
|
-
callback(req.error);
|
|
255
|
-
}
|
|
256
|
-
};
|
|
257
|
-
const items = [];
|
|
258
|
-
req.onsuccess = (ev) => {
|
|
259
|
-
const cursor = ev.target.result;
|
|
260
|
-
if (cursor) {
|
|
261
|
-
items.push(cursor.value);
|
|
262
|
-
cursor.continue();
|
|
263
|
-
}
|
|
264
|
-
else if (callback) {
|
|
265
|
-
callback(null, items);
|
|
266
|
-
}
|
|
267
|
-
};
|
|
268
|
-
}
|
|
269
|
-
save(collectionName, model, callback) {
|
|
270
|
-
const record = model; // model.toJson(true, false);
|
|
271
|
-
const createNew = () => {
|
|
272
|
-
const txN = this.db.transaction([collectionName], 'readwrite');
|
|
273
|
-
const request = txN.objectStore(collectionName).add(record);
|
|
274
|
-
if (callback) {
|
|
275
|
-
request.onerror = () => callback(request.error);
|
|
276
|
-
}
|
|
277
|
-
request.onsuccess = () => {
|
|
278
|
-
record.id = request.result;
|
|
279
|
-
if (callback) {
|
|
280
|
-
callback(null, record);
|
|
281
|
-
}
|
|
282
|
-
};
|
|
283
|
-
};
|
|
284
|
-
const updateOldById = (id) => {
|
|
285
|
-
const txO = this.db.transaction([collectionName], 'readwrite');
|
|
286
|
-
const storeW = txO.objectStore(collectionName);
|
|
287
|
-
const getRequest = storeW.get(id);
|
|
288
|
-
if (callback) {
|
|
289
|
-
getRequest.onerror = () => callback(getRequest.error);
|
|
290
|
-
}
|
|
291
|
-
getRequest.onsuccess = () => {
|
|
292
|
-
const existing = getRequest.result;
|
|
293
|
-
if (!existing) {
|
|
294
|
-
callback({ message: 'Not Found' });
|
|
295
|
-
}
|
|
296
|
-
else {
|
|
297
|
-
for (const p of Object.keys(record)) {
|
|
298
|
-
existing[p] = record[p];
|
|
299
|
-
}
|
|
300
|
-
const updateRequest = storeW.put(existing);
|
|
301
|
-
updateRequest.onerror = () => callback(updateRequest.error);
|
|
302
|
-
updateRequest.onsuccess = (ev) => {
|
|
303
|
-
if (typeof (callback) === 'function') {
|
|
304
|
-
callback(null, existing);
|
|
305
|
-
}
|
|
306
|
-
};
|
|
307
|
-
}
|
|
308
|
-
};
|
|
309
|
-
};
|
|
310
|
-
if (record.id) {
|
|
311
|
-
updateOldById(record.id);
|
|
312
|
-
}
|
|
313
|
-
else if (record.integration && record.resource) {
|
|
314
|
-
this.findOne(collectionName, {
|
|
315
|
-
context: record.context || '',
|
|
316
|
-
integration: record.integration || '',
|
|
317
|
-
resource: record.resource || ''
|
|
318
|
-
}, null, (err, existing) => {
|
|
319
|
-
if (!existing) {
|
|
320
|
-
createNew();
|
|
321
|
-
}
|
|
322
|
-
else {
|
|
323
|
-
updateOldById(existing.id);
|
|
324
|
-
}
|
|
325
|
-
});
|
|
326
|
-
}
|
|
327
|
-
else {
|
|
328
|
-
createNew();
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
|
|
333
|
-
/*
|
|
334
|
-
* @Author: Alexander.Vangelov@vonage.com
|
|
335
|
-
* @Date: 2020-02-10 17:35:19
|
|
336
|
-
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
337
|
-
* @Last Modified time: 2020-02-13 06:17:24
|
|
338
|
-
*/
|
|
339
|
-
const COLELCTION = 'Draft';
|
|
340
|
-
class ResourceDraftsService {
|
|
341
|
-
constructor(context) {
|
|
342
|
-
this.context = context;
|
|
343
|
-
this.store = new IndexedDbStore('vgip');
|
|
344
|
-
}
|
|
345
|
-
init(cb) {
|
|
346
|
-
if (!this.db) {
|
|
347
|
-
this.store.initCollection(COLELCTION, null, (err, db) => {
|
|
348
|
-
this.db = db;
|
|
349
|
-
cb(err, this.db);
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
else {
|
|
353
|
-
cb(null, this.db);
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
list(integrationCode, resourceType, cb) {
|
|
357
|
-
console.log('list drafts', this.context.uid, integrationCode, resourceType);
|
|
358
|
-
}
|
|
359
|
-
save(integrationCode, resourceType, draft, cb) {
|
|
360
|
-
const now = new Date().getTime();
|
|
361
|
-
this.store.save(COLELCTION, {
|
|
362
|
-
context: this.context.uid || '',
|
|
363
|
-
integration: integrationCode || '',
|
|
364
|
-
resource: resourceType || '',
|
|
365
|
-
timestamp: now,
|
|
366
|
-
data: draft
|
|
367
|
-
}, cb);
|
|
368
|
-
}
|
|
369
|
-
findOne(integrationCode, resourceType, cb) {
|
|
370
|
-
this.store.findOne(COLELCTION, {
|
|
371
|
-
context: this.context.uid || '',
|
|
372
|
-
integration: integrationCode || '',
|
|
373
|
-
resource: resourceType || ''
|
|
374
|
-
}, null, cb);
|
|
375
|
-
}
|
|
376
|
-
find(params, cb) {
|
|
377
|
-
this.store.find(COLELCTION, params, null, cb);
|
|
378
|
-
}
|
|
379
|
-
findById(draftId, cb) {
|
|
380
|
-
this.store.findById(COLELCTION, draftId, cb);
|
|
381
|
-
}
|
|
382
|
-
destroyDraft(draft, cb) {
|
|
383
|
-
if (draft && draft.id) {
|
|
384
|
-
this.store.destroyById(COLELCTION, draft.id, cb);
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
}
|
|
388
|
-
ResourceDraftsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ResourceDraftsService, deps: [{ token: MetaContextService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
389
|
-
ResourceDraftsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ResourceDraftsService, providedIn: 'root' });
|
|
390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: ResourceDraftsService, decorators: [{
|
|
391
|
-
type: Injectable,
|
|
392
|
-
args: [{
|
|
393
|
-
providedIn: 'root'
|
|
394
|
-
}]
|
|
395
|
-
}], ctorParameters: function () { return [{ type: MetaContextService }]; } });
|
|
396
|
-
|
|
397
|
-
/*
|
|
398
|
-
* @Author: Alexander.Vangelov@vonage.com
|
|
399
|
-
* @Date: 2019-09-19 17:34:34
|
|
400
|
-
* @Last Modified by: Alexander.Vangelov@vonage.com
|
|
401
|
-
* @Last Modified time: 2021-02-09 16:57:29
|
|
402
|
-
*/
|
|
403
|
-
class MetaModule {
|
|
404
|
-
static withProviders(customProviders) {
|
|
405
|
-
return {
|
|
406
|
-
ngModule: MetaModule,
|
|
407
|
-
providers: customProviders
|
|
408
|
-
};
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
|
-
MetaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MetaModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
412
|
-
MetaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.8", ngImport: i0, type: MetaModule, declarations: [MetaIconsPipe,
|
|
413
|
-
MetaModelPipe,
|
|
414
|
-
MetaStripHtmlPipe,
|
|
415
|
-
MetaField,
|
|
416
|
-
MetaRefDialog,
|
|
417
|
-
MetaFieldContentDirective,
|
|
418
|
-
MetaLayout,
|
|
419
|
-
MetaResource,
|
|
420
|
-
MetaResourceCard,
|
|
421
|
-
FieldUnknown,
|
|
422
|
-
FieldInput,
|
|
423
|
-
FieldText,
|
|
424
|
-
FieldSelect,
|
|
425
|
-
FieldReference,
|
|
426
|
-
FieldComposite,
|
|
427
|
-
FieldBoolean,
|
|
428
|
-
FieldRadio,
|
|
429
|
-
FieldList,
|
|
430
|
-
FieldRichtext,
|
|
431
|
-
FieldDatetime,
|
|
432
|
-
FieldHidden,
|
|
433
|
-
MetaAutofocusDirective], imports: [CommonModule,
|
|
434
|
-
FormsModule,
|
|
435
|
-
ReactiveFormsModule,
|
|
436
|
-
HttpClientModule, i4.QuillModule], exports: [MetaIconsPipe,
|
|
437
|
-
MetaModelPipe,
|
|
438
|
-
MetaStripHtmlPipe,
|
|
439
|
-
MetaField,
|
|
440
|
-
MetaLayout,
|
|
441
|
-
MetaResource,
|
|
442
|
-
MetaResourceCard,
|
|
443
|
-
MetaAutofocusDirective] });
|
|
444
|
-
MetaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MetaModule, imports: [CommonModule,
|
|
445
|
-
FormsModule,
|
|
446
|
-
ReactiveFormsModule,
|
|
447
|
-
HttpClientModule,
|
|
448
|
-
QuillModule.forRoot({
|
|
449
|
-
modules: {
|
|
450
|
-
toolbar: [
|
|
451
|
-
['bold', 'italic', 'underline'],
|
|
452
|
-
[{ list: 'bullet' }],
|
|
453
|
-
[{ header: [1, 2, 3, 4, 5, 6, false] }],
|
|
454
|
-
[{ font: [] }],
|
|
455
|
-
[{ align: [] }]
|
|
456
|
-
]
|
|
457
|
-
}
|
|
458
|
-
})] });
|
|
459
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.8", ngImport: i0, type: MetaModule, decorators: [{
|
|
460
|
-
type: NgModule,
|
|
461
|
-
args: [{
|
|
462
|
-
declarations: [
|
|
463
|
-
MetaIconsPipe,
|
|
464
|
-
MetaModelPipe,
|
|
465
|
-
MetaStripHtmlPipe,
|
|
466
|
-
MetaField,
|
|
467
|
-
MetaRefDialog,
|
|
468
|
-
MetaFieldContentDirective,
|
|
469
|
-
MetaLayout,
|
|
470
|
-
MetaResource,
|
|
471
|
-
MetaResourceCard,
|
|
472
|
-
FieldUnknown,
|
|
473
|
-
FieldInput,
|
|
474
|
-
FieldText,
|
|
475
|
-
FieldSelect,
|
|
476
|
-
FieldReference,
|
|
477
|
-
FieldComposite,
|
|
478
|
-
FieldBoolean,
|
|
479
|
-
FieldRadio,
|
|
480
|
-
FieldList,
|
|
481
|
-
FieldRichtext,
|
|
482
|
-
FieldDatetime,
|
|
483
|
-
FieldHidden,
|
|
484
|
-
MetaAutofocusDirective
|
|
485
|
-
],
|
|
486
|
-
exports: [
|
|
487
|
-
MetaIconsPipe,
|
|
488
|
-
MetaModelPipe,
|
|
489
|
-
MetaStripHtmlPipe,
|
|
490
|
-
MetaField,
|
|
491
|
-
MetaLayout,
|
|
492
|
-
MetaResource,
|
|
493
|
-
MetaResourceCard,
|
|
494
|
-
MetaAutofocusDirective
|
|
495
|
-
],
|
|
496
|
-
imports: [
|
|
497
|
-
CommonModule,
|
|
498
|
-
FormsModule,
|
|
499
|
-
ReactiveFormsModule,
|
|
500
|
-
HttpClientModule,
|
|
501
|
-
QuillModule.forRoot({
|
|
502
|
-
modules: {
|
|
503
|
-
toolbar: [
|
|
504
|
-
['bold', 'italic', 'underline'],
|
|
505
|
-
[{ list: 'bullet' }],
|
|
506
|
-
[{ header: [1, 2, 3, 4, 5, 6, false] }],
|
|
507
|
-
[{ font: [] }],
|
|
508
|
-
[{ align: [] }]
|
|
509
|
-
]
|
|
510
|
-
}
|
|
511
|
-
})
|
|
512
|
-
]
|
|
513
|
-
}]
|
|
514
|
-
}] });
|
|
515
|
-
|
|
516
|
-
/*
|
|
517
|
-
* Public API Surface of meta-ui
|
|
518
|
-
*/
|
|
519
|
-
|
|
520
|
-
/**
|
|
521
|
-
* Generated bundle index. Do not edit.
|
|
522
|
-
*/
|
|
523
|
-
|
|
524
|
-
export { FieldBoolean, FieldComposite, FieldDatetime, FieldHidden, FieldInput, FieldList, FieldRadio, FieldReference, FieldRichtext, FieldSelect, FieldText, FieldUnknown, MetaAutofocusDirective, MetaContextService, MetaField, MetaFieldContentDirective, MetaIconsPipe, MetaLayout, MetaModelPipe, MetaModule, MetaRefDialog, MetaReferenceService, MetaResource, MetaResourceCard, MetaResourceService, MetaStripHtmlPipe, ResourceDraftsService };
|
|
525
|
-
//# sourceMappingURL=vgip-meta-ui.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vgip-meta-ui-fieldAbstract-17f26446.mjs","sources":["../../../projects/meta-ui/src/lib/common/utils/colorThemes.ts","../../../projects/meta-ui/src/lib/common/utils/smartProp.ts","../../../projects/meta-ui/src/lib/fieldAbstract.ts"],"sourcesContent":["export interface MetaTheme {\n name: string;\n properties: { [key: string]: string };\n}\n\n/* eslint-disable @typescript-eslint/naming-convention */\nexport const metaLight: MetaTheme = {\n name: 'light',\n properties: {\n '--vgip-meta-resource-bg-color': '#f3f3f5',\n '--vgip-meta-resource-color': '#131415',\n '--vgip-meta-resource-bar-color': '#ffffff',\n '--vgip-meta-separator-color': '#e1e2e6',\n '--vgip-meta-scrollbar-color': '#131415',\n '--vgip-meta-overlay-background': 'rgba(19, 20, 21, 0.5)',\n\n '--vgip-meta-link-color': '#871fff',\n '--vgip-meta-link-hover-color': '#441080',\n\n '--vgip-meta-input-color': '#131415',\n '--vgip-meta-input-bg-color': '#ffffff',\n '--vgip-meta-input-label-color': '#616266',\n '--vgip-meta-input-border-color': '#c2c4cc',\n '--vgip-meta-input-active-border-color': '#2c2d30',\n '--vgip-meta-input-action-hover-bg-color': '#e1e2e6',\n '--vgip-meta-input-accent-bg-color': '#e1e2e6',\n '--vgip-meta-input-accent-color': '#131415',\n '--vgip-meta-input-placeholder-color': '#c2c4cc',\n '--vgip-meta-input-disabled-bg-color': '#f3f3f5',\n '--vgip-meta-input-disabled-border-color': '#e1e2e6',\n '--vgip-meta-input-hint-color': '#616266',\n // eslint-disable-next-line max-len\n '--vgip-meta-dropdown-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMCAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIHN0eWxlPSJmaWxsOiMxMzE0MTU7IiBkPSJNNyw3LjhDNi43LDcuNSw2LjIsNy42LDUuOSw3LjlTNS43LDguNyw2LDlsNCwzLjRsNC0zLjRjMC4zLTAuMywwLjMtMC44LDAtMS4xDQoJYy0wLjMtMC4zLTAuNy0wLjMtMS0wLjFsLTMsMi42TDcsNy44TDcsNy44eiIvPg0KPC9zdmc+)',\n '--vgip-meta-suggestions-bg-color': '#f3e9ff',\n // eslint-disable-next-line max-len\n '--vgip-meta-dropdown-check-icon': 'url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjMTMxNDE1IiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0yLjkwNCAxMi4xMUwxLjUgMTMuNTIgNy45NTggMjAgMjIuNSA1LjQwOSAyMS4wOTYgNCA3Ljk1OCAxNy4xODJ6Ii8+PC9zdmc+)',\n '--vgip-meta-dropdown-bg-color': '#ffffff',\n '--vgip-meta-dropdown-shadow': 'inset 0 0 0 1px #e1e2e6, 0 2px 5px rgba(19, 20, 21, 0.15)',\n '--vgip-meta-submit-hover-bg-color': '#43474b',\n '--vgip-meta-button-border-color': '#131415',\n // eslint-disable-next-line max-len\n '--vgip-meta-date-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjMTMxNDE1IiBkPSJNMTQuNSwySDEyVjAuNUMxMiwwLjIsMTEuOCwwLDExLjUsMFMxMSwwLjIsMTEsMC41VjJINVYwLjVDNSwwLjIsNC44LDAsNC41LDBTNCwwLjIsNCwwLjVWMkgxLjUKCUMwLjcsMiwwLDIuNywwLDMuNXYydjlDMCwxNS4zLDAuNywxNiwxLjUsMTZoMTNjMC44LDAsMS41LTAuNywxLjUtMS41di05di0yQzE2LDIuNywxNS4zLDIsMTQuNSwyeiBNMTUsMTQuNWMwLDAuMy0wLjIsMC41LTAuNSwwLjUKCWgtMTNDMS4yLDE1LDEsMTQuOCwxLDE0LjVWNmgxNFYxNC41eiBNMTUsNUgxVjMuNUMxLDMuMiwxLjIsMywxLjUsM2gzaDdoM0MxNC44LDMsMTUsMy4yLDE1LDMuNVY1eiIvPgo8L3N2Zz4K)',\n // eslint-disable-next-line max-len\n '--vgip-meta-time-icon': 'url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbD0iIzEzMTQxNSIgZD0iTTEuNiAxMkMxLjYgNi4yNTYyNCA2LjI1NjI0IDEuNiAxMiAxLjZDMTcuNzQzOCAxLjYgMjIuNCA2LjI1NjI0IDIyLjQgMTJDMjIuNCAxNy43NDM4IDE3Ljc0MzggMjIuNCAxMiAyMi40QzYuMjU2MjQgMjIuNCAxLjYgMTcuNzQzOCAxLjYgMTJaTTEyIDBDNS4zNzI1OCAwIDAgNS4zNzI1OCAwIDEyQzAgMTguNjI3NCA1LjM3MjU4IDI0IDEyIDI0QzE4LjYyNzQgMjQgMjQgMTguNjI3NCAyNCAxMkMyNCA1LjM3MjU4IDE4LjYyNzQgMCAxMiAwWk0xMi44IDUuNkMxMi44IDUuMTU4MTggMTIuNDQxOCA0LjggMTIgNC44QzExLjU1ODIgNC44IDExLjIgNS4xNTgxOCAxMS4yIDUuNlYxMkMxMS4yIDEyLjQ0MTggMTEuNTU4MiAxMi44IDEyIDEyLjhIMTguNEMxOC44NDE4IDEyLjggMTkuMiAxMi40NDE4IDE5LjIgMTJDMTkuMiAxMS41NTgyIDE4Ljg0MTggMTEuMiAxOC40IDExLjJIMTIuOFY1LjZaIi8+Cjwvc3ZnPgo=)'\n }\n};\n\nexport const metaDark: MetaTheme = {\n name: 'dark',\n properties: {\n '--vgip-meta-resource-bg-color': '#131415',\n '--vgip-meta-resource-color': '#ffffff',\n '--vgip-meta-resource-bar-color': '#242426',\n '--vgip-meta-separator-color': '#616266',\n '--vgip-meta-scrollbar-color': '#636366',\n '--vgip-meta-overlay-background': 'rgba(200,201,204,.32)',\n\n '--vgip-meta-link-color': '#B779FF',\n '--vgip-meta-link-hover-color': '#c798ff',\n\n '--vgip-meta-input-color': '#ffffff',\n '--vgip-meta-input-bg-color': '#242426',\n '--vgip-meta-input-label-color': '#959596',\n '--vgip-meta-input-border-color': '#616266',\n '--vgip-meta-input-active-border-color': '#c2c4cc',\n '--vgip-meta-input-action-hover-bg-color': '#313133',\n '--vgip-meta-input-accent-bg-color': '#313133',\n '--vgip-meta-input-accent-color': '#ffffff',\n '--vgip-meta-input-placeholder-color': '#48484A',\n '--vgip-meta-input-disabled-bg-color': '#131415',\n '--vgip-meta-input-disabled-border-color': '#313133',\n '--vgip-meta-input-hint-color': '#898a90',\n // eslint-disable-next-line max-len\n '--vgip-meta-dropdown-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMCAyMCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjAgMjA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxwYXRoIHN0eWxlPSJmaWxsOiNmZmZmZmY7IiBkPSJNNyw3LjhDNi43LDcuNSw2LjIsNy42LDUuOSw3LjlTNS43LDguNyw2LDlsNCwzLjRsNC0zLjRjMC4zLTAuMywwLjMtMC44LDAtMS4xDQoJYy0wLjMtMC4zLTAuNy0wLjMtMS0wLjFsLTMsMi42TDcsNy44TDcsNy44eiIvPg0KPC9zdmc+)',\n '--vgip-meta-suggestions-bg-color': '#871fff',\n // eslint-disable-next-line max-len\n '--vgip-meta-dropdown-check-icon': 'url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0Ij48cGF0aCBmaWxsPSIjZmZmZmZmIiBmaWxsLXJ1bGU9Im5vbnplcm8iIGQ9Ik0yLjkwNCAxMi4xMUwxLjUgMTMuNTIgNy45NTggMjAgMjIuNSA1LjQwOSAyMS4wOTYgNCA3Ljk1OCAxNy4xODJ6Ii8+PC9zdmc+)',\n '--vgip-meta-dropdown-bg-color': '#48484A',\n '--vgip-meta-dropdown-shadow': 'none',\n '--vgip-meta-submit-hover-bg-color': '#131415',\n '--vgip-meta-button-border-color': '#616266',\n // eslint-disable-next-line max-len\n '--vgip-meta-date-icon': 'url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiCgkgdmlld0JveD0iMCAwIDE2IDE2IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxNiAxNjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMTQuNSwySDEyVjAuNUMxMiwwLjIsMTEuOCwwLDExLjUsMFMxMSwwLjIsMTEsMC41VjJINVYwLjVDNSwwLjIsNC44LDAsNC41LDBTNCwwLjIsNCwwLjVWMkgxLjUKCUMwLjcsMiwwLDIuNywwLDMuNXYydjlDMCwxNS4zLDAuNywxNiwxLjUsMTZoMTNjMC44LDAsMS41LTAuNywxLjUtMS41di05di0yQzE2LDIuNywxNS4zLDIsMTQuNSwyeiBNMTUsMTQuNWMwLDAuMy0wLjIsMC41LTAuNSwwLjUKCWgtMTNDMS4yLDE1LDEsMTQuOCwxLDE0LjVWNmgxNFYxNC41eiBNMTUsNUgxVjMuNUMxLDMuMiwxLjIsMywxLjUsM2gzaDdoM0MxNC44LDMsMTUsMy4yLDE1LDMuNVY1eiIvPgo8L3N2Zz4K)',\n // eslint-disable-next-line max-len\n '--vgip-meta-time-icon': 'url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbD0iI2ZmZmZmZiIgZD0iTTEuNiAxMkMxLjYgNi4yNTYyNCA2LjI1NjI0IDEuNiAxMiAxLjZDMTcuNzQzOCAxLjYgMjIuNCA2LjI1NjI0IDIyLjQgMTJDMjIuNCAxNy43NDM4IDE3Ljc0MzggMjIuNCAxMiAyMi40QzYuMjU2MjQgMjIuNCAxLjYgMTcuNzQzOCAxLjYgMTJaTTEyIDBDNS4zNzI1OCAwIDAgNS4zNzI1OCAwIDEyQzAgMTguNjI3NCA1LjM3MjU4IDI0IDEyIDI0QzE4LjYyNzQgMjQgMjQgMTguNjI3NCAyNCAxMkMyNCA1LjM3MjU4IDE4LjYyNzQgMCAxMiAwWk0xMi44IDUuNkMxMi44IDUuMTU4MTggMTIuNDQxOCA0LjggMTIgNC44QzExLjU1ODIgNC44IDExLjIgNS4xNTgxOCAxMS4yIDUuNlYxMkMxMS4yIDEyLjQ0MTggMTEuNTU4MiAxMi44IDEyIDEyLjhIMTguNEMxOC44NDE4IDEyLjggMTkuMiAxMi40NDE4IDE5LjIgMTJDMTkuMiAxMS41NTgyIDE4Ljg0MTggMTEuMiAxOC40IDExLjJIMTIuOFY1LjZaIi8+Cjwvc3ZnPgo=)'\n }\n};\n/* eslint-enable @typescript-eslint/naming-convention */\n","export const extractValueBySmartProp = (rootObj, prop) => {\n // { WhoId: { id: 1, type: 'Contact' } } // \"WhoId.type\" -> 'Contact'\n if (rootObj.hasOwnProperty(prop)) {\n return rootObj[prop];\n } else {\n const parts = prop.split('.');\n if (parts.length > 1) {\n if (rootObj.hasOwnProperty(parts[0])) {\n if (typeof (rootObj[parts[0]]) === 'object' && rootObj[parts[0]][parts[1]]) {\n return extractValueBySmartProp(rootObj[parts[0]], prop.substring(parts[0].length + 1));\n }\n }\n }\n }\n};\n\nexport const extractBooleanValueBySmartProp = (rootValue, visibleObj) => {\n if (rootValue) {\n if(typeof(rootValue) === 'boolean') {\n return visibleObj !== rootValue;\n }else{\n return rootValue !== '' ? visibleObj !== true : visibleObj !== false;\n }\n } else {\n // rootValue is undefined\n return visibleObj !== false;\n }\n};\n","/*\n * @Author: Alexander.Vangelov@vonage.com\n * @Date: 2019-09-19 17:34:44\n * @Last Modified by: Alexander.Vangelov@vonage.com\n * @Last Modified time: 2020-04-18 21:18:08\n */\n\nimport { ElementRef, AfterViewInit, EventEmitter, Directive } from '@angular/core';\n// import { ControlValueAccessor } from '@angular/forms';\nimport { BehaviorSubject } from 'rxjs';\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\nimport { metaDark, metaLight } from './common/utils/colorThemes';\nimport { extractValueBySmartProp, extractBooleanValueBySmartProp } from '../lib/common/utils/smartProp';\n\nexport interface IMetaField<T extends FieldAbstract> {\n meta: any;\n model: any;\n}\n\n@Directive()\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport abstract class FieldAbstract implements AfterViewInit { // implements ControlValueAccessor {\n model: any;\n meta: any;\n index: number;\n scope = '';\n parent: any;\n integrationCode: string;\n integrationIcon: string;\n resourceType: string;\n elementRef: ElementRef;\n modelInput: HTMLInputElement;\n modelControl: HTMLInputElement;\n mainInput: HTMLInputElement;\n keyListenerActive: boolean;\n onChange: EventEmitter<any>;\n onLeave: EventEmitter<any>;\n validationAttributes = [];\n preview: boolean;\n prevModel: any;\n changeEvent = document.createEvent('MouseEvents');\n metaResourceService: any;\n logicalDisabled = false;\n theme: string;\n flags: any = {};\n\n get parentChangeSubject() {\n if (!Object.getOwnPropertyDescriptor(this.parent, '$changeSubject')) {\n Object.defineProperty(this.parent, '$changeSubject', {\n value: new BehaviorSubject({}).pipe(debounceTime(300), distinctUntilChanged()),\n writable: false,\n enumerable: false\n });\n }\n return this.parent.$changeSubject;\n }\n\n get isPersistedParent() {\n // eslint-disable-next-line no-underscore-dangle\n return this.parent && this.parent._vgis && (this.parent._vgis.externalId || this.parent._vgis.id );\n }\n\n get validations() {\n return this.meta.validations || {};\n }\n\n get name() {\n return (typeof (this.index) === 'undefined') ? `${this.scope}${this.meta.name}` : `${this.scope}${this.meta.name}[${this.index}]`;\n }\n\n get default() {\n return this.meta.default || this.meta.defaultValue;\n }\n\n get disabled() {\n // TODO conditions\n return this.logicalDisabled || this.validations.disabled || this.meta.disabled === true || this.flags.disabled\n || (this.flags.updatable === false && this.isPersistedParent);\n }\n\n get readonly() {\n // TODO conditions\n return !!(this.validations.readonly || this.meta.readonly || (this.flags.updatable === false));\n }\n\n get sendToServer() {\n return this.isPersistedParent ? (this.flags.updatable !== false) : (this.flags.creatable !== false);\n }\n\n get uiInput() {\n if (!this.mainInput) {\n this.mainInput = this.elementRef.nativeElement.querySelector('.main:not([type=\"hidden\"]):not(.standalone)');\n }\n return this.mainInput;\n }\n\n get isOptional() {\n const baseOptional = !this.meta.unset && !this.validations.required && !this.meta.visible;\n switch (this.meta.type) {\n case 'composite': {\n if (baseOptional) {\n return !this.meta.fields.find((f) => !f.$optional);\n }\n return false;\n }\n case 'list': {\n if (baseOptional) {\n return !(this.parent[this.meta.name] instanceof Array && this.parent[this.meta.name].length) && !this.meta.min;\n }\n return false;\n }\n default: {\n return baseOptional && typeof(this.parent[this.meta.name]) === 'undefined';\n }\n }\n }\n\n static setup(instance, parent, meta) { }\n\n ngAfterViewInit() {\n if (this.elementRef) {\n if (this.integrationCode === 'mocks') {\n this.integrationIcon = 'Brand-icon-vonage';\n } else {\n switch (this.integrationCode) {\n case 'office365':\n this.integrationIcon = 'Brand-icon-office-color';\n break;\n case 'sugar':\n this.integrationIcon = 'Brand-icon-sugarcrm-color';\n break;\n case 'msdynamics':\n this.integrationIcon = 'Brand-icon-dynamics-color';\n break;\n default:\n this.integrationIcon = `Brand-icon-${(this.integrationCode || '').toLowerCase()}-color`;\n }\n }\n Object.defineProperty(this.meta, '$optional', {\n value: (typeof(this.default) === 'undefined') && this.isOptional,\n writable: true,\n configurable: true,\n enumerable: false\n });\n this.flags = this.meta.flags || {};\n Object.defineProperty(this.meta, '$hidden', {\n value: !this.isPersistedParent && this.flags.creatable === false,\n writable: true,\n configurable: true,\n enumerable: false\n });\n if (typeof(this.meta.hidden) !== 'undefined') {\n if (typeof(this.meta.hidden) === 'object') {\n const setHiddenByPropertyConfig = (par) => {\n if (typeof(this.meta.hidden[par]) === 'boolean') { // any value makes me hidden\n this.meta.$hidden = !!this.parent[par];\n } else {\n const value = extractValueBySmartProp(this.parent, par);\n const parValue = value ? (value.id || value.value || value) : value;\n this.meta.$hidden = this.meta.hidden[par] === parValue;\n }\n };\n for (const par of Object.keys(this.meta.hidden)) {\n setHiddenByPropertyConfig(par);\n this.parentChangeSubject.subscribe((value) => {\n if (value && value.hasOwnProperty(par.split('.')[0])) {\n setHiddenByPropertyConfig(par);\n if (this.meta.$hidden) {\n delete this.parent[this.meta.name];\n }\n }\n });\n }\n } else if (typeof(this.meta.hidden) === 'string') {\n if (this.meta.hidden.toUpperCase() === 'CREATE') {\n this.meta.$hidden = !this.isPersistedParent;\n } else if (this.meta.hidden.toUpperCase() === 'UPDATE') {\n this.meta.$hidden = this.isPersistedParent;\n }\n } else {\n this.meta.$hidden= !!this.meta.hidden;\n }\n }\n\n Object.defineProperty(this.meta, '$invisible', {\n value: false,\n writable: true,\n configurable: true,\n enumerable: false\n });\n if (typeof(this.meta.visible) !== 'undefined') {\n if (typeof(this.meta.visible) === 'object') {\n const setInvisibleByPropertyConfig = (par) => {\n if (typeof(this.meta.visible[par]) === 'boolean') { // any value makes me hidden\n this.meta.$invisible = extractBooleanValueBySmartProp(this.parent[par],this.meta.visible[par]);\n } else {\n const value = extractValueBySmartProp(this.parent, par);\n const parValue = value ? (value.id || value.value || value) : value;\n this.meta.$invisible = this.meta.visible[par] !== parValue;\n }\n };\n for (const par of Object.keys(this.meta.visible)) {\n setInvisibleByPropertyConfig(par);\n this.parentChangeSubject.subscribe((value) => {\n // if (value && value.hasOwnProperty(par.split('.')[0])) {\n setInvisibleByPropertyConfig(par);\n if (this.meta.$invisible) {\n delete this.parent[this.meta.name];\n }\n // }\n });\n }\n } else if (typeof(this.meta.visible) === 'string') {\n if (this.meta.visible.toUpperCase() === 'CREATE') {\n this.meta.$invisible = this.isPersistedParent;\n } else if (this.meta.visible.toUpperCase() === 'UPDATE') {\n this.meta.$invisible = !this.isPersistedParent;\n }\n }\n }\n\n if (this.theme !== 'inherit') {\n const metaTheme = this.theme === 'dark' ? metaDark : metaLight;\n for (const key of Object.keys(metaTheme.properties)) {\n this.elementRef.nativeElement.style.setProperty(key, metaTheme.properties[key]);\n }\n }\n }\n }\n\n focus() {\n const input = this.uiInput;\n if (input) {\n input.focus();\n }\n }\n\n modelToValue(m, valueType) {\n if (typeof(m) !== 'undefined') {\n switch (valueType) {\n case 'object': {\n return m ? { id: m.id, label: m.label, type: m.type } : m;\n }\n case 'number': {\n if (m != null) {\n const v = m.id || m;\n try {\n return parseInt(v, 10);\n } catch(e) {\n return v;\n }\n }\n break;\n }\n default: {\n if (m != null) {\n return m.id || m;\n }\n }\n }\n }\n }\n\n onSubjectChange(model) {\n if (Object.getOwnPropertyDescriptor(this.parent, '$changeSubject')) {\n const parentChange: any = {};\n parentChange[this.meta.name] = model;\n this.parentChangeSubject.next(parentChange);\n }\n }\n\n onModelChange(model) {\n // TODO add resource type logic\n if (this.model instanceof Array) {\n this.parent[this.meta.name] = this.model.map((m) => this.modelToValue(m, this.meta.valueType));\n } else {\n this.parent[this.meta.name] = this.modelToValue(model, this.meta.valueType);\n }\n this.onChange.emit(model);\n this.onSubjectChange(model);\n // console.log('onChange', model);\n this.changeEvent.initMouseEvent('change', true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);\n this.elementRef.nativeElement.dispatchEvent(this.changeEvent);\n if (this.model) {\n this.prevModel = this.model;\n } else {\n this.meta.unset = true;\n }\n this.meta.$optional = this.isOptional;\n }\n\n clear() {\n delete this.model;\n this.onModelChange(this.model);\n }\n\n private applyValidations() {\n this.validationAttributes.forEach((attribute) => {\n const validation = this.validations[attribute];\n if (validation) {\n this.modelInput.setAttribute(attribute, validation.value || validation);\n }\n });\n }\n}\n\n\nexport class MetaElem {\n csselem: string;\n meta: any;\n}\n\nexport abstract class MetaElemDisableadble implements MetaElem {\n cssmodifier: string;\n abstract meta: any;\n abstract csselem: string;\n abstract elementRef: ElementRef;\n disable() {\n console.log(this.cssmodifier);\n this.elementRef.nativeElement.classList.remove(this.cssmodifier);\n }\n}\n\n"],"names":[],"mappings":"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"}
|