Skip to content

Commit 2141c5d

Browse files
committed
MAGETWO-89168: Develop UI component
1 parent c20aa8d commit 2141c5d

File tree

2 files changed

+20
-40
lines changed
  • app/code/Magento/Ui/view/base/web/js/form/element
  • dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element

2 files changed

+20
-40
lines changed

app/code/Magento/Ui/view/base/web/js/form/element/url-input.js

Lines changed: 20 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,12 @@ define([
2828
tracks: {
2929
linkedElement: true
3030
},
31-
urlTypes: {
32-
base: {
33-
namePrefix: '${$.name}.',
34-
dataScopePrefix: '${$.dataScope}.',
35-
provider: '${$.provider}'
36-
}
31+
baseLinkSetting: {
32+
namePrefix: '${$.name}.',
33+
dataScopePrefix: '${$.dataScope}.',
34+
provider: '${$.provider}'
3735
},
36+
urlTypes: {},
3837
listens: {
3938
settingValue: 'checked',
4039
disabled: 'hideLinkedElement',
@@ -47,11 +46,21 @@ define([
4746
},
4847

4948
/** @inheritdoc */
50-
initialize: function () {
51-
this._super()
52-
.setOptions();
49+
initConfig: function (config) {
50+
var processedLinkTypes = {},
51+
baseLinkType = this.constructor.defaults.baseLinkSetting;
5352

54-
return this;
53+
_.each(config.urlTypes, function (linkSettingsArray, linkName) {
54+
//add link name by link type
55+
linkSettingsArray.name = baseLinkType.namePrefix + linkName;
56+
linkSettingsArray.dataScope = baseLinkType.dataScopePrefix + linkName;
57+
linkSettingsArray.type = linkName;
58+
processedLinkTypes[linkName] = {};
59+
_.extend(processedLinkTypes[linkName], baseLinkType, linkSettingsArray);
60+
});
61+
_.extend(this.constructor.defaults.urlTypes, processedLinkTypes);
62+
63+
this._super();
5564
},
5665

5766
/**
@@ -62,30 +71,7 @@ define([
6271
initObservable: function () {
6372
this._super()
6473
.observe('componentTemplate options value linkType settingValue checked isDisplayAdditionalSettings')
65-
.processLinkTypes();
66-
67-
return this;
68-
},
69-
70-
/**
71-
* Adds link types array with default settings
72-
*
73-
* @return {Object}
74-
*/
75-
processLinkTypes: function () {
76-
var processedLinkTypes = {},
77-
baseLinkType = this.urlTypes.base;
78-
79-
delete this.urlTypes.base;
80-
_.each(this.urlTypes, function (linkSettingsArray, linkName) {
81-
//add link name by link type
82-
linkSettingsArray.name = baseLinkType.namePrefix + linkName;
83-
linkSettingsArray.dataScope = baseLinkType.dataScopePrefix + linkName;
84-
linkSettingsArray.type = linkName;
85-
processedLinkTypes[linkName] = {};
86-
_.extend(processedLinkTypes[linkName], baseLinkType, linkSettingsArray);
87-
});
88-
_.extend(this.urlTypes, processedLinkTypes);
74+
.setOptions();
8975

9076
return this;
9177
},

dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/element/url-input.test.js

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ define([
1818
var params = {
1919
dataScope: 'urlInput',
2020
urlTypes: {
21-
base: {
22-
namePrefix: '${$.name}.',
23-
dataScopePrefix: '${$.dataScope}.',
24-
provider: '${$.provider}'
25-
},
2621
url: {
2722
label: 'Test label',
2823
component: 'Magento_Ui/js/form/element/abstract',
@@ -46,7 +41,6 @@ define([
4641
expect(component.urlTypes).toBeDefined();
4742
expect(component.urlTypes.hasOwnProperty('url'));
4843
expect(component.urlTypes.hasOwnProperty('testUrl'));
49-
expect(component.urlTypes.base).not.toBeDefined();
5044
});
5145
});
5246

0 commit comments

Comments
 (0)