@researchdatabox/redbox-core 0.0.1-beta.9474 → 0.0.1-beta.9604
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/dist/CoreController.d.ts.map +1 -1
- package/dist/CoreController.js +8 -4
- package/dist/api-routes/groups/translation.d.ts.map +1 -1
- package/dist/api-routes/groups/translation.js +5 -1
- package/dist/config/branding.config.d.ts +2 -1
- package/dist/config/branding.config.d.ts.map +1 -1
- package/dist/config/branding.config.js +5 -95
- package/dist/config/form.config.d.ts +4 -0
- package/dist/config/form.config.d.ts.map +1 -1
- package/dist/config/form.config.js +1 -1
- package/dist/config/http.config.d.ts +1 -1
- package/dist/config/http.config.d.ts.map +1 -1
- package/dist/config/http.config.js +32 -4
- package/dist/config/routes.config.d.ts.map +1 -1
- package/dist/config/routes.config.js +5 -4
- package/dist/config/validators.config.d.ts +6 -4
- package/dist/config/validators.config.d.ts.map +1 -1
- package/dist/config/validators.config.js +5 -3
- package/dist/config/webpack.config.d.ts.map +1 -1
- package/dist/config/webpack.config.js +9 -9
- package/dist/controllers/BrandingAppController.js +2 -2
- package/dist/controllers/BrandingController.d.ts +8 -0
- package/dist/controllers/BrandingController.d.ts.map +1 -1
- package/dist/controllers/BrandingController.js +88 -28
- package/dist/controllers/DynamicAssetController.d.ts +0 -21
- package/dist/controllers/DynamicAssetController.d.ts.map +1 -1
- package/dist/controllers/DynamicAssetController.js +1 -42
- package/dist/controllers/FormVocabularyController.d.ts +2 -0
- package/dist/controllers/FormVocabularyController.d.ts.map +1 -1
- package/dist/controllers/FormVocabularyController.js +58 -1
- package/dist/controllers/RecordController.d.ts.map +1 -1
- package/dist/controllers/RecordController.js +23 -7
- package/dist/controllers/TranslationController.js +3 -3
- package/dist/controllers/webservice/AdminController.js +2 -2
- package/dist/controllers/webservice/BrandingController.js +2 -2
- package/dist/controllers/webservice/TranslationController.d.ts.map +1 -1
- package/dist/controllers/webservice/TranslationController.js +8 -8
- package/dist/controllers/webservice/UserManagementController.d.ts +1 -1
- package/dist/controllers/webservice/UserManagementController.d.ts.map +1 -1
- package/dist/controllers/webservice/UserManagementController.js +3 -3
- package/dist/hooks/webpack.d.ts.map +1 -1
- package/dist/hooks/webpack.js +17 -7
- package/dist/middleware/redboxSession.d.ts.map +1 -1
- package/dist/middleware/redboxSession.js +6 -2
- package/dist/model/BuildResponse.d.ts +4 -0
- package/dist/model/BuildResponse.d.ts.map +1 -1
- package/dist/sails.d.ts +2 -0
- package/dist/sails.d.ts.map +1 -1
- package/dist/services/BrandingService.d.ts.map +1 -1
- package/dist/services/BrandingService.js +4 -32
- package/dist/services/BrandingThemeCssService.d.ts +21 -0
- package/dist/services/BrandingThemeCssService.d.ts.map +1 -0
- package/dist/services/BrandingThemeCssService.js +113 -0
- package/dist/services/BrandingThemeTokens.d.ts +16 -0
- package/dist/services/BrandingThemeTokens.d.ts.map +1 -0
- package/dist/services/BrandingThemeTokens.js +82 -0
- package/dist/services/CacheService.d.ts.map +1 -1
- package/dist/services/CacheService.js +37 -29
- package/dist/services/FormPayloadPrehydrateService.d.ts +35 -0
- package/dist/services/FormPayloadPrehydrateService.d.ts.map +1 -0
- package/dist/services/FormPayloadPrehydrateService.js +200 -0
- package/dist/services/FormRecordConsistencyService.d.ts +3 -3
- package/dist/services/FormRecordConsistencyService.d.ts.map +1 -1
- package/dist/services/FormRecordConsistencyService.js +18 -18
- package/dist/services/FormsService.js +5 -5
- package/dist/services/I18nEntriesService.d.ts +6 -4
- package/dist/services/I18nEntriesService.d.ts.map +1 -1
- package/dist/services/I18nEntriesService.js +83 -17
- package/dist/services/OniService.js +2 -2
- package/dist/services/RecordsService.js +3 -3
- package/dist/services/SassCompilerService.d.ts +4 -10
- package/dist/services/SassCompilerService.d.ts.map +1 -1
- package/dist/services/SassCompilerService.js +9 -173
- package/dist/services/StandardDatastreamService.d.ts +5 -0
- package/dist/services/StandardDatastreamService.d.ts.map +1 -1
- package/dist/services/StandardDatastreamService.js +51 -6
- package/dist/services/StorageManagerService.d.ts +1 -0
- package/dist/services/StorageManagerService.d.ts.map +1 -1
- package/dist/services/StorageManagerService.js +30 -12
- package/dist/services/TemplateService.d.ts +1 -17
- package/dist/services/TemplateService.d.ts.map +1 -1
- package/dist/services/TemplateService.js +5 -50
- package/dist/services/VocabularyService.d.ts +12 -0
- package/dist/services/VocabularyService.d.ts.map +1 -1
- package/dist/services/VocabularyService.js +201 -14
- package/dist/services/doi-v2/bindings.d.ts.map +1 -1
- package/dist/services/doi-v2/bindings.js +2 -8
- package/dist/services/figshare-v2/bindings.d.ts.map +1 -1
- package/dist/services/figshare-v2/bindings.js +2 -5
- package/dist/services/index.d.ts +6 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +12 -2
- package/dist/visitor/attachment-fields.visitor.d.ts +17 -17
- package/dist/visitor/attachment-fields.visitor.d.ts.map +1 -1
- package/dist/visitor/attachment-fields.visitor.js +44 -34
- package/dist/visitor/client.visitor.d.ts +93 -92
- package/dist/visitor/client.visitor.d.ts.map +1 -1
- package/dist/visitor/client.visitor.js +159 -159
- package/dist/visitor/construct.visitor.d.ts +95 -95
- package/dist/visitor/construct.visitor.d.ts.map +1 -1
- package/dist/visitor/construct.visitor.js +154 -154
- package/dist/visitor/context-variables.visitor.d.ts +35 -35
- package/dist/visitor/context-variables.visitor.d.ts.map +1 -1
- package/dist/visitor/context-variables.visitor.js +85 -75
- package/dist/visitor/data-value.visitor.d.ts +95 -95
- package/dist/visitor/data-value.visitor.d.ts.map +1 -1
- package/dist/visitor/data-value.visitor.js +151 -151
- package/dist/visitor/json-type-def.visitor.d.ts +92 -92
- package/dist/visitor/json-type-def.visitor.d.ts.map +1 -1
- package/dist/visitor/json-type-def.visitor.js +152 -152
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts +96 -96
- package/dist/visitor/migrate-config-v4-v5.visitor.d.ts.map +1 -1
- package/dist/visitor/migrate-config-v4-v5.visitor.js +187 -184
- package/dist/visitor/template.visitor.d.ts +96 -94
- package/dist/visitor/template.visitor.d.ts.map +1 -1
- package/dist/visitor/template.visitor.js +214 -159
- package/dist/visitor/validator.visitor.d.ts +92 -92
- package/dist/visitor/validator.visitor.d.ts.map +1 -1
- package/dist/visitor/validator.visitor.js +165 -152
- package/dist/visitor/visitor-helpers.js +9 -9
- package/dist/visitor/vocab-inline.visitor.d.ts +18 -18
- package/dist/visitor/vocab-inline.visitor.d.ts.map +1 -1
- package/dist/visitor/vocab-inline.visitor.js +67 -53
- package/dist/waterline-models/BrandingConfig.d.ts.map +1 -1
- package/dist/waterline-models/BrandingConfig.js +5 -4
- package/package.json +15 -12
|
@@ -427,28 +427,28 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
427
427
|
this.formPathHelper = new sails_ng_common_61.FormPathHelper(logger, this);
|
|
428
428
|
this.sharedProps = new sails_ng_common_61.PropertiesHelper();
|
|
429
429
|
}
|
|
430
|
-
start(options) {
|
|
430
|
+
async start(options) {
|
|
431
431
|
this.v4FormConfig = (0, lodash_1.cloneDeep)(this.normaliseV4FormConfig(options.data));
|
|
432
432
|
this.v5FormConfig = new sails_ng_common_1.FormConfig();
|
|
433
433
|
this.v5FormConfig.debugValue = true;
|
|
434
434
|
this.v4FormPath = [];
|
|
435
435
|
this.mostRecentRepeatableElementTemplatePath = null;
|
|
436
436
|
this.formPathHelper.reset();
|
|
437
|
-
this.v5FormConfig.accept(this);
|
|
438
|
-
this.retargetPublishDataLocationSelectorExpressions(this.v5FormConfig.componentDefinitions);
|
|
437
|
+
await this.v5FormConfig.accept(this);
|
|
438
|
+
await this.retargetPublishDataLocationSelectorExpressions(this.v5FormConfig.componentDefinitions);
|
|
439
439
|
const attachmentVisitor = new attachment_fields_visitor_1.AttachmentFieldsVisitor(this.logger);
|
|
440
|
-
attachmentVisitor.start(this.v5FormConfig);
|
|
440
|
+
await attachmentVisitor.start(this.v5FormConfig);
|
|
441
441
|
return this.v5FormConfig;
|
|
442
442
|
}
|
|
443
443
|
/* Form Config */
|
|
444
|
-
visitFormConfig(item) {
|
|
444
|
+
async visitFormConfig(item) {
|
|
445
445
|
const currentData = this.getV4Data();
|
|
446
446
|
// Set properties that are the same in v4 and v5.
|
|
447
447
|
this.sharedProps.setPropOverride('name', item, currentData);
|
|
448
448
|
this.sharedProps.setPropOverride('type', item, currentData);
|
|
449
449
|
this.sharedProps.setPropOverride('viewCssClasses', item, currentData);
|
|
450
450
|
this.sharedProps.setPropOverride('editCssClasses', item, currentData);
|
|
451
|
-
this.applyLegacyFormCssNormalization(item);
|
|
451
|
+
await this.applyLegacyFormCssNormalization(item);
|
|
452
452
|
// Convert properties from v4 to v5.
|
|
453
453
|
// TODO: form.customAngularApp?
|
|
454
454
|
// TODO: form.workflowStep?
|
|
@@ -470,29 +470,30 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
470
470
|
// Convert fields to components
|
|
471
471
|
const fields = currentData.fields ?? [];
|
|
472
472
|
// this.logger.info(`Processing '${item.name}': with ${fields.length} fields at ${JSON.stringify(this.v4FormPath)}.`);
|
|
473
|
-
fields.
|
|
473
|
+
for (let index = 0; index < fields.length; index++) {
|
|
474
|
+
const field = fields[index];
|
|
474
475
|
const v4FormPathMore = ['fields', index.toString()];
|
|
475
476
|
if (this.shouldOmitLegacyField(field, v4FormPathMore)) {
|
|
476
|
-
|
|
477
|
+
continue;
|
|
477
478
|
}
|
|
478
479
|
// Create the instance from the v4 config
|
|
479
480
|
const formComponent = this.constructFormComponent(field, v4FormPathMore);
|
|
480
481
|
// Visit children
|
|
481
482
|
const componentIndex = item.componentDefinitions.length;
|
|
482
|
-
this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForFormConfigComponentDefinition(formComponent, componentIndex), v4FormPathMore);
|
|
483
|
+
await this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForFormConfigComponentDefinition(formComponent, componentIndex), v4FormPathMore);
|
|
483
484
|
// Store the instance on the item
|
|
484
485
|
item.componentDefinitions.push(formComponent);
|
|
485
|
-
const hiddenBinding = this.constructLegacyNameBindingCompanion(field, v4FormPathMore);
|
|
486
|
+
const hiddenBinding = await this.constructLegacyNameBindingCompanion(field, v4FormPathMore);
|
|
486
487
|
if (hiddenBinding) {
|
|
487
|
-
this.retargetLegacyTextBlockBinding(formComponent, hiddenBinding.sourceName, hiddenBinding.sourceName);
|
|
488
|
-
this.ensureLegacyTextBlockComponentNameIsUnique(formComponent, hiddenBinding.sourceName, v4FormPathMore);
|
|
488
|
+
await this.retargetLegacyTextBlockBinding(formComponent, hiddenBinding.sourceName, hiddenBinding.sourceName);
|
|
489
|
+
await this.ensureLegacyTextBlockComponentNameIsUnique(formComponent, hiddenBinding.sourceName, v4FormPathMore);
|
|
489
490
|
const hiddenComponentIndex = item.componentDefinitions.length;
|
|
490
|
-
this.acceptV4FormConfigPath(hiddenBinding.component, this.formPathHelper.lineagePathsForFormConfigComponentDefinition(hiddenBinding.component, hiddenComponentIndex), hiddenBinding.v4FormPathMore);
|
|
491
|
-
this.enforceLegacyHiddenBindingConfig(hiddenBinding.component, hiddenBinding.allowRoles);
|
|
491
|
+
await this.acceptV4FormConfigPath(hiddenBinding.component, this.formPathHelper.lineagePathsForFormConfigComponentDefinition(hiddenBinding.component, hiddenComponentIndex), hiddenBinding.v4FormPathMore);
|
|
492
|
+
await this.enforceLegacyHiddenBindingConfig(hiddenBinding.component, hiddenBinding.allowRoles);
|
|
492
493
|
item.componentDefinitions.push(hiddenBinding.component);
|
|
493
494
|
}
|
|
494
|
-
}
|
|
495
|
-
this.injectLegacyRecordMetadataRetrieverExpressions(fields, item.componentDefinitions, this.formPathHelper.formPath.angularComponentsJsonPointer ?? '');
|
|
495
|
+
}
|
|
496
|
+
await this.injectLegacyRecordMetadataRetrieverExpressions(fields, item.componentDefinitions, this.formPathHelper.formPath.angularComponentsJsonPointer ?? '');
|
|
496
497
|
// Add the validation summary.
|
|
497
498
|
const validationSummaryFrame = {
|
|
498
499
|
name: 'validation_summary',
|
|
@@ -502,7 +503,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
502
503
|
item.componentDefinitions.push(validationSummaryComponent);
|
|
503
504
|
}
|
|
504
505
|
/* SimpleInput */
|
|
505
|
-
visitSimpleInputFieldComponentDefinition(item) {
|
|
506
|
+
async visitSimpleInputFieldComponentDefinition(item) {
|
|
506
507
|
const field = this.getV4Data();
|
|
507
508
|
item.config = new sails_ng_common_7.SimpleInputFieldComponentConfig();
|
|
508
509
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -511,13 +512,13 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
511
512
|
item.config.type = 'hidden';
|
|
512
513
|
}
|
|
513
514
|
}
|
|
514
|
-
visitSimpleInputFieldModelDefinition(item) {
|
|
515
|
+
async visitSimpleInputFieldModelDefinition(item) {
|
|
515
516
|
const field = this.getV4Data();
|
|
516
517
|
item.config = new sails_ng_common_7.SimpleInputFieldModelConfig();
|
|
517
518
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
518
519
|
}
|
|
519
|
-
visitSimpleInputFormComponentDefinition(item) {
|
|
520
|
-
this.populateFormComponent(item);
|
|
520
|
+
async visitSimpleInputFormComponentDefinition(item) {
|
|
521
|
+
await this.populateFormComponent(item);
|
|
521
522
|
const field = this.getV4Data();
|
|
522
523
|
if (field?.class === 'HiddenValue' || field?.compClass === 'HiddenValueComponent') {
|
|
523
524
|
if (item.component?.config) {
|
|
@@ -529,7 +530,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
529
530
|
}
|
|
530
531
|
}
|
|
531
532
|
/* Content */
|
|
532
|
-
visitContentFieldComponentDefinition(item) {
|
|
533
|
+
async visitContentFieldComponentDefinition(item) {
|
|
533
534
|
const field = this.getV4Data();
|
|
534
535
|
if (!item.config) {
|
|
535
536
|
item.config = new sails_ng_common_22.ContentFieldComponentConfig();
|
|
@@ -690,8 +691,8 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
690
691
|
}
|
|
691
692
|
}
|
|
692
693
|
}
|
|
693
|
-
visitContentFormComponentDefinition(item) {
|
|
694
|
-
this.populateFormComponent(item);
|
|
694
|
+
async visitContentFormComponentDefinition(item) {
|
|
695
|
+
await this.populateFormComponent(item);
|
|
695
696
|
if (this.isLegacyLinkValueControl(this.getV4Data())) {
|
|
696
697
|
const definition = (this.getV4Data()?.definition ?? {});
|
|
697
698
|
const valuePath = typeof definition.name === 'string' ? definition.name.trim() : '';
|
|
@@ -701,7 +702,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
701
702
|
}
|
|
702
703
|
}
|
|
703
704
|
/* Repeatable */
|
|
704
|
-
visitRepeatableFieldComponentDefinition(item) {
|
|
705
|
+
async visitRepeatableFieldComponentDefinition(item) {
|
|
705
706
|
const field = this.getV4Data();
|
|
706
707
|
item.config = new sails_ng_common_4.RepeatableFieldComponentConfig();
|
|
707
708
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -731,7 +732,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
731
732
|
// The elementTemplate's name must be a falsy value.
|
|
732
733
|
formComponent.name = '';
|
|
733
734
|
// Visit children
|
|
734
|
-
this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForRepeatableFieldComponentDefinition(formComponent), v4FormPathMore);
|
|
735
|
+
await this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForRepeatableFieldComponentDefinition(formComponent), v4FormPathMore);
|
|
735
736
|
// Always use the repeatable element layout so each item renders the remove button.
|
|
736
737
|
if (formComponent.layout) {
|
|
737
738
|
formComponent.layout.class = sails_ng_common_3.RepeatableElementLayoutName;
|
|
@@ -762,19 +763,19 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
762
763
|
this.logger.error(`${this.logName}: Expected one field in definition for repeatable, but found ${fields.length}: ${JSON.stringify(field)}`);
|
|
763
764
|
}
|
|
764
765
|
}
|
|
765
|
-
visitRepeatableFieldModelDefinition(item) {
|
|
766
|
+
async visitRepeatableFieldModelDefinition(item) {
|
|
766
767
|
const field = this.getV4Data();
|
|
767
768
|
item.config = new sails_ng_common_4.RepeatableFieldModelConfig();
|
|
768
769
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
769
770
|
}
|
|
770
|
-
visitRepeatableElementFieldLayoutDefinition(item) {
|
|
771
|
+
async visitRepeatableElementFieldLayoutDefinition(item) {
|
|
771
772
|
const field = this.getV4Data();
|
|
772
773
|
item.config = new sails_ng_common_4.RepeatableElementFieldLayoutConfig();
|
|
773
774
|
this.sharedPopulateFieldLayoutConfig(item.config, field);
|
|
774
775
|
}
|
|
775
|
-
visitRepeatableFormComponentDefinition(item) {
|
|
776
|
+
async visitRepeatableFormComponentDefinition(item) {
|
|
776
777
|
const field = this.getV4Data();
|
|
777
|
-
this.populateFormComponent(item);
|
|
778
|
+
await this.populateFormComponent(item);
|
|
778
779
|
const v4ClassName = `${field?.class ?? ''}`.trim();
|
|
779
780
|
if (v4ClassName === 'RepeatableContributor') {
|
|
780
781
|
const definition = (field?.definition ?? {});
|
|
@@ -788,15 +789,15 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
788
789
|
}
|
|
789
790
|
}
|
|
790
791
|
/* Validation Summary */
|
|
791
|
-
visitValidationSummaryFieldComponentDefinition(item) {
|
|
792
|
+
async visitValidationSummaryFieldComponentDefinition(item) {
|
|
792
793
|
const field = this.getV4Data();
|
|
793
794
|
item.config = new sails_ng_common_39.ValidationSummaryFieldComponentConfig();
|
|
794
795
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
795
796
|
}
|
|
796
|
-
visitValidationSummaryFormComponentDefinition(item) {
|
|
797
|
-
this.populateFormComponent(item);
|
|
797
|
+
async visitValidationSummaryFormComponentDefinition(item) {
|
|
798
|
+
await this.populateFormComponent(item);
|
|
798
799
|
}
|
|
799
|
-
visitSuggestedValidationSummaryFieldComponentDefinition(item) {
|
|
800
|
+
async visitSuggestedValidationSummaryFieldComponentDefinition(item) {
|
|
800
801
|
const field = this.getV4Data();
|
|
801
802
|
item.config = new sails_ng_common_40.SuggestedValidationSummaryFieldComponentConfig();
|
|
802
803
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -805,19 +806,19 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
805
806
|
this.sharedProps.setPropOverride('showWhenValid', item.config, field?.definition);
|
|
806
807
|
this.sharedProps.setPropOverride('header', item.config, field?.definition);
|
|
807
808
|
}
|
|
808
|
-
visitSuggestedValidationSummaryFormComponentDefinition(item) {
|
|
809
|
-
this.populateFormComponent(item);
|
|
809
|
+
async visitSuggestedValidationSummaryFormComponentDefinition(item) {
|
|
810
|
+
await this.populateFormComponent(item);
|
|
810
811
|
}
|
|
811
812
|
/* Record Metadata Retriever */
|
|
812
|
-
visitRecordMetadataRetrieverFieldComponentDefinition(item) {
|
|
813
|
+
async visitRecordMetadataRetrieverFieldComponentDefinition(item) {
|
|
813
814
|
const field = this.getV4Data();
|
|
814
815
|
item.config = new sails_ng_common_42.RecordMetadataRetrieverFieldComponentConfig();
|
|
815
816
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
816
817
|
item.config.label = undefined;
|
|
817
818
|
item.config.visible = false;
|
|
818
819
|
}
|
|
819
|
-
visitRecordMetadataRetrieverFormComponentDefinition(item) {
|
|
820
|
-
this.populateFormComponent(item);
|
|
820
|
+
async visitRecordMetadataRetrieverFormComponentDefinition(item) {
|
|
821
|
+
await this.populateFormComponent(item);
|
|
821
822
|
if (item.layout?.config) {
|
|
822
823
|
item.layout.config.label = undefined;
|
|
823
824
|
item.layout.config.visible = false;
|
|
@@ -825,25 +826,25 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
825
826
|
}
|
|
826
827
|
// Preserve shared label/visibility/readonly config, while intentionally not
|
|
827
828
|
// inventing any model state during migration.
|
|
828
|
-
visitPublishDataLocationRefreshFieldComponentDefinition(item) {
|
|
829
|
+
async visitPublishDataLocationRefreshFieldComponentDefinition(item) {
|
|
829
830
|
const field = this.getV4Data();
|
|
830
831
|
item.config = new sails_ng_common_44.PublishDataLocationRefreshFieldComponentConfig();
|
|
831
832
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
832
833
|
}
|
|
833
|
-
visitPublishDataLocationRefreshFormComponentDefinition(item) {
|
|
834
|
-
this.populateFormComponent(item);
|
|
834
|
+
async visitPublishDataLocationRefreshFormComponentDefinition(item) {
|
|
835
|
+
await this.populateFormComponent(item);
|
|
835
836
|
}
|
|
836
837
|
/* Save Status */
|
|
837
|
-
visitSaveStatusFieldComponentDefinition(item) {
|
|
838
|
+
async visitSaveStatusFieldComponentDefinition(item) {
|
|
838
839
|
const field = this.getV4Data();
|
|
839
840
|
item.config = new sails_ng_common_45.SaveStatusFieldComponentConfig();
|
|
840
841
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
841
842
|
}
|
|
842
|
-
visitSaveStatusFormComponentDefinition(item) {
|
|
843
|
-
this.populateFormComponent(item);
|
|
843
|
+
async visitSaveStatusFormComponentDefinition(item) {
|
|
844
|
+
await this.populateFormComponent(item);
|
|
844
845
|
}
|
|
845
846
|
/* Group */
|
|
846
|
-
visitGroupFieldComponentDefinition(item) {
|
|
847
|
+
async visitGroupFieldComponentDefinition(item) {
|
|
847
848
|
const field = this.getV4Data();
|
|
848
849
|
const config = new sails_ng_common_5.GroupFieldComponentConfig();
|
|
849
850
|
item.config = config;
|
|
@@ -860,35 +861,36 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
860
861
|
this.logger.debug(`${this.logName}: visitGroupFieldComponentDefinition for '${String(field?.definition?.name ?? field?.definition?.id ?? '')}'.`);
|
|
861
862
|
const fields = field?.definition?.fields ?? [];
|
|
862
863
|
// this.logger.info(`Processing '${item.class}': with ${fields.length} fields at ${JSON.stringify(this.v4FormPath)}.`);
|
|
863
|
-
fields.
|
|
864
|
+
for (let index = 0; index < fields.length; index++) {
|
|
865
|
+
const childField = fields[index];
|
|
864
866
|
if (childField?.class === 'Spacer' || childField?.compClass === 'SpacerComponent') {
|
|
865
|
-
|
|
867
|
+
continue;
|
|
866
868
|
}
|
|
867
869
|
const v4FormPathMore = ['definition', 'fields', index.toString()];
|
|
868
870
|
if (this.shouldOmitLegacyField(childField, v4FormPathMore)) {
|
|
869
|
-
|
|
871
|
+
continue;
|
|
870
872
|
}
|
|
871
873
|
// Create the instance from the v4 config
|
|
872
874
|
const formComponent = this.constructFormComponent(childField, v4FormPathMore);
|
|
873
875
|
// Visit children
|
|
874
876
|
const componentIndex = config.componentDefinitions.length;
|
|
875
|
-
this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForGroupFieldComponentDefinition(formComponent, componentIndex), v4FormPathMore);
|
|
877
|
+
await this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForGroupFieldComponentDefinition(formComponent, componentIndex), v4FormPathMore);
|
|
876
878
|
if (isLegacyInlineContainer && formComponent.layout?.config) {
|
|
877
879
|
formComponent.layout.config.label = undefined;
|
|
878
880
|
}
|
|
879
881
|
// Store the instance on the item
|
|
880
882
|
config.componentDefinitions.push(formComponent);
|
|
881
|
-
const hiddenBinding = this.constructLegacyNameBindingCompanion(childField, v4FormPathMore);
|
|
883
|
+
const hiddenBinding = await this.constructLegacyNameBindingCompanion(childField, v4FormPathMore);
|
|
882
884
|
if (hiddenBinding) {
|
|
883
|
-
this.retargetLegacyTextBlockBinding(formComponent, hiddenBinding.sourceName, hiddenBinding.sourceName);
|
|
884
|
-
this.ensureLegacyTextBlockComponentNameIsUnique(formComponent, hiddenBinding.sourceName, v4FormPathMore);
|
|
885
|
+
await this.retargetLegacyTextBlockBinding(formComponent, hiddenBinding.sourceName, hiddenBinding.sourceName);
|
|
886
|
+
await this.ensureLegacyTextBlockComponentNameIsUnique(formComponent, hiddenBinding.sourceName, v4FormPathMore);
|
|
885
887
|
const hiddenComponentIndex = config.componentDefinitions.length;
|
|
886
|
-
this.acceptV4FormConfigPath(hiddenBinding.component, this.formPathHelper.lineagePathsForGroupFieldComponentDefinition(hiddenBinding.component, hiddenComponentIndex), hiddenBinding.v4FormPathMore);
|
|
887
|
-
this.enforceLegacyHiddenBindingConfig(hiddenBinding.component, hiddenBinding.allowRoles);
|
|
888
|
+
await this.acceptV4FormConfigPath(hiddenBinding.component, this.formPathHelper.lineagePathsForGroupFieldComponentDefinition(hiddenBinding.component, hiddenComponentIndex), hiddenBinding.v4FormPathMore);
|
|
889
|
+
await this.enforceLegacyHiddenBindingConfig(hiddenBinding.component, hiddenBinding.allowRoles);
|
|
888
890
|
config.componentDefinitions.push(hiddenBinding.component);
|
|
889
891
|
}
|
|
890
|
-
}
|
|
891
|
-
this.injectLegacyRecordMetadataRetrieverExpressions(fields, config.componentDefinitions, this.formPathHelper.formPath.angularComponentsJsonPointer ?? '');
|
|
892
|
+
}
|
|
893
|
+
await this.injectLegacyRecordMetadataRetrieverExpressions(fields, config.componentDefinitions, this.formPathHelper.formPath.angularComponentsJsonPointer ?? '');
|
|
892
894
|
}
|
|
893
895
|
finally {
|
|
894
896
|
if (isLegacyInlineContainer) {
|
|
@@ -899,7 +901,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
899
901
|
}
|
|
900
902
|
}
|
|
901
903
|
}
|
|
902
|
-
visitGroupFieldModelDefinition(item) {
|
|
904
|
+
async visitGroupFieldModelDefinition(item) {
|
|
903
905
|
const field = this.getV4Data();
|
|
904
906
|
item.config = new sails_ng_common_5.GroupFieldModelConfig();
|
|
905
907
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
@@ -907,21 +909,21 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
907
909
|
item.config.disabled = true;
|
|
908
910
|
}
|
|
909
911
|
}
|
|
910
|
-
visitGroupFormComponentDefinition(item) {
|
|
911
|
-
this.populateFormComponent(item);
|
|
912
|
+
async visitGroupFormComponentDefinition(item) {
|
|
913
|
+
await this.populateFormComponent(item);
|
|
912
914
|
}
|
|
913
915
|
/* Tab */
|
|
914
|
-
visitTabFieldComponentDefinition(item) {
|
|
916
|
+
async visitTabFieldComponentDefinition(item) {
|
|
915
917
|
const field = this.getV4Data();
|
|
916
918
|
const config = new sails_ng_common_15.TabFieldComponentConfig();
|
|
917
919
|
item.config = config;
|
|
918
920
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
919
921
|
const fields = field?.definition?.fields ?? [];
|
|
920
922
|
// this.logger.info(`Processing '${item.class}': with ${fields.length} fields at ${JSON.stringify(this.v4FormPath)}.`);
|
|
921
|
-
fields.
|
|
923
|
+
for (const [index, field] of fields.entries()) {
|
|
922
924
|
const v4FormPathMore = ['definition', 'fields', index.toString()];
|
|
923
925
|
if (this.shouldOmitLegacyField(field, v4FormPathMore)) {
|
|
924
|
-
|
|
926
|
+
continue;
|
|
925
927
|
}
|
|
926
928
|
// TODO: Does this approach to mapping the tab content component lose data?
|
|
927
929
|
// build tab component from field by setting 'placeholder' v4 class
|
|
@@ -931,53 +933,54 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
931
933
|
const formComponent = this.constructFormComponent(field, v4FormPathMore);
|
|
932
934
|
if ((0, sails_ng_common_63.isTypeFormComponentDefinitionName)(formComponent, sails_ng_common_16.TabContentComponentName)) {
|
|
933
935
|
// Visit children
|
|
934
|
-
this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForTabFieldComponentDefinition(formComponent, index), v4FormPathMore);
|
|
936
|
+
await this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForTabFieldComponentDefinition(formComponent, index), v4FormPathMore);
|
|
935
937
|
// Store the instance on the item
|
|
936
938
|
config.tabs.push(formComponent);
|
|
937
939
|
}
|
|
938
|
-
}
|
|
940
|
+
}
|
|
939
941
|
}
|
|
940
|
-
visitTabFieldLayoutDefinition(item) {
|
|
942
|
+
async visitTabFieldLayoutDefinition(item) {
|
|
941
943
|
const field = this.getV4Data();
|
|
942
944
|
item.config = new sails_ng_common_15.TabFieldLayoutConfig();
|
|
943
945
|
this.sharedPopulateFieldLayoutConfig(item.config, field);
|
|
944
946
|
}
|
|
945
|
-
visitTabFormComponentDefinition(item) {
|
|
946
|
-
this.populateFormComponent(item);
|
|
947
|
+
async visitTabFormComponentDefinition(item) {
|
|
948
|
+
await this.populateFormComponent(item);
|
|
947
949
|
}
|
|
948
950
|
/* Tab Content */
|
|
949
|
-
visitTabContentFieldComponentDefinition(item) {
|
|
951
|
+
async visitTabContentFieldComponentDefinition(item) {
|
|
950
952
|
const field = this.getV4Data();
|
|
951
953
|
const config = new sails_ng_common_17.TabContentFieldComponentConfig();
|
|
952
954
|
item.config = config;
|
|
953
955
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
954
956
|
const fields = field?.definition?.fields ?? [];
|
|
955
957
|
// this.logger.info(`Processing '${item.class}': with ${fields.length} fields at ${JSON.stringify(this.v4FormPath)}.`);
|
|
956
|
-
fields.
|
|
958
|
+
for (let index = 0; index < fields.length; index++) {
|
|
959
|
+
const field1 = fields[index];
|
|
957
960
|
const v4FormPathMore = ['definition', 'fields', index.toString()];
|
|
958
|
-
if (this.shouldOmitLegacyField(
|
|
959
|
-
|
|
961
|
+
if (this.shouldOmitLegacyField(field1, v4FormPathMore)) {
|
|
962
|
+
continue;
|
|
960
963
|
}
|
|
961
964
|
// Create the instance from the v4 config
|
|
962
|
-
const formComponent = this.constructFormComponent(
|
|
965
|
+
const formComponent = this.constructFormComponent(field1, v4FormPathMore);
|
|
963
966
|
// Visit children
|
|
964
967
|
const componentIndex = config.componentDefinitions.length;
|
|
965
|
-
this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForTabContentFieldComponentDefinition(formComponent, componentIndex), ['definition', 'fields', index.toString()]);
|
|
968
|
+
await this.acceptV4FormConfigPath(formComponent, this.formPathHelper.lineagePathsForTabContentFieldComponentDefinition(formComponent, componentIndex), ['definition', 'fields', index.toString()]);
|
|
966
969
|
// Store the instance on the item
|
|
967
970
|
config.componentDefinitions.push(formComponent);
|
|
968
|
-
const hiddenBinding = this.constructLegacyNameBindingCompanion(
|
|
971
|
+
const hiddenBinding = await this.constructLegacyNameBindingCompanion(field1, v4FormPathMore);
|
|
969
972
|
if (hiddenBinding) {
|
|
970
|
-
this.retargetLegacyTextBlockBinding(formComponent, hiddenBinding.sourceName, hiddenBinding.sourceName);
|
|
971
|
-
this.ensureLegacyTextBlockComponentNameIsUnique(formComponent, hiddenBinding.sourceName, v4FormPathMore);
|
|
973
|
+
await this.retargetLegacyTextBlockBinding(formComponent, hiddenBinding.sourceName, hiddenBinding.sourceName);
|
|
974
|
+
await this.ensureLegacyTextBlockComponentNameIsUnique(formComponent, hiddenBinding.sourceName, v4FormPathMore);
|
|
972
975
|
const hiddenComponentIndex = config.componentDefinitions.length;
|
|
973
|
-
this.acceptV4FormConfigPath(hiddenBinding.component, this.formPathHelper.lineagePathsForTabContentFieldComponentDefinition(hiddenBinding.component, hiddenComponentIndex), hiddenBinding.v4FormPathMore);
|
|
974
|
-
this.enforceLegacyHiddenBindingConfig(hiddenBinding.component, hiddenBinding.allowRoles);
|
|
976
|
+
await this.acceptV4FormConfigPath(hiddenBinding.component, this.formPathHelper.lineagePathsForTabContentFieldComponentDefinition(hiddenBinding.component, hiddenComponentIndex), hiddenBinding.v4FormPathMore);
|
|
977
|
+
await this.enforceLegacyHiddenBindingConfig(hiddenBinding.component, hiddenBinding.allowRoles);
|
|
975
978
|
config.componentDefinitions.push(hiddenBinding.component);
|
|
976
979
|
}
|
|
977
|
-
}
|
|
978
|
-
this.injectLegacyRecordMetadataRetrieverExpressions(fields, config.componentDefinitions, this.formPathHelper.formPath.angularComponentsJsonPointer ?? '');
|
|
980
|
+
}
|
|
981
|
+
await this.injectLegacyRecordMetadataRetrieverExpressions(fields, config.componentDefinitions, this.formPathHelper.formPath.angularComponentsJsonPointer ?? '');
|
|
979
982
|
}
|
|
980
|
-
visitTabContentFieldLayoutDefinition(item) {
|
|
983
|
+
async visitTabContentFieldLayoutDefinition(item) {
|
|
981
984
|
const field = this.getV4Data();
|
|
982
985
|
item.config = new sails_ng_common_17.TabContentFieldLayoutConfig();
|
|
983
986
|
if (field?.definition?.label) {
|
|
@@ -985,11 +988,11 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
985
988
|
}
|
|
986
989
|
this.sharedPopulateFieldLayoutConfig(item.config, field);
|
|
987
990
|
}
|
|
988
|
-
visitTabContentFormComponentDefinition(item) {
|
|
989
|
-
this.populateFormComponent(item);
|
|
991
|
+
async visitTabContentFormComponentDefinition(item) {
|
|
992
|
+
await this.populateFormComponent(item);
|
|
990
993
|
}
|
|
991
994
|
/* Save Button */
|
|
992
|
-
visitSaveButtonFieldComponentDefinition(item) {
|
|
995
|
+
async visitSaveButtonFieldComponentDefinition(item) {
|
|
993
996
|
const field = this.getV4Data();
|
|
994
997
|
item.config = new sails_ng_common_32.SaveButtonFieldComponentConfig();
|
|
995
998
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1001,11 +1004,11 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1001
1004
|
buttonCssClasses: this.normalizeLegacyButtonCssClasses(field?.definition?.cssClasses ?? field?.definition?.cssClass),
|
|
1002
1005
|
});
|
|
1003
1006
|
}
|
|
1004
|
-
visitSaveButtonFormComponentDefinition(item) {
|
|
1005
|
-
this.populateFormComponent(item);
|
|
1007
|
+
async visitSaveButtonFormComponentDefinition(item) {
|
|
1008
|
+
await this.populateFormComponent(item);
|
|
1006
1009
|
}
|
|
1007
1010
|
/* Cancel Button */
|
|
1008
|
-
visitCancelButtonFieldComponentDefinition(item) {
|
|
1011
|
+
async visitCancelButtonFieldComponentDefinition(item) {
|
|
1009
1012
|
const field = this.getV4Data();
|
|
1010
1013
|
item.config = new sails_ng_common_34.CancelButtonFieldComponentConfig();
|
|
1011
1014
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1017,11 +1020,11 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1017
1020
|
buttonCssClasses: this.normalizeLegacyButtonCssClasses(field?.definition?.cssClasses ?? field?.definition?.cssClass),
|
|
1018
1021
|
});
|
|
1019
1022
|
}
|
|
1020
|
-
visitCancelButtonFormComponentDefinition(item) {
|
|
1021
|
-
this.populateFormComponent(item);
|
|
1023
|
+
async visitCancelButtonFormComponentDefinition(item) {
|
|
1024
|
+
await this.populateFormComponent(item);
|
|
1022
1025
|
}
|
|
1023
1026
|
/* Delete Button */
|
|
1024
|
-
visitDeleteButtonFieldComponentDefinition(item) {
|
|
1027
|
+
async visitDeleteButtonFieldComponentDefinition(item) {
|
|
1025
1028
|
const field = this.getV4Data();
|
|
1026
1029
|
item.config = new sails_ng_common_36.DeleteButtonFieldComponentConfig();
|
|
1027
1030
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1041,11 +1044,11 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1041
1044
|
buttonCssClasses: this.normalizeLegacyButtonCssClasses(field?.definition?.cssClasses ?? field?.definition?.cssClass),
|
|
1042
1045
|
});
|
|
1043
1046
|
}
|
|
1044
|
-
visitDeleteButtonFormComponentDefinition(item) {
|
|
1045
|
-
this.populateFormComponent(item);
|
|
1047
|
+
async visitDeleteButtonFormComponentDefinition(item) {
|
|
1048
|
+
await this.populateFormComponent(item);
|
|
1046
1049
|
}
|
|
1047
1050
|
/* Tab Nav Button */
|
|
1048
|
-
visitTabNavButtonFieldComponentDefinition(item) {
|
|
1051
|
+
async visitTabNavButtonFieldComponentDefinition(item) {
|
|
1049
1052
|
const field = this.getV4Data();
|
|
1050
1053
|
item.config = new sails_ng_common_38.TabNavButtonFieldComponentConfig();
|
|
1051
1054
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1054,11 +1057,11 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1054
1057
|
this.sharedProps.setPropOverride('targetTabContainerId', item.config, field?.definition);
|
|
1055
1058
|
this.sharedProps.setPropOverride('endDisplayMode', item.config, field?.definition);
|
|
1056
1059
|
}
|
|
1057
|
-
visitTabNavButtonFormComponentDefinition(item) {
|
|
1058
|
-
this.populateFormComponent(item);
|
|
1060
|
+
async visitTabNavButtonFormComponentDefinition(item) {
|
|
1061
|
+
await this.populateFormComponent(item);
|
|
1059
1062
|
}
|
|
1060
1063
|
/* Text Area */
|
|
1061
|
-
visitTextAreaFieldComponentDefinition(item) {
|
|
1064
|
+
async visitTextAreaFieldComponentDefinition(item) {
|
|
1062
1065
|
const field = this.getV4Data();
|
|
1063
1066
|
item.config = new sails_ng_common_19.TextAreaFieldComponentConfig();
|
|
1064
1067
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1071,16 +1074,16 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1071
1074
|
const rows = rowsParsed !== undefined && Number.isFinite(rowsParsed) ? rowsParsed : undefined;
|
|
1072
1075
|
this.sharedProps.setPropOverride('rows', item.config, { rows });
|
|
1073
1076
|
}
|
|
1074
|
-
visitTextAreaFieldModelDefinition(item) {
|
|
1077
|
+
async visitTextAreaFieldModelDefinition(item) {
|
|
1075
1078
|
const field = this.getV4Data();
|
|
1076
1079
|
item.config = new sails_ng_common_19.TextAreaFieldModelConfig();
|
|
1077
1080
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1078
1081
|
}
|
|
1079
|
-
visitTextAreaFormComponentDefinition(item) {
|
|
1080
|
-
this.populateFormComponent(item);
|
|
1082
|
+
async visitTextAreaFormComponentDefinition(item) {
|
|
1083
|
+
await this.populateFormComponent(item);
|
|
1081
1084
|
}
|
|
1082
1085
|
/* Rich Text Editor */
|
|
1083
|
-
visitRichTextEditorFieldComponentDefinition(item) {
|
|
1086
|
+
async visitRichTextEditorFieldComponentDefinition(item) {
|
|
1084
1087
|
const field = this.getV4Data();
|
|
1085
1088
|
item.config = new sails_ng_common_21.RichTextEditorFieldComponentConfig();
|
|
1086
1089
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1089,16 +1092,16 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1089
1092
|
item.config.outputFormat = 'markdown';
|
|
1090
1093
|
}
|
|
1091
1094
|
}
|
|
1092
|
-
visitRichTextEditorFieldModelDefinition(item) {
|
|
1095
|
+
async visitRichTextEditorFieldModelDefinition(item) {
|
|
1093
1096
|
const field = this.getV4Data();
|
|
1094
1097
|
item.config = new sails_ng_common_21.RichTextEditorFieldModelConfig();
|
|
1095
1098
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1096
1099
|
}
|
|
1097
|
-
visitRichTextEditorFormComponentDefinition(item) {
|
|
1098
|
-
this.populateFormComponent(item);
|
|
1100
|
+
async visitRichTextEditorFormComponentDefinition(item) {
|
|
1101
|
+
await this.populateFormComponent(item);
|
|
1099
1102
|
}
|
|
1100
1103
|
/* Map */
|
|
1101
|
-
visitMapFieldComponentDefinition(item) {
|
|
1104
|
+
async visitMapFieldComponentDefinition(item) {
|
|
1102
1105
|
const field = this.getV4Data();
|
|
1103
1106
|
item.config = new sails_ng_common_51.MapFieldComponentConfig();
|
|
1104
1107
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1122,17 +1125,17 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1122
1125
|
this.sharedProps.setPropOverride('enabledModes', item.config, { enabledModes });
|
|
1123
1126
|
}
|
|
1124
1127
|
}
|
|
1125
|
-
visitMapFieldModelDefinition(item) {
|
|
1128
|
+
async visitMapFieldModelDefinition(item) {
|
|
1126
1129
|
const field = this.getV4Data();
|
|
1127
1130
|
item.config = new sails_ng_common_51.MapFieldModelConfig();
|
|
1128
1131
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1129
|
-
this.coerceMapFeatureCollection(item.config);
|
|
1132
|
+
await this.coerceMapFeatureCollection(item.config);
|
|
1130
1133
|
}
|
|
1131
|
-
visitMapFormComponentDefinition(item) {
|
|
1132
|
-
this.populateFormComponent(item);
|
|
1134
|
+
async visitMapFormComponentDefinition(item) {
|
|
1135
|
+
await this.populateFormComponent(item);
|
|
1133
1136
|
}
|
|
1134
1137
|
/* File Upload */
|
|
1135
|
-
visitFileUploadFieldComponentDefinition(item) {
|
|
1138
|
+
async visitFileUploadFieldComponentDefinition(item) {
|
|
1136
1139
|
const field = this.getV4Data();
|
|
1137
1140
|
item.config = new sails_ng_common_53.FileUploadFieldComponentConfig();
|
|
1138
1141
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1163,16 +1166,16 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1163
1166
|
});
|
|
1164
1167
|
}
|
|
1165
1168
|
}
|
|
1166
|
-
visitFileUploadFieldModelDefinition(item) {
|
|
1169
|
+
async visitFileUploadFieldModelDefinition(item) {
|
|
1167
1170
|
const field = this.getV4Data();
|
|
1168
1171
|
item.config = new sails_ng_common_53.FileUploadFieldModelConfig();
|
|
1169
1172
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1170
1173
|
}
|
|
1171
|
-
visitFileUploadFormComponentDefinition(item) {
|
|
1172
|
-
this.populateFormComponent(item);
|
|
1174
|
+
async visitFileUploadFormComponentDefinition(item) {
|
|
1175
|
+
await this.populateFormComponent(item);
|
|
1173
1176
|
}
|
|
1174
1177
|
/* PDF List */
|
|
1175
|
-
visitPDFListFieldComponentDefinition(item) {
|
|
1178
|
+
async visitPDFListFieldComponentDefinition(item) {
|
|
1176
1179
|
const field = this.getV4Data();
|
|
1177
1180
|
item.config = new sails_ng_common_55.PDFListFieldComponentConfig();
|
|
1178
1181
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1204,16 +1207,16 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1204
1207
|
}
|
|
1205
1208
|
return value.replace(/<%=\s*([\s\S]+?)\s*%>/g, '{{$1}}');
|
|
1206
1209
|
}
|
|
1207
|
-
visitPDFListFieldModelDefinition(item) {
|
|
1210
|
+
async visitPDFListFieldModelDefinition(item) {
|
|
1208
1211
|
const field = this.getV4Data();
|
|
1209
1212
|
item.config = new sails_ng_common_55.PDFListFieldModelConfig();
|
|
1210
1213
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1211
1214
|
}
|
|
1212
|
-
visitPDFListFormComponentDefinition(item) {
|
|
1213
|
-
this.populateFormComponent(item);
|
|
1215
|
+
async visitPDFListFormComponentDefinition(item) {
|
|
1216
|
+
await this.populateFormComponent(item);
|
|
1214
1217
|
}
|
|
1215
1218
|
/* Data Location */
|
|
1216
|
-
visitDataLocationFieldComponentDefinition(item) {
|
|
1219
|
+
async visitDataLocationFieldComponentDefinition(item) {
|
|
1217
1220
|
const field = this.getV4Data();
|
|
1218
1221
|
item.config = new sails_ng_common_57.DataLocationFieldComponentConfig();
|
|
1219
1222
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1247,15 +1250,15 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1247
1250
|
}
|
|
1248
1251
|
}
|
|
1249
1252
|
}
|
|
1250
|
-
visitDataLocationFieldModelDefinition(item) {
|
|
1253
|
+
async visitDataLocationFieldModelDefinition(item) {
|
|
1251
1254
|
const field = this.getV4Data();
|
|
1252
1255
|
item.config = new sails_ng_common_57.DataLocationFieldModelConfig();
|
|
1253
1256
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1254
1257
|
}
|
|
1255
|
-
visitDataLocationFormComponentDefinition(item) {
|
|
1256
|
-
this.populateFormComponent(item);
|
|
1258
|
+
async visitDataLocationFormComponentDefinition(item) {
|
|
1259
|
+
await this.populateFormComponent(item);
|
|
1257
1260
|
}
|
|
1258
|
-
visitPublishDataLocationSelectorFieldComponentDefinition(item) {
|
|
1261
|
+
async visitPublishDataLocationSelectorFieldComponentDefinition(item) {
|
|
1259
1262
|
const field = this.getV4Data();
|
|
1260
1263
|
item.config = new sails_ng_common_59.PublishDataLocationSelectorFieldComponentConfig();
|
|
1261
1264
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1285,13 +1288,13 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1285
1288
|
}
|
|
1286
1289
|
}
|
|
1287
1290
|
}
|
|
1288
|
-
visitPublishDataLocationSelectorFieldModelDefinition(item) {
|
|
1291
|
+
async visitPublishDataLocationSelectorFieldModelDefinition(item) {
|
|
1289
1292
|
const field = this.getV4Data();
|
|
1290
1293
|
item.config = new sails_ng_common_59.PublishDataLocationSelectorFieldModelConfig();
|
|
1291
1294
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1292
1295
|
}
|
|
1293
|
-
visitPublishDataLocationSelectorFormComponentDefinition(item) {
|
|
1294
|
-
this.populateFormComponent(item);
|
|
1296
|
+
async visitPublishDataLocationSelectorFormComponentDefinition(item) {
|
|
1297
|
+
await this.populateFormComponent(item);
|
|
1295
1298
|
const field = this.getV4Data();
|
|
1296
1299
|
const definition = (field?.definition ?? {});
|
|
1297
1300
|
const subscribe = (definition.subscribe ?? {});
|
|
@@ -1329,7 +1332,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1329
1332
|
}
|
|
1330
1333
|
}
|
|
1331
1334
|
/* Default Layout */
|
|
1332
|
-
visitDefaultFieldLayoutDefinition(item) {
|
|
1335
|
+
async visitDefaultFieldLayoutDefinition(item) {
|
|
1333
1336
|
const field = this.getV4Data();
|
|
1334
1337
|
item.config = new sails_ng_common_9.DefaultFieldLayoutConfig();
|
|
1335
1338
|
this.sharedPopulateFieldLayoutConfig(item.config, field);
|
|
@@ -1338,7 +1341,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1338
1341
|
item.config.label = undefined;
|
|
1339
1342
|
}
|
|
1340
1343
|
}
|
|
1341
|
-
visitActionRowFieldLayoutDefinition(item) {
|
|
1344
|
+
async visitActionRowFieldLayoutDefinition(item) {
|
|
1342
1345
|
const field = this.getV4Data();
|
|
1343
1346
|
item.config = new sails_ng_common_11.ActionRowFieldLayoutConfig();
|
|
1344
1347
|
this.sharedPopulateFieldLayoutConfig(item.config, field);
|
|
@@ -1349,14 +1352,14 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1349
1352
|
}
|
|
1350
1353
|
}
|
|
1351
1354
|
/* Checkbox Input */
|
|
1352
|
-
visitCheckboxInputFieldComponentDefinition(item) {
|
|
1355
|
+
async visitCheckboxInputFieldComponentDefinition(item) {
|
|
1353
1356
|
const field = this.getV4Data();
|
|
1354
1357
|
item.config = new sails_ng_common_27.CheckboxInputFieldComponentConfig();
|
|
1355
1358
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
1356
1359
|
const options = this.migrateOptions(field);
|
|
1357
1360
|
this.sharedProps.setPropOverride('options', item.config, { options: options });
|
|
1358
1361
|
}
|
|
1359
|
-
visitCheckboxInputFieldModelDefinition(item) {
|
|
1362
|
+
async visitCheckboxInputFieldModelDefinition(item) {
|
|
1360
1363
|
const field = this.getV4Data();
|
|
1361
1364
|
item.config = new sails_ng_common_27.CheckboxInputFieldModelConfig();
|
|
1362
1365
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
@@ -1367,11 +1370,11 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1367
1370
|
delete item.config.defaultValue;
|
|
1368
1371
|
}
|
|
1369
1372
|
}
|
|
1370
|
-
visitCheckboxInputFormComponentDefinition(item) {
|
|
1371
|
-
this.populateFormComponent(item);
|
|
1373
|
+
async visitCheckboxInputFormComponentDefinition(item) {
|
|
1374
|
+
await this.populateFormComponent(item);
|
|
1372
1375
|
}
|
|
1373
1376
|
/* Checkbox Tree */
|
|
1374
|
-
visitCheckboxTreeFieldComponentDefinition(item) {
|
|
1377
|
+
async visitCheckboxTreeFieldComponentDefinition(item) {
|
|
1375
1378
|
const field = this.getV4Data();
|
|
1376
1379
|
item.config = new sails_ng_common_47.CheckboxTreeFieldComponentConfig();
|
|
1377
1380
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1398,19 +1401,19 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1398
1401
|
labelTemplate: andsVocabDefaultLabelTemplate,
|
|
1399
1402
|
});
|
|
1400
1403
|
}
|
|
1401
|
-
this.warnOnMalformedLegacyRegex(rawDefinition);
|
|
1404
|
+
await this.warnOnMalformedLegacyRegex(rawDefinition);
|
|
1402
1405
|
}
|
|
1403
|
-
visitCheckboxTreeFieldModelDefinition(item) {
|
|
1406
|
+
async visitCheckboxTreeFieldModelDefinition(item) {
|
|
1404
1407
|
const field = this.getV4Data();
|
|
1405
1408
|
item.config = new sails_ng_common_47.CheckboxTreeFieldModelConfig();
|
|
1406
1409
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1407
|
-
this.coerceCheckboxTreeDefaultValue(item.config);
|
|
1410
|
+
await this.coerceCheckboxTreeDefaultValue(item.config);
|
|
1408
1411
|
}
|
|
1409
|
-
visitCheckboxTreeFormComponentDefinition(item) {
|
|
1410
|
-
this.populateFormComponent(item);
|
|
1412
|
+
async visitCheckboxTreeFormComponentDefinition(item) {
|
|
1413
|
+
await this.populateFormComponent(item);
|
|
1411
1414
|
}
|
|
1412
1415
|
/* Record Selector */
|
|
1413
|
-
visitRecordSelectorFieldComponentDefinition(item) {
|
|
1416
|
+
async visitRecordSelectorFieldComponentDefinition(item) {
|
|
1414
1417
|
const field = this.getV4Data();
|
|
1415
1418
|
item.config = new sails_ng_common_49.RecordSelectorFieldComponentConfig();
|
|
1416
1419
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1451,7 +1454,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1451
1454
|
: [],
|
|
1452
1455
|
});
|
|
1453
1456
|
}
|
|
1454
|
-
visitRecordSelectorFieldModelDefinition(item) {
|
|
1457
|
+
async visitRecordSelectorFieldModelDefinition(item) {
|
|
1455
1458
|
const field = this.getV4Data();
|
|
1456
1459
|
item.config = new sails_ng_common_49.RecordSelectorFieldModelConfig();
|
|
1457
1460
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
@@ -1477,27 +1480,27 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1477
1480
|
item.config.value = coerceRecordSelectorValue(item.config.value);
|
|
1478
1481
|
}
|
|
1479
1482
|
}
|
|
1480
|
-
visitRecordSelectorFormComponentDefinition(item) {
|
|
1481
|
-
this.populateFormComponent(item);
|
|
1483
|
+
async visitRecordSelectorFormComponentDefinition(item) {
|
|
1484
|
+
await this.populateFormComponent(item);
|
|
1482
1485
|
}
|
|
1483
1486
|
/* Dropdown Input */
|
|
1484
|
-
visitDropdownInputFieldComponentDefinition(item) {
|
|
1487
|
+
async visitDropdownInputFieldComponentDefinition(item) {
|
|
1485
1488
|
const field = this.getV4Data();
|
|
1486
1489
|
item.config = new sails_ng_common_24.DropdownInputFieldComponentConfig();
|
|
1487
1490
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
1488
1491
|
const options = this.migrateOptions(field);
|
|
1489
1492
|
this.sharedProps.setPropOverride('options', item.config, { options: options });
|
|
1490
1493
|
}
|
|
1491
|
-
visitDropdownInputFieldModelDefinition(item) {
|
|
1494
|
+
async visitDropdownInputFieldModelDefinition(item) {
|
|
1492
1495
|
const field = this.getV4Data();
|
|
1493
1496
|
item.config = new sails_ng_common_24.DropdownInputFieldModelConfig();
|
|
1494
1497
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1495
1498
|
}
|
|
1496
|
-
visitDropdownInputFormComponentDefinition(item) {
|
|
1497
|
-
this.populateFormComponent(item);
|
|
1499
|
+
async visitDropdownInputFormComponentDefinition(item) {
|
|
1500
|
+
await this.populateFormComponent(item);
|
|
1498
1501
|
}
|
|
1499
1502
|
/* Typeahead Input */
|
|
1500
|
-
visitTypeaheadInputFieldComponentDefinition(item) {
|
|
1503
|
+
async visitTypeaheadInputFieldComponentDefinition(item) {
|
|
1501
1504
|
const field = this.getV4Data();
|
|
1502
1505
|
item.config = new sails_ng_common_26.TypeaheadInputFieldComponentConfig();
|
|
1503
1506
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1568,9 +1571,9 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1568
1571
|
if (readOnlyAfterSelect) {
|
|
1569
1572
|
this.sharedProps.setPropOverride('readOnlyAfterSelect', item.config, { readOnlyAfterSelect });
|
|
1570
1573
|
}
|
|
1571
|
-
this.warnOnDroppedLegacyTypeaheadProperties(definition);
|
|
1574
|
+
await this.warnOnDroppedLegacyTypeaheadProperties(definition);
|
|
1572
1575
|
}
|
|
1573
|
-
visitTypeaheadInputFieldModelDefinition(item) {
|
|
1576
|
+
async visitTypeaheadInputFieldModelDefinition(item) {
|
|
1574
1577
|
const field = this.getV4Data();
|
|
1575
1578
|
item.config = new sails_ng_common_26.TypeaheadInputFieldModelConfig();
|
|
1576
1579
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
@@ -1585,41 +1588,41 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1585
1588
|
item.config.value = this.coerceLegacyTypeaheadValue(item.config.value, valueMode, labelField);
|
|
1586
1589
|
}
|
|
1587
1590
|
}
|
|
1588
|
-
visitTypeaheadInputFormComponentDefinition(item) {
|
|
1589
|
-
this.populateFormComponent(item);
|
|
1591
|
+
async visitTypeaheadInputFormComponentDefinition(item) {
|
|
1592
|
+
await this.populateFormComponent(item);
|
|
1590
1593
|
}
|
|
1591
1594
|
/* Radio Input */
|
|
1592
|
-
visitRadioInputFieldComponentDefinition(item) {
|
|
1595
|
+
async visitRadioInputFieldComponentDefinition(item) {
|
|
1593
1596
|
const field = this.getV4Data();
|
|
1594
1597
|
item.config = new sails_ng_common_28.RadioInputFieldComponentConfig();
|
|
1595
1598
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
1596
1599
|
const options = this.migrateOptions(field);
|
|
1597
1600
|
this.sharedProps.setPropOverride('options', item.config, { options: options });
|
|
1598
1601
|
}
|
|
1599
|
-
visitRadioInputFieldModelDefinition(item) {
|
|
1602
|
+
async visitRadioInputFieldModelDefinition(item) {
|
|
1600
1603
|
const field = this.getV4Data();
|
|
1601
1604
|
item.config = new sails_ng_common_28.RadioInputFieldModelConfig();
|
|
1602
1605
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1603
1606
|
}
|
|
1604
|
-
visitRadioInputFormComponentDefinition(item) {
|
|
1605
|
-
this.populateFormComponent(item);
|
|
1607
|
+
async visitRadioInputFormComponentDefinition(item) {
|
|
1608
|
+
await this.populateFormComponent(item);
|
|
1606
1609
|
}
|
|
1607
1610
|
/* Date Input */
|
|
1608
|
-
visitDateInputFieldComponentDefinition(item) {
|
|
1611
|
+
async visitDateInputFieldComponentDefinition(item) {
|
|
1609
1612
|
const field = this.getV4Data();
|
|
1610
1613
|
item.config = new sails_ng_common_30.DateInputFieldComponentConfig();
|
|
1611
1614
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
1612
1615
|
}
|
|
1613
|
-
visitDateInputFieldModelDefinition(item) {
|
|
1616
|
+
async visitDateInputFieldModelDefinition(item) {
|
|
1614
1617
|
const field = this.getV4Data();
|
|
1615
1618
|
item.config = new sails_ng_common_30.DateInputFieldModelConfig();
|
|
1616
1619
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1617
1620
|
}
|
|
1618
|
-
visitDateInputFormComponentDefinition(item) {
|
|
1619
|
-
this.populateFormComponent(item);
|
|
1621
|
+
async visitDateInputFormComponentDefinition(item) {
|
|
1622
|
+
await this.populateFormComponent(item);
|
|
1620
1623
|
}
|
|
1621
1624
|
/* Reusable */
|
|
1622
|
-
visitReusableFieldComponentDefinition(item) {
|
|
1625
|
+
async visitReusableFieldComponentDefinition(item) {
|
|
1623
1626
|
const field = this.getV4Data();
|
|
1624
1627
|
item.config = new sails_ng_common_66.ReusableFieldComponentConfig();
|
|
1625
1628
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
@@ -1650,12 +1653,12 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1650
1653
|
this.sharedPopulateFieldLayoutConfig(reusableComponentItem.layout.config, field);
|
|
1651
1654
|
}
|
|
1652
1655
|
// Visit children
|
|
1653
|
-
this.acceptV4FormConfigPath(reusableComponentItem, this.formPathHelper.lineagePathsForReusableFieldComponentDefinition(reusableComponentItem, 0));
|
|
1656
|
+
await this.acceptV4FormConfigPath(reusableComponentItem, this.formPathHelper.lineagePathsForReusableFieldComponentDefinition(reusableComponentItem, 0));
|
|
1654
1657
|
// Store the instance on the item
|
|
1655
1658
|
item.config.componentDefinitions.push(reusableComponentItem);
|
|
1656
1659
|
}
|
|
1657
1660
|
}
|
|
1658
|
-
visitReusableFormComponentDefinition(item) {
|
|
1661
|
+
async visitReusableFormComponentDefinition(item) {
|
|
1659
1662
|
const field = this.getV4Data();
|
|
1660
1663
|
const fieldDefinition = (field?.definition ?? {});
|
|
1661
1664
|
const v4ClassName = field?.class?.toString() ?? '';
|
|
@@ -1666,21 +1669,21 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1666
1669
|
// ReusableComponent cannot have a layout.
|
|
1667
1670
|
item.layout = undefined;
|
|
1668
1671
|
}
|
|
1669
|
-
this.populateFormComponent(item);
|
|
1672
|
+
await this.populateFormComponent(item);
|
|
1670
1673
|
}
|
|
1671
1674
|
/* Question Tree */
|
|
1672
|
-
visitQuestionTreeFieldComponentDefinition(item) {
|
|
1675
|
+
async visitQuestionTreeFieldComponentDefinition(item) {
|
|
1673
1676
|
const field = this.getV4Data();
|
|
1674
1677
|
item.config = new sails_ng_common_1.QuestionTreeFieldComponentConfig();
|
|
1675
1678
|
this.sharedPopulateFieldComponentConfig(item.config, field);
|
|
1676
1679
|
}
|
|
1677
|
-
visitQuestionTreeFieldModelDefinition(item) {
|
|
1680
|
+
async visitQuestionTreeFieldModelDefinition(item) {
|
|
1678
1681
|
const field = this.getV4Data();
|
|
1679
1682
|
item.config = new sails_ng_common_1.QuestionTreeFieldModelConfig();
|
|
1680
1683
|
this.sharedPopulateFieldModelConfig(item.config, field);
|
|
1681
1684
|
}
|
|
1682
|
-
visitQuestionTreeFormComponentDefinition(item) {
|
|
1683
|
-
this.populateFormComponent(item);
|
|
1685
|
+
async visitQuestionTreeFormComponentDefinition(item) {
|
|
1686
|
+
await this.populateFormComponent(item);
|
|
1684
1687
|
}
|
|
1685
1688
|
/* Data classification to Question Tree config migration */
|
|
1686
1689
|
migrateDataClassificationToQuestionTree(data) {
|
|
@@ -1771,12 +1774,12 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1771
1774
|
};
|
|
1772
1775
|
}
|
|
1773
1776
|
/* Shared */
|
|
1774
|
-
acceptV4FormConfigPath(item, more, v4FormPath) {
|
|
1777
|
+
async acceptV4FormConfigPath(item, more, v4FormPath) {
|
|
1775
1778
|
// Copy the original lineage paths so they can be restored.
|
|
1776
1779
|
const original = [...(this.v4FormPath ?? [])];
|
|
1777
1780
|
try {
|
|
1778
1781
|
this.v4FormPath = [...original, ...(v4FormPath ?? [])];
|
|
1779
|
-
this.formPathHelper.acceptFormPath(item, more);
|
|
1782
|
+
await this.formPathHelper.acceptFormPath(item, more);
|
|
1780
1783
|
}
|
|
1781
1784
|
finally {
|
|
1782
1785
|
this.v4FormPath = original;
|
|
@@ -1902,7 +1905,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1902
1905
|
// Construct the form component instance from the built form config frame.
|
|
1903
1906
|
return this.sharedProps.sharedConstructFormComponent(currentData);
|
|
1904
1907
|
}
|
|
1905
|
-
constructLegacyNameBindingCompanion(field, v4FormPathMore) {
|
|
1908
|
+
async constructLegacyNameBindingCompanion(field, v4FormPathMore) {
|
|
1906
1909
|
const definition = (field?.definition ?? {});
|
|
1907
1910
|
const sourceName = typeof definition.name === 'string' ? definition.name.trim() : '';
|
|
1908
1911
|
const sourceType = typeof definition.type === 'string' ? definition.type.trim().toLowerCase() : '';
|
|
@@ -1932,7 +1935,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1932
1935
|
const hiddenComponent = this.constructFormComponent(hiddenField, hiddenPath);
|
|
1933
1936
|
hiddenComponent.name = sourceName;
|
|
1934
1937
|
const allowRoles = Array.isArray(field?.roles) ? field.roles : [];
|
|
1935
|
-
this.enforceLegacyHiddenBindingConfig(hiddenComponent, allowRoles);
|
|
1938
|
+
await this.enforceLegacyHiddenBindingConfig(hiddenComponent, allowRoles);
|
|
1936
1939
|
hiddenComponent.overrides = {
|
|
1937
1940
|
...(hiddenComponent.overrides ?? {}),
|
|
1938
1941
|
formModeClasses: {
|
|
@@ -1949,7 +1952,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1949
1952
|
v4FormPathMore: hiddenPath.map(i => i.toString()),
|
|
1950
1953
|
};
|
|
1951
1954
|
}
|
|
1952
|
-
enforceLegacyHiddenBindingConfig(component, allowRoles = []) {
|
|
1955
|
+
async enforceLegacyHiddenBindingConfig(component, allowRoles = []) {
|
|
1953
1956
|
if (component.component?.config) {
|
|
1954
1957
|
const hiddenComponentConfig = component.component.config;
|
|
1955
1958
|
hiddenComponentConfig.type = 'hidden';
|
|
@@ -1966,7 +1969,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1966
1969
|
allowModes: ['view'],
|
|
1967
1970
|
};
|
|
1968
1971
|
}
|
|
1969
|
-
retargetLegacyTextBlockBinding(formComponent, sourceName, bindingName) {
|
|
1972
|
+
async retargetLegacyTextBlockBinding(formComponent, sourceName, bindingName) {
|
|
1970
1973
|
const componentConfig = formComponent?.component?.config;
|
|
1971
1974
|
if (!componentConfig) {
|
|
1972
1975
|
return;
|
|
@@ -1975,7 +1978,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1975
1978
|
componentConfig.content = bindingName;
|
|
1976
1979
|
}
|
|
1977
1980
|
}
|
|
1978
|
-
ensureLegacyTextBlockComponentNameIsUnique(formComponent, sourceName, v4FormPathMore) {
|
|
1981
|
+
async ensureLegacyTextBlockComponentNameIsUnique(formComponent, sourceName, v4FormPathMore) {
|
|
1979
1982
|
if ((formComponent?.name ?? '') !== sourceName) {
|
|
1980
1983
|
return;
|
|
1981
1984
|
}
|
|
@@ -1983,9 +1986,9 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
1983
1986
|
const fallback = sourceName.length > 0 ? sourceName : 'content';
|
|
1984
1987
|
formComponent.name = `ContentComponent-${pathSuffix || fallback}`;
|
|
1985
1988
|
}
|
|
1986
|
-
populateFormComponent(item) {
|
|
1989
|
+
async populateFormComponent(item) {
|
|
1987
1990
|
// Continue visiting
|
|
1988
|
-
this.formPathHelper.acceptFormComponentDefinition(item);
|
|
1991
|
+
await this.formPathHelper.acceptFormComponentDefinition(item);
|
|
1989
1992
|
// this.acceptV4FormConfigPath(item.component, {formConfig: ['component']});
|
|
1990
1993
|
// if (item.model) {
|
|
1991
1994
|
// this.acceptV4FormConfigPath(item.model, {formConfig: ['model']});
|
|
@@ -2186,7 +2189,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2186
2189
|
}
|
|
2187
2190
|
return normalized;
|
|
2188
2191
|
}
|
|
2189
|
-
migrateOptions(field) {
|
|
2192
|
+
async migrateOptions(field) {
|
|
2190
2193
|
return (field?.definition?.options ?? []).map((option) => {
|
|
2191
2194
|
return {
|
|
2192
2195
|
label: option?.label ?? '',
|
|
@@ -2195,7 +2198,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2195
2198
|
};
|
|
2196
2199
|
});
|
|
2197
2200
|
}
|
|
2198
|
-
applyLegacyFormCssNormalization(item) {
|
|
2201
|
+
async applyLegacyFormCssNormalization(item) {
|
|
2199
2202
|
const normalizedViewCssClasses = this.normalizeLegacyFormCssClasses(item.viewCssClasses, 'view');
|
|
2200
2203
|
if (normalizedViewCssClasses) {
|
|
2201
2204
|
item.viewCssClasses = normalizedViewCssClasses;
|
|
@@ -2395,7 +2398,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2395
2398
|
this.logger.warn(`${this.logName}: CheckboxTree migration received invalid '${fieldName}' value, ignoring it.`);
|
|
2396
2399
|
return undefined;
|
|
2397
2400
|
}
|
|
2398
|
-
warnOnMalformedLegacyRegex(definition) {
|
|
2401
|
+
async warnOnMalformedLegacyRegex(definition) {
|
|
2399
2402
|
for (const key of ['regex', 'pattern', 'leafRegex']) {
|
|
2400
2403
|
if (!Object.hasOwn(definition, key)) {
|
|
2401
2404
|
continue;
|
|
@@ -2421,7 +2424,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2421
2424
|
this.logger.warn(`${this.logName}: CheckboxTree migration found unsupported regex value in '${key}', using defaults.`);
|
|
2422
2425
|
}
|
|
2423
2426
|
}
|
|
2424
|
-
coerceCheckboxTreeDefaultValue(config) {
|
|
2427
|
+
async coerceCheckboxTreeDefaultValue(config) {
|
|
2425
2428
|
const rawDefaultValue = config.defaultValue;
|
|
2426
2429
|
if (rawDefaultValue === undefined || rawDefaultValue === null) {
|
|
2427
2430
|
return;
|
|
@@ -2445,7 +2448,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2445
2448
|
}
|
|
2446
2449
|
config.defaultValue = coerced;
|
|
2447
2450
|
}
|
|
2448
|
-
coerceMapFeatureCollection(config) {
|
|
2451
|
+
async coerceMapFeatureCollection(config) {
|
|
2449
2452
|
const emptyCollection = {
|
|
2450
2453
|
type: 'FeatureCollection',
|
|
2451
2454
|
features: [],
|
|
@@ -2713,7 +2716,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2713
2716
|
this.logger.warn(`${this.logName}: Typeahead migration coerced malformed legacy value to null.`);
|
|
2714
2717
|
return null;
|
|
2715
2718
|
}
|
|
2716
|
-
injectLegacyRecordMetadataRetrieverExpressions(legacyFields, migratedComponents, containerPointer = '') {
|
|
2719
|
+
async injectLegacyRecordMetadataRetrieverExpressions(legacyFields, migratedComponents, containerPointer = '') {
|
|
2717
2720
|
for (const legacyField of legacyFields) {
|
|
2718
2721
|
if (!this.isLegacyRecordMetadataRetrieverField(legacyField)) {
|
|
2719
2722
|
continue;
|
|
@@ -2912,7 +2915,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2912
2915
|
];
|
|
2913
2916
|
return nested;
|
|
2914
2917
|
}
|
|
2915
|
-
retargetPublishDataLocationSelectorExpressions(components) {
|
|
2918
|
+
async retargetPublishDataLocationSelectorExpressions(components) {
|
|
2916
2919
|
for (const component of components ?? []) {
|
|
2917
2920
|
if (component.component?.class === sails_ng_common_58.PublishDataLocationSelectorComponentName) {
|
|
2918
2921
|
for (const expression of component.expressions ?? []) {
|
|
@@ -2926,7 +2929,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2926
2929
|
}
|
|
2927
2930
|
}
|
|
2928
2931
|
}
|
|
2929
|
-
this.retargetPublishDataLocationSelectorExpressions(this.getChildComponentDefinitions(component));
|
|
2932
|
+
await this.retargetPublishDataLocationSelectorExpressions(this.getChildComponentDefinitions(component));
|
|
2930
2933
|
}
|
|
2931
2934
|
}
|
|
2932
2935
|
getExpressionSourceComponentName(condition) {
|
|
@@ -2949,7 +2952,7 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2949
2952
|
return `${path}[${JSON.stringify(segment)}]`;
|
|
2950
2953
|
}, 'event.value');
|
|
2951
2954
|
}
|
|
2952
|
-
warnOnDroppedLegacyTypeaheadProperties(definition) {
|
|
2955
|
+
async warnOnDroppedLegacyTypeaheadProperties(definition) {
|
|
2953
2956
|
const droppedProps = [
|
|
2954
2957
|
'forceClone',
|
|
2955
2958
|
'completerService',
|
|
@@ -2977,4 +2980,4 @@ class MigrationV4ToV5FormConfigVisitor extends sails_ng_common_60.FormConfigVisi
|
|
|
2977
2980
|
}
|
|
2978
2981
|
}
|
|
2979
2982
|
exports.MigrationV4ToV5FormConfigVisitor = MigrationV4ToV5FormConfigVisitor;
|
|
2980
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0ZS1jb25maWctdjQtdjUudmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aXNpdG9yL21pZ3JhdGUtY29uZmlnLXY0LXY1LnZpc2l0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQThEO0FBQzlELHNFQVkwQztBQUUxQyxzRUFNMEM7QUFDMUMsc0VBUTBDO0FBQzFDLHNFQUkwQztBQUMxQyxzRUFBb0c7QUFDcEcsc0VBTTBDO0FBQzFDLHNFQUFnSDtBQUNoSCxzRUFBMEc7QUFDMUcsc0VBQTRFO0FBQzVFLHVFQUE4RztBQUM5Ryx1RUFBOEU7QUFDOUUsdUVBQW9FO0FBRXBFLHVFQUkwQztBQUMxQyx1RUFNMEM7QUFDMUMsdUVBQWlHO0FBQ2pHLHVFQU8wQztBQUMxQyx1RUFBK0c7QUFDL0csdUVBTTBDO0FBQzFDLHVFQUEwRztBQUMxRyx1RUFNMEM7QUFDMUMsdUVBQXNIO0FBQ3RILHVFQUErRTtBQUMvRSx1RUFNMEM7QUFDMUMsdUVBQW9IO0FBQ3BILHVFQU0wQztBQUMxQyx1RUFBc0g7QUFNdEgsdUVBQW9IO0FBTXBILHVFQUE4RztBQUM5Ryx1RUFNMEM7QUFDMUMsdUVBQTRHO0FBQzVHLHVFQUkwQztBQUMxQyx1RUFBa0Y7QUFDbEYsdUVBSTBDO0FBQzFDLHVFQUFvRjtBQUNwRix1RUFJMEM7QUFDMUMsdUVBQW9GO0FBQ3BGLHVFQUkwQztBQUMxQyx1RUFBb0Y7QUFLcEYsdUVBQXlGO0FBS3pGLHVFQUFrRztBQUNsRyx1RUFJMEM7QUFDMUMsdUVBQStGO0FBQy9GLHVFQUkwQztBQUMxQyx1RUFBa0c7QUFLbEcsdUVBQWtGO0FBQ2xGLHVFQU0wQztBQUMxQyx1RUFBa0g7QUFDbEgsdUVBTTBDO0FBQzFDLHVFQUFzSDtBQUN0SCx1RUFTMEM7QUFDMUMsdUVBQWdHO0FBQ2hHLHVFQU0wQztBQUMxQyx1RUFBOEc7QUFDOUcsdUVBTTBDO0FBQzFDLHVFQUF3RztBQUN4Ryx1RUFNMEM7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
|
|
2983
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlncmF0ZS1jb25maWctdjQtdjUudmlzaXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy92aXNpdG9yL21pZ3JhdGUtY29uZmlnLXY0LXY1LnZpc2l0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQThEO0FBQzlELHNFQVkwQztBQUUxQyxzRUFNMEM7QUFDMUMsc0VBUTBDO0FBQzFDLHNFQUkwQztBQUMxQyxzRUFBb0c7QUFDcEcsc0VBTTBDO0FBQzFDLHNFQUFnSDtBQUNoSCxzRUFBMEc7QUFDMUcsc0VBQTRFO0FBQzVFLHVFQUE4RztBQUM5Ryx1RUFBOEU7QUFDOUUsdUVBQW9FO0FBRXBFLHVFQUkwQztBQUMxQyx1RUFNMEM7QUFDMUMsdUVBQWlHO0FBQ2pHLHVFQU8wQztBQUMxQyx1RUFBK0c7QUFDL0csdUVBTTBDO0FBQzFDLHVFQUEwRztBQUMxRyx1RUFNMEM7QUFDMUMsdUVBQXNIO0FBQ3RILHVFQUErRTtBQUMvRSx1RUFNMEM7QUFDMUMsdUVBQW9IO0FBQ3BILHVFQU0wQztBQUMxQyx1RUFBc0g7QUFNdEgsdUVBQW9IO0FBTXBILHVFQUE4RztBQUM5Ryx1RUFNMEM7QUFDMUMsdUVBQTRHO0FBQzVHLHVFQUkwQztBQUMxQyx1RUFBa0Y7QUFDbEYsdUVBSTBDO0FBQzFDLHVFQUFvRjtBQUNwRix1RUFJMEM7QUFDMUMsdUVBQW9GO0FBQ3BGLHVFQUkwQztBQUMxQyx1RUFBb0Y7QUFLcEYsdUVBQXlGO0FBS3pGLHVFQUFrRztBQUNsRyx1RUFJMEM7QUFDMUMsdUVBQStGO0FBQy9GLHVFQUkwQztBQUMxQyx1RUFBa0c7QUFLbEcsdUVBQWtGO0FBQ2xGLHVFQU0wQztBQUMxQyx1RUFBa0g7QUFDbEgsdUVBTTBDO0FBQzFDLHVFQUFzSDtBQUN0SCx1RUFTMEM7QUFDMUMsdUVBQWdHO0FBQ2hHLHVFQU0wQztBQUMxQyx1RUFBOEc7QUFDOUcsdUVBTTBDO0FBQzFDLHVFQUF3RztBQUN4Ryx1RUFNMEM7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
|