Last active
March 16, 2019 22:58
-
-
Save theKashey/3a49ad7ee8e73b7278fc168f9b9e7222 to your computer and use it in GitHub Desktop.
maps.js. Uses ymb/yms module system (https://github.com/yandex/ymb)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// code from https://api-maps.yandex.ru/2.1.73/map.js?callback=__jsonp_ymaps_map&mode=release&flags= | |
// see it live - https://yandex.com/maps/?ll=150.854710%2C-35.491643&z=7 | |
// "import mapping" | |
["theme.browser.current", ".v", function (ym) { | |
var browser = ym.env.browser, | |
mapper = browser.eventMapper, | |
browserEngineLowerCase = browser.engine.toLowerCase(), | |
availableEngines = { | |
webkit: 'theme.browser.webkit', | |
// ..... | |
gecko: 'theme.browser.gecko' | |
}, | |
result = [ | |
'util.extend', | |
'map.metaOptions', | |
'domEvent.override.common', | |
'mapEvent.override.common' | |
]; | |
if (mapper == 'pointer') { | |
result.push('domEvent.managerOverrides.pointers', 'domEvent.multiPointer.override', 'domEvent.pointer.override'); | |
} else { | |
result.push('domEvent.managerOverrides.touches', 'domEvent.multiTouch.override', 'domEvent.touch.override'); | |
} | |
// Настройки по конкретным браузерам. | |
if (browserEngineLowerCase in availableEngines) { | |
result.push(availableEngines[browserEngineLowerCase]); | |
} else { | |
result.push('theme.browser.unknown'); | |
} | |
return result; | |
}], |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// another "mapping" | |
["theme.browser.webkit", ".C", function (ym) { | |
var isMobile = ym.env.browser.isMobile || ym.env.browser.isTablet; | |
var isWindowsYabro = ym.env.browser.name == 'YandexBrowser' && | |
ym.env.browser.osFamily == 'Windows'; | |
return [ | |
isMobile || ym.env.browser.isSafari || isWindowsYabro ? | |
'layer.tileContainer.DomContainer' : | |
'layer.tileContainer.CanvasContainer' | |
]; | |
}] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// this is more about polyfills | |
["graphics.render.detect.all", "5N", function (ym) { | |
var depends = []; | |
if (ym.supports.graphics.hasCanvas()) { | |
depends.push('graphics.render.canvas.support'); | |
} | |
if (ym.supports.graphics.hasSvg()) { | |
depends.push('graphics.render.svg.support'); | |
} | |
return depends; | |
}], |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This is more about IoT - this module would be injected into `layout` registry once someone will try to use it. | |
ym.modules.define({ | |
name: "theme.islands.geoObject.layout.StretchyIcon", // module name | |
key: "islands#stretchyIcon", // key | |
storage: "layout", // "registry" | |
depends: ["util.dom.element", "util.dom.style", "util.dom.className", "util.math.areEqual", "templateLayoutFactory", "placemarkNew.layout.html", "Monitor", "shape.Polygon", "geometry.pixel.Polygon", "system.browser", "util.css", "util.string"], | |
declaration: function() {.....} // code | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment