Skip to content
This repository was archived by the owner on Feb 2, 2020. It is now read-only.

Commit 332487c

Browse files
author
Mike_Device
committed
make layout creating using default templateLayoutFactory templates
* add dist folder to .gitignore * fix error at build:umd script
1 parent ff66db3 commit 332487c

File tree

9 files changed

+13
-26
lines changed

9 files changed

+13
-26
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
node_modules
2+
dist
23
.DS_Store
34
.DS_Store?
45
.idea/

lib/MapMarker.js

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -133,8 +133,6 @@ var MapMarker = function (_Component) {
133133
key: '_setupMarkerLayout',
134134
value: function _setupMarkerLayout(component) {
135135
this._markerElement = document.createElement('div');
136-
this._markerElement.className = 'icon-content';
137-
this._markerElement.style.display = 'inline-block';
138136

139137
_reactDom2.default.render(component, this._markerElement);
140138
this._controller.setLayout('iconLayout', this._markerElement);

lib/MarkerLayout.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,7 @@ var MarkerLayout = function (_Component) {
4242
}, {
4343
key: 'render',
4444
value: function render() {
45-
return _react2.default.createElement(
46-
'div',
47-
null,
48-
this.props.children
49-
);
45+
return this.props.children;
5046
}
5147
}]);
5248

lib/controllers/layouts.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,12 @@ function createLayout(_ref) {
3333
_ref$extendMethods = _ref.extendMethods,
3434
extendMethods = _ref$extendMethods === undefined ? {} : _ref$extendMethods;
3535

36-
var LayoutClass = _api2.default.getAPI().templateLayoutFactory.createClass('<i></i>', Object.assign({
36+
var LayoutClass = _api2.default.getAPI().templateLayoutFactory.createClass(domElement.innerHTML, Object.assign({
3737
build: function build() {
3838
LayoutClass.superclass.build.call(this);
3939

4040
this.options = this.getData().options;
4141

42-
this._setupContent(domElement);
4342
this._updateSize();
4443

4544
detectImagesLoaded(this.getElement()).then(this._updateMarkerShape.bind(this));
@@ -54,17 +53,13 @@ function createLayout(_ref) {
5453
this.events.fire('shapechange');
5554
},
5655

57-
_setupContent: function _setupContent(domElement) {
58-
var element = this.getElement();
59-
element.appendChild(domElement);
60-
},
61-
6256
_updateSize: function _updateSize() {
6357
this._size = this._getSize();
6458
},
6559

6660
_getSize: function _getSize() {
67-
var element = this.getElement().querySelector('.icon-content');
61+
var element = this.getElement().firstChild;
62+
6863
return [element.offsetWidth, element.offsetHeight];
6964
}
7065
}, extendMethods));

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"build:lib": "babel ./src -d lib",
88
"build:umd": "webpack src/index.js dist/YandexMapReact.js --config webpack.config.dev.js",
99
"watch": "babel --watch ./src -d lib",
10+
"watch:umd": "webpack src/index.js dist/YandexMapReact.js --watch --config webpack.config.dev.js",
1011
"lint": "eslint src/",
1112
"test": "echo \"Error: no test specified\" && exit 1"
1213
},

src/MapMarker.jsx

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ class MapMarker extends Component {
9494

9595
_setupMarkerLayout (component) {
9696
this._markerElement = document.createElement('div');
97-
this._markerElement.className = 'icon-content';
98-
this._markerElement.style.display = 'inline-block';
9997

10098
ReactDOM.render(component, this._markerElement);
10199
this._controller.setLayout('iconLayout', this._markerElement);

src/MarkerLayout.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class MarkerLayout extends Component {
1616
}
1717

1818
render () {
19-
return <div>{this.props.children}</div>;
19+
return this.props.children;
2020
}
2121
}
2222

src/controllers/layouts.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@ function detectImagesLoaded (element) {
1919
}
2020

2121
function createLayout ({domElement, extendMethods = {}}) {
22-
const LayoutClass = (api.getAPI()).templateLayoutFactory.createClass('<i></i>', Object.assign({
22+
const LayoutClass = (api.getAPI()).templateLayoutFactory.createClass(domElement.innerHTML, Object.assign({
2323
build: function () {
2424
LayoutClass.superclass.build.call(this);
2525

2626
this.options = this.getData().options;
2727

28-
this._setupContent(domElement);
2928
this._updateSize();
3029

3130
detectImagesLoaded(this.getElement()).then(this._updateMarkerShape.bind(this));
@@ -47,17 +46,13 @@ function createLayout ({domElement, extendMethods = {}}) {
4746
this.events.fire('shapechange');
4847
},
4948

50-
_setupContent: function (domElement) {
51-
const element = this.getElement();
52-
element.appendChild(domElement);
53-
},
54-
5549
_updateSize: function () {
5650
this._size = this._getSize();
5751
},
5852

5953
_getSize: function () {
60-
const element = this.getElement().querySelector('.icon-content');
54+
const element = this.getElement().firstChild;
55+
6156
return [element.offsetWidth, element.offsetHeight];
6257
}
6358
}, extendMethods));

webpack.config.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,8 @@ module.exports = {
2727
loaders: [
2828
{test: /\.jsx?/i, exclude: /node_modules/, loader: 'babel'}
2929
]
30+
},
31+
resolve: {
32+
extensions: ['', '.js', '.jsx']
3033
}
3134
};

0 commit comments

Comments
 (0)