@vendure/admin-ui 1.9.5 → 1.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/vendure-admin-ui-catalog.umd.js +93 -45
- package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.js +1 -1
- package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-login.umd.js +1 -1
- package/bundles/vendure-admin-ui-login.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-settings.umd.js +43 -3
- package/bundles/vendure-admin-ui-settings.umd.js.map +1 -1
- package/catalog/components/product-options-editor/product-options-editor.component.d.ts +5 -2
- package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
- package/core/common/version.d.ts +1 -1
- package/core/vendure-admin-ui-core.metadata.json +1 -1
- package/esm2015/catalog/components/product-options-editor/product-options-editor.component.js +74 -29
- package/esm2015/core/common/version.js +2 -2
- package/esm2015/core/shared/components/dropdown/dropdown.component.js +1 -1
- package/esm2015/login/components/login/login.component.js +2 -2
- package/esm2015/settings/components/administrator-list/administrator-list.component.js +47 -7
- package/fesm2015/vendure-admin-ui-catalog.js +73 -28
- package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
- package/fesm2015/vendure-admin-ui-core.js +1 -1
- package/fesm2015/vendure-admin-ui-core.js.map +1 -1
- package/fesm2015/vendure-admin-ui-login.js +1 -1
- package/fesm2015/vendure-admin-ui-login.js.map +1 -1
- package/fesm2015/vendure-admin-ui-settings.js +45 -6
- package/fesm2015/vendure-admin-ui-settings.js.map +1 -1
- package/login/vendure-admin-ui-login.metadata.json +1 -1
- package/package.json +2 -2
- package/settings/components/administrator-list/administrator-list.component.d.ts +17 -2
- package/settings/vendure-admin-ui-settings.metadata.json +1 -1
- package/static/i18n-messages/cs.json +3 -2
- package/static/i18n-messages/de.json +4 -3
- package/static/i18n-messages/en.json +3 -2
- package/static/i18n-messages/es.json +3 -2
- package/static/i18n-messages/fr.json +3 -2
- package/static/i18n-messages/it.json +3 -2
- package/static/i18n-messages/pl.json +3 -2
- package/static/i18n-messages/pt_BR.json +3 -2
- package/static/i18n-messages/pt_PT.json +3 -2
- package/static/i18n-messages/ru.json +3 -2
- package/static/i18n-messages/uk.json +3 -2
- package/static/i18n-messages/zh_Hans.json +3 -2
- package/static/i18n-messages/zh_Hant.json +3 -2
|
@@ -2650,14 +2650,14 @@
|
|
|
2650
2650
|
// tslint:disable-next-line:no-non-null-assertion
|
|
2651
2651
|
var $product = this.dataService.product.getProduct(this.id).mapSingle(function (data) { return data.product; });
|
|
2652
2652
|
rxjs.combineLatest(this.entity$, this.languageCode$, $product)
|
|
2653
|
-
.pipe(operators.take(1), operators.mergeMap(function (
|
|
2654
|
-
var e_1,
|
|
2655
|
-
var
|
|
2656
|
-
var _a
|
|
2653
|
+
.pipe(operators.take(1), operators.mergeMap(function (_g) {
|
|
2654
|
+
var e_1, _h;
|
|
2655
|
+
var _j = __read(_g, 3), optionGroups = _j[0].optionGroups, languageCode = _j[1], product = _j[2];
|
|
2656
|
+
var _a;
|
|
2657
2657
|
var updateOperations = [];
|
|
2658
2658
|
var _loop_1 = function (optionGroupForm) {
|
|
2659
|
-
var e_2,
|
|
2660
|
-
if (
|
|
2659
|
+
var e_2, _m;
|
|
2660
|
+
if (optionGroupForm.dirty) {
|
|
2661
2661
|
var optionGroupEntity = optionGroups.find(function (og) { return og.id === optionGroupForm.value.id; });
|
|
2662
2662
|
if (optionGroupEntity) {
|
|
2663
2663
|
var input = _this.getUpdatedOptionGroup(optionGroupEntity, optionGroupForm, languageCode);
|
|
@@ -2665,9 +2665,9 @@
|
|
|
2665
2665
|
}
|
|
2666
2666
|
}
|
|
2667
2667
|
var _loop_2 = function (optionForm) {
|
|
2668
|
-
if (
|
|
2669
|
-
var optionGroup = (
|
|
2670
|
-
.find(function (og) { return og.id === optionGroupForm.value.id; })) === null ||
|
|
2668
|
+
if (optionForm.dirty) {
|
|
2669
|
+
var optionGroup = (_a = optionGroups
|
|
2670
|
+
.find(function (og) { return og.id === optionGroupForm.value.id; })) === null || _a === void 0 ? void 0 : _a.options.find(function (o) { return o.id === optionForm.value.id; });
|
|
2671
2671
|
if (optionGroup) {
|
|
2672
2672
|
var input = _this.getUpdatedOption(optionGroup, optionForm, languageCode);
|
|
2673
2673
|
updateOperations.push(_this.productDetailService.updateProductOption(Object.assign(Object.assign({}, input), { autoUpdate: _this.autoUpdateVariantNames }), product, languageCode));
|
|
@@ -2675,29 +2675,29 @@
|
|
|
2675
2675
|
}
|
|
2676
2676
|
};
|
|
2677
2677
|
try {
|
|
2678
|
-
for (var
|
|
2679
|
-
var optionForm =
|
|
2678
|
+
for (var _o = (e_2 = void 0, __values(_this.getOptions(optionGroupForm))), _p = _o.next(); !_p.done; _p = _o.next()) {
|
|
2679
|
+
var optionForm = _p.value;
|
|
2680
2680
|
_loop_2(optionForm);
|
|
2681
2681
|
}
|
|
2682
2682
|
}
|
|
2683
2683
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
2684
2684
|
finally {
|
|
2685
2685
|
try {
|
|
2686
|
-
if (
|
|
2686
|
+
if (_p && !_p.done && (_m = _o.return)) _m.call(_o);
|
|
2687
2687
|
}
|
|
2688
2688
|
finally { if (e_2) throw e_2.error; }
|
|
2689
2689
|
}
|
|
2690
2690
|
};
|
|
2691
2691
|
try {
|
|
2692
|
-
for (var
|
|
2693
|
-
var optionGroupForm =
|
|
2692
|
+
for (var _k = __values(_this.getOptionGroups()), _l = _k.next(); !_l.done; _l = _k.next()) {
|
|
2693
|
+
var optionGroupForm = _l.value;
|
|
2694
2694
|
_loop_1(optionGroupForm);
|
|
2695
2695
|
}
|
|
2696
2696
|
}
|
|
2697
2697
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
2698
2698
|
finally {
|
|
2699
2699
|
try {
|
|
2700
|
-
if (
|
|
2700
|
+
if (_l && !_l.done && (_h = _k.return)) _h.call(_k);
|
|
2701
2701
|
}
|
|
2702
2702
|
finally { if (e_1) throw e_1.error; }
|
|
2703
2703
|
}
|
|
@@ -2732,7 +2732,7 @@
|
|
|
2732
2732
|
var input = i2.createUpdatedTranslatable({
|
|
2733
2733
|
translatable: option,
|
|
2734
2734
|
updatedFields: optionFormGroup.value,
|
|
2735
|
-
customFieldConfig: this.
|
|
2735
|
+
customFieldConfig: this.optionCustomFields,
|
|
2736
2736
|
languageCode: languageCode,
|
|
2737
2737
|
defaultTranslation: {
|
|
2738
2738
|
languageCode: languageCode,
|
|
@@ -2742,61 +2742,109 @@
|
|
|
2742
2742
|
return input;
|
|
2743
2743
|
};
|
|
2744
2744
|
ProductOptionsEditorComponent.prototype.setFormValues = function (entity, languageCode) {
|
|
2745
|
-
var e_3,
|
|
2746
|
-
var
|
|
2745
|
+
var e_3, _g, e_4, _h;
|
|
2746
|
+
var groupsForm = this.detailForm.get('optionGroups');
|
|
2747
2747
|
try {
|
|
2748
|
-
for (var
|
|
2749
|
-
var optionGroup =
|
|
2748
|
+
for (var _j = __values(entity.optionGroups), _k = _j.next(); !_k.done; _k = _j.next()) {
|
|
2749
|
+
var optionGroup = _k.value;
|
|
2750
2750
|
var groupTranslation = i2.findTranslation(optionGroup, languageCode);
|
|
2751
|
-
var
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2755
|
-
|
|
2756
|
-
|
|
2757
|
-
}
|
|
2758
|
-
var optionsFormArray = new forms.FormArray([]);
|
|
2751
|
+
var groupForm = this.setOptionGroupForm(optionGroup, groupsForm, groupTranslation);
|
|
2752
|
+
this.setCustomFieldsForm(this.optionGroupCustomFields, groupForm, optionGroup, groupTranslation);
|
|
2753
|
+
var optionsForm = groupForm.get('options');
|
|
2754
|
+
if (!optionsForm) {
|
|
2755
|
+
optionsForm = this.formBuilder.array([]);
|
|
2756
|
+
groupForm.addControl('options', optionsForm);
|
|
2757
|
+
}
|
|
2759
2758
|
try {
|
|
2760
|
-
for (var
|
|
2761
|
-
var option =
|
|
2759
|
+
for (var _l = (e_4 = void 0, __values(optionGroup.options)), _m = _l.next(); !_m.done; _m = _l.next()) {
|
|
2760
|
+
var option = _m.value;
|
|
2762
2761
|
var optionTranslation = i2.findTranslation(option, languageCode);
|
|
2763
|
-
var
|
|
2764
|
-
|
|
2765
|
-
createdAt: option.createdAt,
|
|
2766
|
-
updatedAt: option.updatedAt,
|
|
2767
|
-
code: option.code,
|
|
2768
|
-
name: optionTranslation ? optionTranslation.name : '',
|
|
2769
|
-
});
|
|
2770
|
-
optionsFormArray.push(optionControl);
|
|
2762
|
+
var optionForm = this.setOptionForm(option, optionsForm, optionTranslation);
|
|
2763
|
+
this.setCustomFieldsForm(this.optionCustomFields, optionForm, option, optionTranslation);
|
|
2771
2764
|
}
|
|
2772
2765
|
}
|
|
2773
2766
|
catch (e_4_1) { e_4 = { error: e_4_1 }; }
|
|
2774
2767
|
finally {
|
|
2775
2768
|
try {
|
|
2776
|
-
if (
|
|
2769
|
+
if (_m && !_m.done && (_h = _l.return)) _h.call(_l);
|
|
2777
2770
|
}
|
|
2778
2771
|
finally { if (e_4) throw e_4.error; }
|
|
2779
2772
|
}
|
|
2780
|
-
var groupControl = this.formBuilder.group(group);
|
|
2781
|
-
groupControl.addControl('options', optionsFormArray);
|
|
2782
|
-
groupsFormArray.push(groupControl);
|
|
2783
2773
|
}
|
|
2784
2774
|
}
|
|
2785
2775
|
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
2786
2776
|
finally {
|
|
2787
2777
|
try {
|
|
2788
|
-
if (
|
|
2778
|
+
if (_k && !_k.done && (_g = _j.return)) _g.call(_j);
|
|
2789
2779
|
}
|
|
2790
2780
|
finally { if (e_3) throw e_3.error; }
|
|
2791
2781
|
}
|
|
2792
|
-
|
|
2782
|
+
};
|
|
2783
|
+
ProductOptionsEditorComponent.prototype.setCustomFieldsForm = function (customFields, formGroup, entity, currentTranslation) {
|
|
2784
|
+
if (customFields.length) {
|
|
2785
|
+
var customValueFieldsGroup = formGroup.get(['customFields']);
|
|
2786
|
+
if (!customValueFieldsGroup) {
|
|
2787
|
+
customValueFieldsGroup = this.formBuilder.group(customFields.reduce(function (hash, field) {
|
|
2788
|
+
var _g;
|
|
2789
|
+
return (Object.assign(Object.assign({}, hash), (_g = {}, _g[field.name] = '', _g)));
|
|
2790
|
+
}, {}));
|
|
2791
|
+
formGroup.addControl('customFields', customValueFieldsGroup);
|
|
2792
|
+
}
|
|
2793
|
+
this.setCustomFieldFormValues(customFields, customValueFieldsGroup, entity, currentTranslation);
|
|
2794
|
+
}
|
|
2795
|
+
};
|
|
2796
|
+
ProductOptionsEditorComponent.prototype.setOptionGroupForm = function (entity, groupsForm, currentTranslation) {
|
|
2797
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2798
|
+
var group = {
|
|
2799
|
+
id: entity.id,
|
|
2800
|
+
createdAt: entity.createdAt,
|
|
2801
|
+
updatedAt: entity.updatedAt,
|
|
2802
|
+
code: entity.code,
|
|
2803
|
+
name: (_a = currentTranslation === null || currentTranslation === void 0 ? void 0 : currentTranslation.name) !== null && _a !== void 0 ? _a : '',
|
|
2804
|
+
};
|
|
2805
|
+
var groupForm = groupsForm.controls.find(function (control) { return control.value.id === entity.id; });
|
|
2806
|
+
if (groupForm) {
|
|
2807
|
+
(_b = groupForm.get('id')) === null || _b === void 0 ? void 0 : _b.setValue(group.id);
|
|
2808
|
+
(_c = groupForm.get('code')) === null || _c === void 0 ? void 0 : _c.setValue(group.code);
|
|
2809
|
+
(_d = groupForm.get('name')) === null || _d === void 0 ? void 0 : _d.setValue(group.name);
|
|
2810
|
+
(_e = groupForm.get('createdAt')) === null || _e === void 0 ? void 0 : _e.setValue(group.name);
|
|
2811
|
+
(_f = groupForm.get('updatedAt')) === null || _f === void 0 ? void 0 : _f.setValue(group.name);
|
|
2812
|
+
}
|
|
2813
|
+
else {
|
|
2814
|
+
groupForm = this.formBuilder.group(group);
|
|
2815
|
+
groupsForm.push(groupForm);
|
|
2816
|
+
}
|
|
2817
|
+
return groupForm;
|
|
2818
|
+
};
|
|
2819
|
+
ProductOptionsEditorComponent.prototype.setOptionForm = function (entity, optionsForm, currentTranslation) {
|
|
2820
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2821
|
+
var group = {
|
|
2822
|
+
id: entity.id,
|
|
2823
|
+
createdAt: entity.createdAt,
|
|
2824
|
+
updatedAt: entity.updatedAt,
|
|
2825
|
+
code: entity.code,
|
|
2826
|
+
name: (_a = currentTranslation === null || currentTranslation === void 0 ? void 0 : currentTranslation.name) !== null && _a !== void 0 ? _a : '',
|
|
2827
|
+
};
|
|
2828
|
+
var optionForm = optionsForm.controls.find(function (control) { return control.value.id === entity.id; });
|
|
2829
|
+
if (optionForm) {
|
|
2830
|
+
(_b = optionForm.get('id')) === null || _b === void 0 ? void 0 : _b.setValue(group.id);
|
|
2831
|
+
(_c = optionForm.get('code')) === null || _c === void 0 ? void 0 : _c.setValue(group.code);
|
|
2832
|
+
(_d = optionForm.get('name')) === null || _d === void 0 ? void 0 : _d.setValue(group.name);
|
|
2833
|
+
(_e = optionForm.get('createdAt')) === null || _e === void 0 ? void 0 : _e.setValue(group.name);
|
|
2834
|
+
(_f = optionForm.get('updatedAt')) === null || _f === void 0 ? void 0 : _f.setValue(group.name);
|
|
2835
|
+
}
|
|
2836
|
+
else {
|
|
2837
|
+
optionForm = this.formBuilder.group(group);
|
|
2838
|
+
optionsForm.push(optionForm);
|
|
2839
|
+
}
|
|
2840
|
+
return optionForm;
|
|
2793
2841
|
};
|
|
2794
2842
|
return ProductOptionsEditorComponent;
|
|
2795
2843
|
}(i2.BaseDetailComponent));
|
|
2796
2844
|
ProductOptionsEditorComponent.decorators = [
|
|
2797
2845
|
{ type: i0.Component, args: [{
|
|
2798
2846
|
selector: 'vdr-product-options-editor',
|
|
2799
|
-
template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-language-selector\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"languageCode$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <div class=\"flex center\">\r\n <div class=\"mr2\">\r\n <clr-checkbox-wrapper>\r\n <input\r\n clrCheckbox\r\n type=\"checkbox\"\r\n id=\"auto-update\"\r\n [(ngModel)]=\"autoUpdateVariantNames\"\r\n />\r\n <label>{{ 'catalog.auto-update-product-variant-name' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </div>\r\n <button\r\n *vdrIfPermissions=\"updatePermission\"\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n [disabled]=\"detailForm.pristine || detailForm.invalid\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </div>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n<form class=\"form\" [formGroup]=\"detailForm\" *ngIf=\"optionGroups$ | async as optionGroups\">\r\n <div formGroupName=\"optionGroups\" class=\"clr-row\">\r\n <div class=\"clr-col-12 clr-col-xl-6\" *ngFor=\"let optionGroup of getOptionGroups(); index as i\">\r\n <section class=\"card\" [formArrayName]=\"i\">\r\n <div class=\"card-header option-group-header\">\r\n <vdr-entity-info [entity]=\"optionGroup.value\"></vdr-entity-info>\r\n <div class=\"ml2\">{{ optionGroup.value.code }}</div>\r\n </div>\r\n <div class=\"card-block\">\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n [id]=\"'name-' + i\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n [id]=\"'code-' + i\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"code\"\r\n />\r\n </vdr-form-field>\r\n </div>\r\n <section class=\"card-block\">\r\n <table class=\"facet-values-list table mt2 mb4\" formGroupName=\"options\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'common.name' | translate }}</th>\r\n <th>{{ 'common.code' | translate }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n class=\"facet-value\"\r\n *ngFor=\"let option of getOptions(optionGroup); let i = index\"\r\n [formGroupName]=\"i\"\r\n >\r\n <td class=\"align-middle\">\r\n <vdr-entity-info [entity]=\"option.value\"></vdr-entity-info>\r\n </td>\r\n <td class=\"align-middle\">\r\n <input\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </td>\r\n <td class=\"align-middle\"><input type=\"text\" formControlName=\"code\" /></td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </section>\r\n </section>\r\n </div>\r\n </div>\r\n</form>\r\n",
|
|
2847
|
+
template: "<vdr-action-bar>\r\n <vdr-ab-left>\r\n <vdr-language-selector\r\n [availableLanguageCodes]=\"availableLanguages$ | async\"\r\n [currentLanguageCode]=\"languageCode$ | async\"\r\n (languageCodeChange)=\"setLanguage($event)\"\r\n ></vdr-language-selector>\r\n </vdr-ab-left>\r\n\r\n <vdr-ab-right>\r\n <div class=\"flex center\">\r\n <div class=\"mr2\">\r\n <clr-checkbox-wrapper>\r\n <input\r\n clrCheckbox\r\n type=\"checkbox\"\r\n id=\"auto-update\"\r\n [(ngModel)]=\"autoUpdateVariantNames\"\r\n />\r\n <label>{{ 'catalog.auto-update-product-variant-name' | translate }}</label>\r\n </clr-checkbox-wrapper>\r\n </div>\r\n <button\r\n *vdrIfPermissions=\"updatePermission\"\r\n class=\"btn btn-primary\"\r\n (click)=\"save()\"\r\n [disabled]=\"detailForm.pristine || detailForm.invalid\"\r\n >\r\n {{ 'common.update' | translate }}\r\n </button>\r\n </div>\r\n </vdr-ab-right>\r\n</vdr-action-bar>\r\n<form class=\"form\" [formGroup]=\"detailForm\" *ngIf=\"optionGroups$ | async as optionGroups\">\r\n <div formGroupName=\"optionGroups\" class=\"clr-row\">\r\n <div class=\"clr-col-12 clr-col-xl-6\" *ngFor=\"let optionGroup of getOptionGroups(); index as i\">\r\n <section class=\"card\" [formArrayName]=\"i\">\r\n <div class=\"card-header option-group-header\">\r\n <vdr-entity-info [entity]=\"optionGroup.value\"></vdr-entity-info>\r\n <div class=\"ml2\">{{ optionGroup.value.code }}</div>\r\n </div>\r\n <div class=\"card-block\">\r\n <vdr-form-field [label]=\"'common.name' | translate\" for=\"name\">\r\n <input\r\n [id]=\"'name-' + i\"\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </vdr-form-field>\r\n <vdr-form-field [label]=\"'common.code' | translate\" for=\"code\">\r\n <input\r\n [id]=\"'code-' + i\"\r\n type=\"text\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n formControlName=\"code\"\r\n />\r\n </vdr-form-field>\r\n <section formGroupName=\"customFields\" *ngIf=\"optionGroupCustomFields.length\">\r\n <label>{{ 'common.custom-fields' | translate }}</label>\r\n <vdr-tabbed-custom-fields\r\n entityName=\"ProductOptionGroup\"\r\n [customFields]=\"optionGroupCustomFields\"\r\n [customFieldsFormGroup]=\"optionGroup.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </section>\r\n </div>\r\n <section class=\"card-block\">\r\n <table class=\"facet-values-list table mt2 mb4\" formGroupName=\"options\">\r\n <thead>\r\n <tr>\r\n <th></th>\r\n <th>{{ 'common.name' | translate }}</th>\r\n <th>{{ 'common.code' | translate }}</th>\r\n <ng-container *ngIf=\"optionCustomFields.length\">\r\n <th>{{ 'common.custom-fields' | translate }}</th>\r\n </ng-container>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr\r\n class=\"facet-value\"\r\n *ngFor=\"let option of getOptions(optionGroup); let i = index\"\r\n [formGroupName]=\"i\"\r\n >\r\n <td class=\"align-middle\">\r\n <vdr-entity-info [entity]=\"option.value\"></vdr-entity-info>\r\n </td>\r\n <td class=\"align-middle\">\r\n <input\r\n type=\"text\"\r\n formControlName=\"name\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n />\r\n </td>\r\n <td class=\"align-middle\"><input type=\"text\" formControlName=\"code\" /></td>\r\n <td class=\"\" *ngIf=\"optionCustomFields.length\">\r\n <vdr-tabbed-custom-fields\r\n entityName=\"ProductOption\"\r\n [customFields]=\"optionCustomFields\"\r\n [compact]=\"true\"\r\n [customFieldsFormGroup]=\"option.get('customFields')\"\r\n [readonly]=\"!(updatePermission | hasPermission)\"\r\n ></vdr-tabbed-custom-fields>\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </section>\r\n </section>\r\n </div>\r\n </div>\r\n</form>\r\n",
|
|
2800
2848
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
2801
2849
|
styles: [".option-group-header{display:flex;align-items:baseline}\n"]
|
|
2802
2850
|
},] }
|