{"id":278700,"date":"2016-04-20T17:35:04","date_gmt":"2016-04-20T13:35:04","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=278700"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=278700","title":{"rendered":"JS \u0417\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a + \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440 \u0438\u043b\u0438 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0433\u043e \u0432\u0435\u043b\u0438\u043a\u0430"},"content":{"rendered":"<p>       \u0418\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u00ab\u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e\u00bb \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u044e \u0434\u0435\u043b\u043e\u043c \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u0435\u0441\u043b\u0438: \u044d\u0442\u043e \u043d\u0435 \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u043e\u0442 \u0440\u0430\u0431\u043e\u0442\u044b (\u0438\u043b\u0438 \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u0435\u0442, \u043d\u043e \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e); \u0434\u0430\u0435\u0442 \u043d\u0435\u043a\u0438\u0439 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u043f\u044b\u0442; \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0433\u0434\u0435-\u0442\u043e \u043a\u0430\u043a-\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c; \u0441\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432 \u043a\u0430\u0439\u0444. \u041e\u0442 \u0442\u043e\u0433\u043e \u044f \u0438 \u043e\u0442\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f, \u043d\u0430\u0447\u0430\u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u00ab\u0432\u0435\u043b\u0438\u043a\u00bb \u0433\u043e\u0434\u0430 3 \u043d\u0430\u0437\u0430\u0434 \u0438, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0440\u0430\u0437\u0430 3-4 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0432 \u0435\u0433\u043e \u043a \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u043c\u0443 \u0434\u043d\u044e. <\/p>\n<h4><b>\u0410 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u0432\u0441\u0435 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u0438 JQ<\/b><\/h4>\n<p>  <a name=\"habracut\"><\/a><br \/>  RequireJS \u2013 \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e \u043c\u0438\u043b\u0430\u044f \u0438 \u0432\u0435\u0441\u044c\u043c\u0430 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0430\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0432\u0435\u0441\u044c\u043c\u0430 \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u043d\u0435\u043f\u0440\u0438\u043d\u0443\u0436\u0434\u0435\u043d\u043d\u043e. \u0418 \u0432\u0441\u0435\u043c \u043e\u043d\u0430 \u043c\u0435\u043d\u044f \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u0430, \u043a\u0440\u043e\u043c\u0435 \u0434\u0432\u0443\u0445 \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u0432:  <\/p>\n<ul>\n<li>\u00ab\u0432\u043d\u0435\u0448\u043d\u0438\u0439 \u0432\u0438\u0434\u00bb<\/li>\n<li>\u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u0435\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<\/li>\n<\/ul>\n<p>  \u041f\u043e\u0434 \u00ab\u0432\u043d\u0435\u0448\u043d\u0438\u043c \u0432\u0438\u0434\u043e\u043c\u00bb \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e \u0442\u043e, \u0447\u0442\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u043c\u043e\u0434\u0443\u043b\u0438 \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0432 \u0441\u0442\u0440\u043e\u043a\u0435 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f.<\/p>\n<pre><code class=\"javascript\">requirejs([&quot;module_0&quot;, &quot;module_1&quot;], function(module_0, module_1) { }); <\/code><\/pre>\n<p>  \u0418 \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u043e\u0441\u044c \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435 \u2013 \u044d\u0442\u043e \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u043b\u043e\u0441\u044c \u0432 \u043a\u0430\u043a\u043e\u0435-\u0442\u043e \u0431\u0435\u0437\u043e\u0431\u0440\u0430\u0437\u0438\u0435. <\/p>\n<p>  \u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c \u0433\u0434\u0435-\u0442\u043e \u0432\u043d\u0443\u0442\u0440\u0438 \u043a\u043e\u0434\u0430 (\u0435\u0441\u043b\u0438 \u043e\u043d \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0447\u0435\u043d\u044c \u0438 \u043e\u0447\u0435\u043d\u044c \u0440\u0435\u0434\u043a\u043e), \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u2013 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0432\u0438\u0434\u0435\u0442\u044c \u0432\u0441\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0432 \u043e\u0434\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435. <\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043c\u0435\u043d\u044f \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0434\u0440\u0430\u0436\u0430\u043b\u0430 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0443\u0442\u044f\u043c\u0438 \u043f\u0440\u0438 \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0438 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0430 \u043d\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u043c\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. \u041d\u0435\u0442, \u043c\u043e\u0436\u043d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0433\u0434\u0435-\u0442\u043e \u043e\u0431\u044a\u044f\u0432\u0438\u0442\u044c \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0441 \u043f\u0443\u0442\u044f\u043c\u0438 \u0438 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u043a \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e \u0442\u0430\u043a\u043e\u043c\u0443 \u0432\u0438\u0434\u0443 (\u043d\u043e \u044d\u0442\u043e \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u043a\u0430\u043a-\u0442\u043e \u043d\u0435\u043a\u0440\u0430\u0441\u0438\u0432\u043e):<\/p>\n<pre><code class=\"javascript\">requirejs([modules.mod_0, modules.mod_1], function(module_0, module_1) { }); <\/code><\/pre>\n<p>  \u0427\u0442\u043e \u0436\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u044d\u0448\u0435\u043c, \u0442\u043e \u043c\u043d\u0435 \u043e\u043d\u043e \u043f\u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0441\u043a\u0430\u0436\u0435\u043c \u0442\u0430\u043a, \u043d\u0435 \u044f\u0432\u043d\u044b\u043c. <\/p>\n<p>  \u0421\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c \u0443 \u043c\u0435\u043d\u044f \u0441\u0442\u0430\u043b\u0438 \u0432\u044b\u0440\u0438\u0441\u043e\u0432\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u0443\u0436\u0435 \u0441\u0432\u043e\u0435\u043c\u0443 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0443 \u0438 \u043d\u0430 \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u0434\u0435\u043d\u044c \u043e\u043d\u0438 \u0441\u0444\u043e\u0440\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:  <\/p>\n<ol>\n<li>\u0432\u0441\u0435 JS \u0438 CSS \u0444\u0430\u0439\u043b\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0438\u043c\u0435\u0442\u044c \u044f\u0432\u043d\u043e\u0435 \u0438 \u043f\u043e\u043d\u044f\u0442\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435.<\/li>\n<li>\u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0435\u043c\u044b\u0435 \u0432\u043e \u0432\u0441\u0435\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u043c\u0435\u0441\u0442\u0435 (\u0435\u0434\u0438\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440).<\/li>\n<li>\u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u0434\u043e\u043b\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442\u044c \u0431\u0435\u0437 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0443\u0442\u0435\u0439, \u0430 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u0441\u0441\u044b\u043b\u043e\u043a \u043d\u0430 \u0435\u0434\u0438\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (\u043f\u0443\u043d\u043a\u0442 2) \u0438\u043b\u0438 \u0438\u043c\u0435\u043d \u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/li>\n<li>\u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044c \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0434\u043a\u0430\u0447\u043a\u0438 \u043d\u0443\u0436\u043d\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.<\/li>\n<\/ol>\n<p>  \u0418 \u0432\u043e\u0442 \u0447\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c. \u042f\u0434\u0440\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0442\u0440\u0435\u0445 \u0444\u0430\u0439\u043b\u043e\u0432, \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0439 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0432\u043f\u043e\u043b\u043d\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438 \u0438\u0445 \u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435:  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/blob\/master\/Flex\/kernel\/flex.core.js\">flex.core.js<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/blob\/master\/Flex\/kernel\/flex.registry.modules.js\">flex.registry.modules.js<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/blob\/master\/Flex\/kernel\/flex.settings.js\">flex.settings.js<\/a><\/li>\n<\/ul>\n<p>  \u0417\u0430\u043c\u0435\u0447\u0443, \u0447\u0442\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e [flex.core.js], \u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0434\u0445\u0432\u0430\u0447\u0435\u043d\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438. <\/p>\n<p>  \u041d\u043e \u0437\u0434\u0435\u0441\u044c \u0436\u0435 \u0438 \u043f\u0435\u0440\u0432\u0430\u044f \u043d\u0435\u043f\u0440\u0438\u044f\u0442\u043d\u0430\u044f \u043d\u043e\u0432\u043e\u0441\u0442\u044c. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u0441\u0442\u0440\u043e\u0433\u043e \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u0438\u043c\u0435\u043d\u0430\u043c \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u0438\u0445 \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044e. [flex.registry.modules.js] \u0438 [flex.settings.js] \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0442\u0430\u043c \u0436\u0435, \u0433\u0434\u0435 \u0438 \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u043c\u043e\u0434\u0443\u043b\u044c [flex.core.js], \u0430 \u0438\u043c\u0435\u043d\u0430 \u0438\u0445 \u043d\u0435 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u044b. <\/p>\n<p>  \u041d\u043e \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u044d\u0442\u043e \u043c\u043e\u0439 \u0432\u0435\u043b\u0438\u043a \u0438 \u043f\u043e\u043a\u0430 \u044f \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u2013 \u043c\u0435\u043d\u044f \u044d\u0442\u043e \u043e\u0431\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u0431\u0435\u0441\u043f\u043e\u043a\u043e\u0438\u0442. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0442\u0430\u043a\u0430\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u043c\u0435\u043d\u044f \u043e\u0447\u0435\u043d\u044c \u0434\u0430\u0436\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442. \u0423\u0436\u0435 \u0441\u0435\u0439\u0447\u0430\u0441 \u0435\u0441\u0442\u044c \u0441 \u0434\u0435\u0441\u044f\u0442\u043e\u043a \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c flex, \u0438 \u044f \u0432\u0441\u0435\u0433\u0434\u0430 \u0437\u043d\u0430\u044e, \u0433\u0434\u0435 \u043c\u043d\u0435 \u043d\u0430\u0439\u0442\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438 \u043f\u043e\u043b\u043d\u044b\u0439 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439.<\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0437\u0433\u043b\u044f\u043d\u0435\u043c \u043d\u0430 [flex.registry.modules.js] (\u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438\u0437 \u00ab\u0436\u0438\u0432\u043e\u0433\u043e\u00bb \u043f\u0440\u043e\u0435\u043a\u0442\u0430).<\/p>\n<pre><code class=\"javascript\">        flex.libraries = {             \/\/Basic binding controller             binds   : {  source: 'KERNEL::flex.binds.js', hash: 'HASHPROPERTY'  },             \/\/Basic events controller             events  : {  source: 'KERNEL::flex.events.js', autoHash: false      },             \/\/Collection of tools for management of DOM             html    : {  source: 'KERNEL::flex.html.js' \t\t},             css     : {                 \/\/Controller CSS animation                 animation   : {  source: 'KERNEL::flex.css.animation.js'},                 \/\/Controller CSS events                 events      : {  source: 'KERNEL::flex.css.events.js'\t},             },             \/\/Collection of UI elements             ui      : {                 \/\/Controller of window (dialog)                 window      : {                     \/\/Controller of window movement                     move    : {  source: 'KERNEL::flex.ui.window.move.js'\t\t},                     \/\/Controller of window resize                     resize  : {  source: 'KERNEL::flex.ui.window.resize.js'\t\t},                     \/\/Controller of window resize                     focus   : {  source: 'KERNEL::flex.ui.window.focus.js' \t\t},                     \/\/Controller of window maximize \/ restore                     maximize: {  source: 'KERNEL::flex.ui.window.maximize.js' \t},                 },                 \/\/Controller of templates                 templates   : {  source: 'KERNEL::flex.ui.templates.js' \t},                 \/\/Controller of patterns                 patterns    : {  source: 'KERNEL::flex.ui.patterns.js' \t\t},                 \/\/Controller of scrollbox                 scrollbox   : {  source : 'KERNEL::flex.ui.scrollbox.js'\t},                 \/\/Controller of itemsbox                 itemsbox    : {  source: 'KERNEL::flex.ui.itemsbox.js' \t\t},                 \/\/Controller of areaswitcher                 areaswitcher: {  source: 'KERNEL::flex.ui.areaswitcher.js' \t},                 \/\/Controller of areascroller                 areascroller: {  source: 'KERNEL::flex.ui.areascroller.js' \t},                 \/\/Controller of arearesizer                 arearesizer : {  source: 'KERNEL::flex.ui.arearesizer.js'\t},             },             presentation: {  source: 'program\/presentation.js' },         }; <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u044b \u0432\u0438\u0434\u0438\u0442\u0435 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0432\u0441\u0435\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0445 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438. \u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438, \u0442\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0430\u0440\u0443 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 (\u043f\u043e\u043c\u0438\u043c\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0443\u0442\u0438 [source]):  <\/p>\n<ul>\n<li>[string] hash \u2013 \u0441\u0442\u0440\u043e\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043b\u0443\u0436\u0438\u0442 \u0434\u043b\u044f \u00ab\u0440\u0443\u0447\u043d\u043e\u0433\u043e\u00bb \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u044d\u0448\u0435\u043c. \u0414\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u044d\u0442\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u0431\u0443\u0434\u0435\u0442 \u043e\u0441\u0442\u0430\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u043d\u043e\u0439, \u043c\u043e\u0434\u0443\u043b\u044c \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0438\u0437 \u043a\u044d\u0448\u0430. \u041d\u043e \u043a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e \u043c\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435, \u043c\u043e\u0434\u0443\u043b\u044c \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u0441\u044f.<\/li>\n<li>[bool] autoHash \u2013 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0432\u043e\u0432\u0441\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0435\u0441\u043b\u0438 [hash] \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 \u0437\u0430\u0434\u0430\u043d\u0430, \u0442\u043e flex \u0431\u0443\u0434\u0435\u0442 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u043a\u044d\u0448\u0435\u043c \u0432 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435, \u0438 \u0447\u0442\u043e\u0431\u044b \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u0438\u0437 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432\u043e\u0432\u0441\u0435, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043b\u0438\u0448\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u043b\u044f \u043d\u0435\u0433\u043e [autoHash = false].<\/li>\n<\/ul>\n<p>  \u0415\u0449\u0435 \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u044b \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0437\u0430\u043c\u0435\u0442\u0438\u043b\u0438 \u2013 \u044d\u0442\u043e \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0430. \u041c\u043e\u0434\u0443\u043b\u0438 \u043d\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u0441\u043a\u0432\u043e\u0437\u043d\u044b\u043c \u0441\u043f\u0438\u0441\u043a\u043e\u043c, \u0430 \u0440\u0430\u0437\u0431\u0438\u0442\u044b \u043d\u0430 \u0433\u0440\u0443\u043f\u043f\u044b, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u0432\u0441\u044e \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432 \u0446\u0435\u043b\u043e\u043c \u0431\u043e\u043b\u0435\u0435 \u043e\u0441\u043c\u044b\u0441\u043b\u0435\u043d\u043d\u043e\u0439 \u0438 \u043f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0439. <\/p>\n<p>  \u041d\u0443 \u0438 \u0435\u0449\u0435 \u0440\u0430\u0437 \u043d\u0430 \u0432\u0441\u044f\u043a\u0438\u0439 \u0441\u043b\u0443\u0447\u0430\u0439 \u2013 \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440 (\u0441\u043f\u0438\u0441\u043e\u043a) \u043c\u043e\u0434\u0443\u043b\u0435\u0439. \u041e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0437\u0434\u0435\u0441\u044c \u0442\u043e\u0433\u043e \u0438\u043b\u0438 \u0438\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043e\u043d \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d. \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0440\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0438\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c. <\/p>\n<p>  \u0418\u0434\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043d\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438. \u0424\u0430\u0439\u043b [flex.settings.js] \u0441 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0441\u0430\u0439\u0442\u0430.<\/p>\n<pre><code class=\"javascript\">flex.init({     resources: {         MODULES: [             'presentation', 'ui.patterns'         ],         EXTERNAL: [             { url: '\/program\/body.css', hash: 'HASHPROPERTY' },         ],         ASYNCHRONOUS: [             {                 resources: [                     { url: 'http:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.8.2\/jquery.min.js' },                     { url: '\/program\/highcharts\/highcharts.js',         after: ['http:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.8.2\/jquery.min.js'] },                     { url: '\/program\/highcharts\/highcharts-more.js',    after: ['\/program\/highcharts\/highcharts.js'] },                     { url: '\/program\/highcharts\/exporting.js',          after: ['\/program\/highcharts\/highcharts.js'] },                 ],                 storage : false,                 finish  : function () {                     \/\/Do something                 }             }         ],     },     events: {         onFlexLoad: function () {             \/\/Do something         },         onPageLoad: function () {             var presentation = flex.libraries.presentation.create();             presentation.start();         }     },     settings: {         CHECK_PATHS_IN_CSS: true     },     logs: {         SHOW: ['CRITICAL', 'LOGICAL', 'WARNING', 'NOTIFICATION', 'LOGS', 'KERNEL_LOGS']     } }); <\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0442\u043e\u0436\u0435 \u0432\u0441\u0435 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e. <\/p>\n<p>  \u0412 \u0441\u0435\u043a\u0446\u0438\u0438 \u0441 \u0433\u043e\u0432\u043e\u0440\u044f\u0449\u0438\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c [MODULES] \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0442\u0435\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u043e \u0441\u0442\u0430\u0440\u0442\u0430 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0435 \u0441\u0441\u044b\u043b\u043a\u0438, \u0430 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0438 \u0441 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u043c, \u0442\u043e \u0435\u0441\u0442\u044c \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u0432 [flex.registry.modules.js] (\u0438\u0441\u043a\u043b\u044e\u0447\u0430\u044f \u201cflex.libraries\u201d).<\/p>\n<p>  \u041c\u0430\u0441\u0441\u0438\u0432 [EXTERNAL] \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0442\u0435\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c URL. \u0422\u0430\u043a \u0436\u0435 \u043a\u0430\u043a \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0437\u0434\u0435\u0441\u044c \u043c\u043e\u0436\u043d\u043e \u043e\u043f\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u0430\u043a\u0438\u043c\u0438 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438 \u043a\u0430\u043a [hash] \u0438 [authHash] \u0434\u043b\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u044d\u0448\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432\u0437\u044f\u0442\u043e\u0433\u043e \u0440\u0435\u0441\u0443\u0440\u0441\u0430. <\/p>\n<p>  \u0421\u0435\u043a\u0446\u0438\u044f [ASYNCHRONOUS] \u0444\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0442\u043e\u0436\u0435 \u0441\u0430\u043c\u043e\u0435, \u0447\u0442\u043e \u0438 [EXTERNAL], \u043d\u043e: \u0432\u043e-\u043f\u0435\u0440\u0432\u044b\u0445, \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0441\u0440\u0430\u0437\u0443 (\u043d\u0435 \u0434\u043e\u0436\u0438\u0434\u0430\u044f\u0441\u044c \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439); \u0432\u043e-\u0432\u0442\u043e\u0440\u044b\u0445, \u0437\u0434\u0435\u0441\u044c \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438. \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435, \u0444\u0430\u0439\u043b [highcharts.js] \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0442\u044c\u0441\u044f \u0434\u043e \u0442\u0435\u0445 \u043f\u043e\u0440, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430 JQ. <\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432 \u0441\u0435\u043a\u0446\u0438\u0438 [ASYNCHRONOUS] \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0433\u0440\u0443\u043f\u043f \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 (bundles) \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u043c\u0438 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 (\u0441\u043e\u0431\u044b\u0442\u0438\u0435 [finish]). <\/p>\n<p>  \u0420\u0435\u0441\u0443\u0440\u0441\u044b \u0438\u0437 \u0441\u0435\u043a\u0446\u0438\u0438 [ASYNCHRONOUS] \u0442\u043e\u0436\u0435 \u043a\u044d\u0448\u0438\u0440\u0443\u044e\u0442\u0441\u044f, \u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u044d\u0448\u0435\u043c \u0437\u0434\u0435\u0441\u044c \u043c\u0435\u043d\u0435\u0435 \u0433\u0438\u0431\u043a\u043e\u0435. \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043b\u0438\u0448\u044c \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0435\u0433\u043e \u0438\u043b\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 [storage: true \/ false].<\/p>\n<p>  \u041e\u0447\u0435\u043d\u044c \u0443\u043a\u0440\u0443\u043f\u043d\u0435\u043d\u043d\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:  <\/p>\n<ol>\n<li>\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 flex.core.js<\/li>\n<li>\u041f\u043e\u0434\u0445\u0432\u0430\u0442 flex.registry.modules.js, flex.registry.events.js \u0438 flex.settings.js<\/li>\n<li>\u0421\u0442\u0430\u0440\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u0432 [MODULES] \u0438 \u0437\u0434\u0435\u0441\u044c \u0436\u0435 \u0441\u0442\u0430\u0440\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u0441\u0435\u0433\u043e, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0432 [ASYNCHRONOUS]<\/li>\n<li>\u0424\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 (\u043c\u043e\u0434\u0443\u043b\u0438 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u044b, \u0437\u0430\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u044f\u043c\u0438 \u0438\u0437 [MODULES]). \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0432\u0441\u0435\u0445 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432.<\/li>\n<li>\u041f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438\u0437 [MODULES] (\u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u044f\u043c\u0438) \u0441\u0442\u0430\u0440\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438\u0437 [EXTERNAL]<\/li>\n<li>\u041f\u043e \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u0441\u0435\u0433\u043e \u0438\u0437 [EXTERNAL] \u0438 [ASYNCHRONOUS] (\u0435\u0441\u043b\u0438 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043e\u0436\u0438\u0434\u0430\u0442\u044c \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b) \u0432\u044b\u0437\u043e\u0432 \u0441\u043e\u0431\u044b\u0442\u0438\u044f [onFlexLoad] \u0438 \u043e\u0436\u0438\u0434\u0430\u043d\u0438\u0435 \u0441\u043e\u0431\u044b\u0442\u0438\u044f [onPageLoad]<\/li>\n<\/ol>\n<p>  \u0412\u043e\u0442 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0438 \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438.<\/p>\n<p>  \u042f \u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u043b \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b [MODULES], [EXTERNAL] \u0438 [ASYNCHRONOUS]. \u0422\u0430\u043a\u043e\u0439 \u043f\u043e\u0434\u0445\u043e\u0434 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043c\u043d\u0435 \u044f\u0441\u043d\u043e \u0438 \u0447\u0435\u0442\u043a\u043e \u0432\u0438\u0434\u0435\u0442\u044c, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0447\u0430\u0441\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0430 \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435. <\/p>\n<h4><b>\u0427\u0442\u043e \u0435\u0449\u0435 \u0437\u0430 <a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/blob\/master\/Flex\/kernel\/flex.events.js\">flex.registry.events.js<\/a>?<\/b><\/h4>\n<p>  \u042d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0447\u0430\u0441\u0442\u044c \u043e\u0431\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043d\u043e \u043e\u043d \u043f\u0440\u0438\u0433\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u043b\u0438\u0448\u044c \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0443\u0436\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u043c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u0412\u043e\u0442 \u0435\u0433\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435:<\/p>\n<pre><code class=\"javascript\">flex.registry.events    = {     \/\/Events of UI     ui: {         \/\/Events of scrollbox         scrollbox   : {             GROUP               : 'flex.ui.scrollbox',             REFRESH             : 'refresh',         },         \/\/Events of itemsbox         itemsbox    : {             GROUP               : 'flex.ui.itemsbox',             REFRESH             : 'refresh',         },         \/\/Events of arearesizer         arearesizer : {             GROUP               : 'flex.ui.arearesizer',             REFRESH             : 'refresh',         },         window      : {             \/\/Events of window resize module             resize  : {                 GROUP   : 'flex.ui.window.resize',                 REFRESH : 'refresh',                 FINISH  : 'finish',             },             \/\/Events of window maximize \/ restore module             maximize: {                 GROUP       : 'flex.ui.window.maximize',                 MAXIMIZED   : 'maximized',                 RESTORED    : 'restored',                 CHANGE      : 'change',             }         }     },     \/\/Events of Flex (system events)     system: {         \/\/Events of logs         logs: {             GROUP       : 'flex.system.logs.messages',             CRITICAL    : 'critical',             LOGICAL     : 'logical',             WARNING     : 'warning',             NOTIFICATION: 'notification',             LOGS        : 'log',             KERNEL_LOGS : 'kernel_logs',         },         cache: {             GROUP               : 'flex.system.cache.events',             ON_NEW_MODULE       : 'ON_NEW_MODULE',             ON_UPDATED_MODULE   : 'ON_UPDATED_MODULE',             ON_NEW_RESOURCE     : 'ON_NEW_RESOURCE',             ON_UPDATED_RESOURCE : 'ON_UPDATED_RESOURCE',         }     } }; <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u044b \u0443\u0436\u0435 \u0434\u043e\u0433\u0430\u0434\u0430\u043b\u0438\u0441\u044c \u2013 \u044d\u0442\u043e \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u044f\u0434\u0440\u0435 \u0438 \u043c\u043e\u0434\u0443\u043b\u044f\u0445. \u0417\u0430\u0447\u0435\u043c \u044f \u044d\u0442\u043e \u0432\u044b\u043d\u0435\u0441 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b? \u0427\u0442\u043e\u0431\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435\u043a\u0438\u0439 \u0443\u0440\u043e\u0432\u0435\u043d\u044c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438 \u0438 \u0434\u0430\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0434\u0443\u043b\u044f\u043c \u00ab\u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f\u00bb \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0436\u043a\u043e\u0439. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0438\u043c\u0435\u044f \u0442\u0430\u043a\u043e\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0432 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u043e\u0439 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0435, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0435\u043c\u0443 \u0441\u043e\u0431\u044b\u0442\u0438\u044f:<\/p>\n<pre><code class=\"javascript\">flex.events.core.listen(     flex.registry.events.ui.window.resize.GROUP,     flex.registry.events.ui.window.resize.REFRESH,     function (node, area_id) {         \/\/Do something     } ); <\/code><\/pre>\n<p>  \u041d\u0443 \u043d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u043d\u0430\u0441\u0442\u0430\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0438 \u043d\u0430 \u0448\u0430\u0431\u043b\u043e\u043d \u043c\u043e\u0434\u0443\u043b\u044f \u0438 \u0435\u0441\u043b\u0438 \u0432\u044b \u0435\u0449\u0435 \u043d\u0435 \u0437\u0435\u0432\u0430\u0435\u0442\u0435 \u043e\u0442 \u0441\u043a\u0443\u043a\u0438, \u0442\u043e \u0432\u043e\u0442 \u043e\u043d:<\/p>\n<pre><code class=\"javascript\">        var protofunction       = function () {              \/\/Constructor of module         };         protofunction.prototype = function () {             \/\/Module body             var \/\/Get modules                 html    = flex.libraries.html.create(),                 events  = flex.libraries.events.create();             return {                 \/\/Some methods              };         };         flex.modules.attach({             name            : 'ui.itemsbox',             protofunction   : protofunction,             reference       : function () {                 flex.libraries.events();                 flex.libraries.html();             },             resources       : [                 { url: 'KERNEL::\/css\/flex.ui.itemsbox.css' }             ],         }); <\/code><\/pre>\n<p>  \u0412\u0441\u044f \u043c\u0430\u0433\u0438\u044f, \u043a\u0430\u043a \u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u043e \u0434\u043e\u0433\u0430\u0434\u0430\u0442\u044c\u0441\u044f, \u0441\u043e\u043a\u0440\u044b\u0442\u0430 \u0432 \u043c\u0435\u0442\u043e\u0434\u0435 [flex.modules.attach]. \u041f\u0440\u043e\u0431\u0435\u0436\u0438\u043c\u0441\u044f \u0435\u0433\u043e \u043f\u043e \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430\u043c.  <\/p>\n<ul>\n<li>name \u2013 \u044d\u0442\u043e \u0442\u043e \u043a\u0430\u043a \u043d\u0430\u0448 \u043c\u043e\u0434\u0443\u043b\u044c \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u044d\u0442\u043e \u0432\u043e\u0442 [name] \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0438\u043c\u0435\u043d\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u0432 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435, \u0442\u043e\u043c \u0441\u0430\u043c\u043e\u043c [flex.registry.modules.js].<\/li>\n<li>protofunction \u2013 \u044d\u0442\u043e \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043d\u0430\u0448 \u043c\u043e\u0434\u0443\u043b\u044c. \u041e\u043d \u043c\u043e\u0436\u0435\u0442 \u0438\u043c\u0435\u0442\u044c \u0438 \u0441\u0432\u043e\u0439 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d \u043b\u0438\u0448\u044c \u043e\u0434\u043d\u0430\u0436\u0434\u044b, \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044f.<\/li>\n<li>references \u2013 \u044d\u0442\u043e \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a \u043e\u043d\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442\u0441\u044f: \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0441\u0442\u0440\u043e\u043a\u043e\u0432\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439. \u041a \u043c\u043e\u043c\u0435\u043d\u0442\u0443, \u043a\u043e\u0433\u0434\u0430 \u0432\u0430\u0448 \u043c\u043e\u0434\u0443\u043b\u044c \u043d\u0430\u0447\u043d\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0443\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u0438-\u0432\u044b\u0437\u043e\u0432\u044b. \u0422\u043e \u0435\u0441\u0442\u044c \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 [flex.libraries.events()] \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u0442 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e \u0434\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d \u043c\u043e\u0434\u0443\u043b\u044c [events]. <\/li>\n<li>\u041c\u0430\u0441\u0441\u0438\u0432 resources \u2013 \u044d\u0442\u043e \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 (\u0434\u043b\u044f \u043c\u043e\u0434\u0443\u043b\u044f) \u0430\u043d\u0430\u043b\u043e\u0433 [EXTERNAL] \u0438\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a [flex.settings.js]. \u0417\u0434\u0435\u0441\u044c \u0432\u044b \u0432\u043e\u043b\u044c\u043d\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043f\u0435\u0440\u0435\u0447\u0435\u043d\u044c \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 (JS \u0438\/\u0438\u043b\u0438 CSS), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b \u0434\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044f. <\/li>\n<li>\u0412 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u0435\u0449\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0434\u0432\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u044f [onBeforeAttach] \u0438 [onAfterAttach], \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u0434\u043e \u0438 \u043f\u043e\u0441\u043b\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043c\u043e\u0434\u0443\u043b\u044f \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. <\/li>\n<\/ul>\n<p>  \u0412\u044b\u0437\u043e\u0432 \u0436\u0435 \u0441\u0430\u043c\u0438\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u044c \u0432 \u043b\u044e\u0431\u043e\u043c \u043c\u0435\u0441\u0442\u0435 \u043a\u043e\u0434\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043d\u0430\u0448\u0435\u0433\u043e \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u2013 create, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a: html = flex.libraries.html.create(), \u043f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f html \u0441\u0442\u0430\u043d\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f. <\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0432\u043e\u0442 \u043e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u043c\u043e\u0435\u0433\u043e flex-\u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u0430. \u0415\u0441\u0442\u044c \u043e\u0434\u043d\u043e \u043c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043c\u043e\u0434\u0443\u043b\u0438; \u0435\u0441\u0442\u044c \u043c\u0435\u0441\u0442\u043e \u0433\u0434\u0435 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f; \u0438 \u0435\u0441\u0442\u044c \u0441\u0430\u043c\u0438 \u043c\u043e\u0434\u0443\u043b\u0438. <\/p>\n<p>  \u0414\u043b\u044f \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 (\u0431\u0443\u043a\u0432\u0430\u043b\u044c\u043d\u043e \u0441 \u043f\u0430\u0440\u043e\u0439, \u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u043c\u043e\u0434\u0443\u043b\u0435\u0439) \u0442\u0430\u043a\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0438\u0437\u043b\u0438\u0448\u043d\u0435\u0439, \u0438 \u044f \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u0442\u0430\u043a \u043e\u043d\u043e \u0438 \u0435\u0441\u0442\u044c. \u041e\u0434\u043d\u0430\u043a\u043e \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0445 \u0437\u0430\u0434\u0430\u0447 \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0432\u043e\u0432\u0441\u0435 \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b flex.registry.modules.js \u0438 flex.settings.js. \u0412 \u044d\u0442\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0431\u0443\u0434\u0435\u0442 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 RequireJS:<\/p>\n<pre><code class=\"javascript\">_append({     name            : 'Base.B',     require         : [         { url: 'ATTACH::D_file.js' },     ],     module      : function () {          var \/\/Get modules.             D = flex.libraries.D.create();         \/\/Module body         return {             \/\/Module methods         };     }, }); <\/code><\/pre>\n<p>  \u041a\u0430\u043a \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e \u0447\u0442\u043e \u0444\u0430\u0439\u043b-\u0440\u0435\u0433\u0438\u0441\u0442\u0440 <a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/blob\/master\/Flex\/kernel\/flex.registry.modules.js\">flex.registry.modules.js<\/a> \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f, \u0441\u043f\u0438\u0441\u043e\u043a \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0438 \u0438\u0445 \u0432\u044b\u0437\u043e\u0432 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0442\u0430\u043a\u0436\u0435, \u043a\u0430\u043a \u0438 \u0434\u043b\u044f \u043e\u0431\u044b\u0447\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0447\u0435\u0440\u0435\u0437 \u0444\u0443\u043d\u043a\u0446\u0438\u044e create.<\/p>\n<p>  \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0437\u0430\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0432\u044b\u043d\u0443\u0436\u0434\u0435\u043d\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u0432 \u0432\u0438\u0434\u0435 \u0441\u0441\u044b\u043b\u043e\u043a (\u043f\u0443\u0442\u0435\u0439), \u0447\u0442\u043e \u0434\u043b\u044f \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432, \u0431\u0435\u0437\u0443\u0441\u043b\u043e\u0432\u043d\u043e, \u043d\u0435 \u043a\u0440\u0438\u0442\u0438\u0447\u043d\u043e.<\/p>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0431\u0435\u0437 \u0444\u0430\u0439\u043b\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a <a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/blob\/master\/Flex\/kernel\/flex.settings.js\">flex.settings.js<\/a> \u0432\u0441\u0442\u0430\u0435\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432\u0435\u0434\u044c \u0441\u043e\u0431\u044b\u0442\u0438\u044f onFlexLoad \u0438 onPageLoad \u043d\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u044b. \u042d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441 \u0440\u0435\u0448\u0435\u043d \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c\u043e\u0433\u043e \u043c\u043e\u0434\u0443\u043b\u044f:<\/p>\n<pre><code class=\"javascript\">_append({     name    : 'A',     require : [         { url: 'ATTACH::B_file.js' },         { url: 'ATTACH::C_file.js' },         { url: 'ATTACH:css\/B_file.css' }     ],     launch  : function(){         var \/\/Get modules.             B = flex.libraries.Base.B.create(),             C = flex.libraries.C.create();         \/\/Do something     } }); <\/code><\/pre>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u043c\u0435\u043d\u0438\u0432 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e [module] \u043d\u0430 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e [launch] \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u044e\u0449\u0438\u0439 \u043c\u043e\u0434\u0443\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439, \u0440\u0430\u0437\u0443\u043c\u0435\u0435\u0442\u0441\u044f, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0434\u0438\u043d \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438. <\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432\u044b \u0442\u0430\u043a\u0436\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u043c\u043e\u0434\u0443\u043b\u0438. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043a\u0430\u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f [B] \u2013 \u201cBase.B\u201d. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u0433\u0440\u0443\u043f\u043f\u0430 \u201cBase\u201d \u0438 \u043a \u043d\u0435\u0439 \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043d\u0430\u0448 \u043c\u043e\u0434\u0443\u043b\u044c [B].<\/p>\n<h4><b>\u0415\u0449\u0435 \u0447\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u043e \u0441\u043a\u0443\u0447\u043d\u043e\u043c \u0438 \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435<\/b><\/h4>\n<p>  \u0417\u0430\u043a\u043e\u043d\u043e\u043c\u0435\u0440\u043d\u043e \u0443 \u0432\u0430\u0441 \u043c\u043e\u0436\u0435\u0442 \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u0443\u0442\u044c \u0432\u043e\u043f\u0440\u043e\u0441: \u00ab\u0412\u0435\u043b\u043e\u0441\u043f\u043e\u0440\u0442 \u2013 \u044d\u0442\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043f\u043e\u043b\u0435\u0437\u043d\u043e, \u043d\u043e \u0431\u0440\u043e, \u0442\u044b \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u043f\u043e\u0432\u0442\u043e\u0440\u0438\u043b \u0432\u0441\u0435 \u0442\u043e, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 RequireJS. \u0417\u0430\u0447\u0435\u043c?\u00bb. <\/p>\n<p>  \u0412\u0441\u0435 \u0440\u0430\u0434\u0438 \u0434\u0432\u0443\u0445 \u0432\u0435\u0449\u0435\u0439: \u043f\u0435\u0440\u0432\u043e\u0435 \u2013 \u044d\u0442\u043e \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0432\u0430\u043d\u0438\u0435 (\u0447\u0435\u0440\u0435\u0437 \u0444\u0430\u0439\u043b \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0438 \u0435\u0434\u0438\u043d\u044b\u0439 \u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043c\u043e\u0434\u0443\u043b\u0435\u0439), \u0430 \u0432\u0442\u043e\u0440\u043e\u0435 \u2013 \u044d\u0442\u043e \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. <\/p>\n<p>  Flex \u043d\u0435 \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0435 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0434\u043b\u044f \u044d\u0442\u0438\u0445 \u0446\u0435\u043b\u0435\u0439 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0435 \u2013 localStorage. \u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0438\u043c\u0435\u0435\u043c \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043e\u0442 20 \u0434\u043e 30 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 (\u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b). \u0412 \u043f\u0435\u0440\u0432\u044b\u0439 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0432\u0441\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u043f\u0443\u0442\u0435\u043c \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f &lt;script&gt; \u0438 &lt;link&gt; \u0434\u043b\u044f JS-\u0444\u0430\u0439\u043b\u043e\u0432 \u0438 CSS-\u0444\u0430\u0439\u043b\u043e\u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. \u041d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u0432 \u0444\u043e\u043d\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 flex \u043f\u043e\u043f\u044b\u0442\u0430\u0435\u0442\u0441\u044f \u00ab\u0434\u043e\u0431\u044b\u0442\u044c\u00bb \u043a\u043e\u043d\u0442\u0435\u043d\u0442 \u0432\u0441\u0435\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 (\u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432). \u041f\u043e\u043b\u0443\u0447\u0438\u0432 \u0435\u0433\u043e, flex \u0435\u0433\u043e \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442 \u0438 \u043f\u0440\u0438\u0432\u044f\u0436\u0435\u0442 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u043c URL, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043e\u043d\u0438 (\u0440\u0435\u0441\u0443\u0440\u0441\u044b) \u0431\u044b\u043b\u0438 \u0437\u0430\u043f\u0440\u043e\u0448\u0435\u043d\u044b. \u0418 \u0443\u0436\u0435 \u0441\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0431\u0443\u0434\u0435\u0442 \u043d\u0435 20 \u2013 30 \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u0439 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0437\u0430 \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u0430 \u0432\u0441\u0435\u0433\u043e 4 (\u0434\u043b\u044f flex.core.js, \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a, \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439). \u0412\u0441\u0435 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u0437\u044f\u0442\u043e \u0438\u0437 localStorage \u0438 \u0438\u043d\u0442\u0435\u0433\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443, \u0447\u0442\u043e \u0441\u0430\u043c\u044b\u043c \u0431\u043b\u0430\u0433\u043e\u043f\u0440\u0438\u044f\u0442\u043d\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0432\u0441\u0435\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. <\/p>\n<p>  \u041d\u043e \u0438 \u044d\u0442\u043e \u0435\u0449\u0435 \u043d\u0435 \u0432\u0441\u0435. \u041a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043a\u0430\u043a \u0432\u0440\u0443\u0447\u043d\u0443\u044e (\u0437\u0430\u0434\u0430\u0432\u0430\u044f \u0445\u044d\u0448\u0438 \u0434\u043b\u044f \u0442\u0435\u0445 \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u043c\u043e\u0434\u0443\u043b\u0435\u0439), \u0442\u0430\u043a \u0438 \u0434\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0441\u0438\u0435 \u0440\u0443\u0442\u0438\u043d\u043d\u043e\u0435 \u0434\u0435\u043b\u043e flex, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e\u0441\u043b\u0435 \u043e\u043a\u043e\u043d\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432 \u0444\u043e\u043d\u043e\u0432\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u00ab\u043e\u043f\u0440\u043e\u0441\u00bb HEADERs \u043f\u043e URL \u0432\u0441\u0435\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u043f\u044b\u0442\u0430\u044f\u0441\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440 \u0444\u0430\u0439\u043b\u0430 \u0438 \u0434\u0430\u0442\u0443 \u0435\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f (\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f). \u041e\u0441\u043d\u043e\u0432\u044b\u0432\u0430\u044f\u0441\u044c \u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 flex \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043c\u043e\u0434\u0443\u043b\u044f (\u0438\u043b\u0438 \u0440\u0435\u0441\u0443\u0440\u0441\u0430), \u0447\u044c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0438\u0441\u044c, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u044f \u0432\u0441\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0432 \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0438. <\/p>\n<p>  \u042f, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0432\u0430\u0441 \u0443\u0436\u0435 \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0442\u043e\u043c\u0438\u043b, \u043d\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435. \u041d\u0430\u0434\u0435\u044e\u0441\u044c )<\/p>\n<h4><b>\u0428\u0430\u0431\u043b\u043e\u043d\u044b<\/b><\/h4>\n<p>  \u0412\u0441\u0435 \u0447\u0442\u043e \u044f \u0432\u0441\u0442\u0440\u0435\u0447\u0430\u043b \u0432 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0442\u0430\u043a \u0438\u043b\u0438 \u0438\u043d\u0430\u0447\u0435 \u043e\u043f\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0443\u044e \u0447\u0430\u0441\u0442\u044c. \u0414\u043e\u043f\u0443\u0441\u043a\u0430\u044e, \u0447\u0442\u043e \u043f\u043b\u043e\u0445\u043e \u0438\u0441\u043a\u0430\u043b (\u0441 \u043c\u043e\u0438\u043c-\u0442\u043e \u043c\u0438\u0437\u0435\u0440\u043d\u044b\u043c \u043e\u043f\u044b\u0442\u043e\u043c), \u043d\u043e \u0442\u043e \u0447\u0442\u043e \u043d\u0430\u0445\u043e\u0434\u0438\u043b \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u043b\u043e \u0448\u0430\u0431\u043b\u043e\u043d \u043f\u0440\u0438 \u0432\u0441\u044f\u043a\u043e\u043c \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u043d\u043e\u0432\u044c \u0438 \u0432\u043d\u043e\u0432\u044c. <\/p>\n<p>  \u041c\u043d\u0435 \u044d\u0442\u043e \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c. \u0412\u0435\u0434\u044c \u0435\u0441\u043b\u0438 \u0448\u0430\u0431\u043b\u043e\u043d \u0431\u043e\u043b\u0435\u0435 \u043b\u0438 \u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u0435\u043d, \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043b\u0438 \u043f\u0440\u043e\u0449\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435 \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u043b\u0438\u0448\u044c \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438?<\/p>\n<p>  \u0415\u0449\u0435 \u043e\u0434\u043d\u0430 \u0432\u0435\u0449\u044c, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u043d\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0438\u043c\u0435\u0442\u044c \u2013 \u044d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u043d\u043e \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0435\u0433\u043e \u00ab\u0432 \u043e\u0442\u0440\u044b\u0432\u0435\u00bb \u043e\u0442 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0435\u0441\u0442\u044c \u0443 \u043d\u0430\u0441 \u0448\u0430\u0431\u043b\u043e\u043d \u043e\u043a\u043d\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u2013 \u0432\u043e\u0442 \u043c\u043d\u0435 \u0431\u044b \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0432 \u043f\u0430\u0440\u0443 \u043a\u043b\u0438\u043a\u043e\u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044c \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443 \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u044b\u043b \u0431\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e\u0442 \u0448\u0430\u0431\u043b\u043e\u043d. \u0417\u0430\u0447\u0435\u043c? \u0411\u044b\u0441\u0442\u0440\u043e \u043e\u0442\u043b\u0430\u0434\u0438\u0442\u044c \u0441\u0442\u0438\u043b\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0438\u043b\u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u043e\u0442\u043b\u043e\u0432\u0438\u0442\u044c \u0436\u0443\u0447\u043a\u0430 \u0432 \u043a\u043e\u0434\u0435. <\/p>\n<p>  \u041f\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0434\u043e\u043b\u0433\u0438\u0445 \u0440\u0430\u0437\u043c\u044b\u0448\u043b\u0435\u043d\u0438\u0439 \u0431\u044b\u043b\u0438 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u044b \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f \u043a \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0443 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432:  <\/p>\n<ul>\n<li>\u0424\u0430\u0439\u043b \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435, \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443.<\/li>\n<li>\u0428\u0430\u0431\u043b\u043e\u043d \u043c\u043e\u0436\u043d\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441 \u0442\u0435\u0441\u0442\u043e\u0432\u044b\u043c \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u00abstandalone\u00bb.<\/li>\n<li>\u0428\u0430\u0431\u043b\u043e\u043d \u0434\u043e\u043b\u0436\u0435\u043d \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 (\u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u0435). \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u043a\u0430\u0441\u0430\u0435\u0442\u0441\u044f \u0438 \u0432\u0441\u0435\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 (JS \u0438 CSS \u0444\u0430\u0439\u043b\u044b).<\/li>\n<\/ul>\n<p>  \u0412 \u043e\u0431\u0449\u0435\u043c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c, \u0447\u0442\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u043e\u0441\u044c (\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u2013 <a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/blob\/master\/Flex\/kernel\/flex.ui.patterns.js\">flex.ui.patterns.js<\/a>).<\/p>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0444\u0430\u0439\u043b \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u2013 \u044d\u0442\u043e \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u043e html-\u0444\u0430\u0439\u043b. \u041a\u0430\u043a \u044d\u0442\u043e\u0442, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440:<\/p>\n<pre><code class=\"html\">&lt;!DOCTYPE html&gt; &lt;html xmlns=&quot;http:\/\/www.w3.org\/1999\/xhtml&quot;&gt; &lt;head&gt;     &lt;title&gt;Flex.Template&lt;\/title&gt;     &lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text\/html; charset=utf-8&quot;\/&gt;     &lt;link rel=&quot;stylesheet&quot; type=&quot;text\/css&quot; href=&quot;pattern.css&quot; \/&gt;     &lt;script type=&quot;text\/javascript&quot; src=&quot;controler.js&quot;&gt;&lt;\/script&gt; &lt;\/head&gt; &lt;body&gt;     &lt;div data-type=&quot;Pattern.Login&quot;&gt;         &lt;p&gt;Login&lt;\/p&gt;         {{login}}         &lt;p&gt;Password&lt;\/p&gt;         {{password}}         &lt;div data-type=&quot;Pattern.Controls&quot;&gt;{{controls}}&lt;\/div&gt;     &lt;\/div&gt; &lt;\/body&gt; &lt;\/html&gt; <\/code><\/pre>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c \u0437\u0430\u0434\u0430\u0447\u0430 \u21161 \u043f\u043e \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u044e \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u043a\u0430\u043a \u0444\u0430\u0439\u043b\u0430 \u0443\u0436\u0435 \u0440\u0435\u0448\u0435\u043d\u0430 (\u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0443 \u043e\u0447\u0435\u043d\u044c \u0431\u044b\u0441\u0442\u0440\u043e \u043e\u0442\u043b\u0430\u0434\u0438\u0442\u044c \u0441\u0442\u0438\u043b\u0438).<\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0441\u0442\u0438\u043b\u0438 \u0438 \u0441\u043a\u0440\u0438\u043f\u0442\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u044e\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u043c \u043e\u0431\u044b\u0447\u043d\u044b\u043c \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u043c, \u0447\u0435\u0440\u0435\u0437 link \u0438 script. \u0422\u0443\u0442 \u0442\u0430\u043a \u0436\u0435 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u00ab\u043a\u0440\u0430\u0441\u0438\u0432\u0435\u0435\u00bb (\u043d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434) \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u043f\u043e \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c \u043f\u0430\u043f\u043a\u0430\u043c.<\/p>\n<p>  \u0414\u0430\u043b\u044c\u0448\u0435 \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0435. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u043e\u043a\u043d\u043e \u0434\u043b\u044f \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u041d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 (\u0434\u043b\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u043c\u0435\u0441\u0442\u0430, \u043f\u0440\u0438\u0432\u043e\u0436\u0443 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0442\u0435\u0433\u0430 &lt;body&gt;). <\/p>\n<p>  (A) \u0428\u0430\u0431\u043b\u043e\u043d popup\u2019\u0430<\/p>\n<pre><code class=\"html\">    &lt;div data-style=&quot;Popup&quot; data-flex-ui-window-move-container=&quot;{{id}}&quot; data-flex-ui-window-resize-position-parent=&quot;{{id}}&quot; data-flex-ui-window-maximize=&quot;{{id}}&quot;&gt;         &lt;div data-style=&quot;Popup.Container&quot; data-flex-ui-window-resize-container=&quot;{{id}}&quot;&gt;             &lt;div data-style=&quot;Popup.Title&quot; data-flex-ui-window-move-hook=&quot;{{id}}&quot;&gt;                 &lt;p data-style=&quot;Popup.Title&quot;&gt;{{title}}&lt;\/p&gt;                 &lt;div data-style=&quot;Popup.Title.Switcher&quot; data-state=&quot;max&quot; data-flex-window-maximize-hook=&quot;{{id}}&quot;&gt;&lt;\/div&gt;             &lt;\/div&gt;             &lt;div data-style=&quot;Popup.Content&quot;&gt;{{content}}&lt;\/div&gt;             &lt;div data-style=&quot;Popup.Bottom&quot;&gt;                 &lt;p data-style=&quot;Popup.Bottom&quot; id=&quot;test_bottom_id&quot;&gt;{{bottom}}&lt;\/p&gt;                 &lt;div data-style=&quot;Window.Resize.Coner&quot;&gt;&lt;\/div&gt;             &lt;\/div&gt;         &lt;\/div&gt;     &lt;\/div&gt; <\/code><\/pre>\n<p>  (B) \u0428\u0430\u0431\u043b\u043e\u043d \u043e\u043a\u043d\u0430 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 (\u043e\u043d \u0443\u0436\u0435 \u0431\u044b\u043b \u0447\u0443\u0442\u044c \u0432\u044b\u0448\u0435)<\/p>\n<pre><code class=\"html\">    &lt;div data-type=&quot;Pattern.Login&quot;&gt;         &lt;p&gt;\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043b\u043e\u0433\u0438\u043d&lt;\/p&gt;         {{login}}         &lt;p&gt;\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043f\u0430\u0440\u043e\u043b\u044c&lt;\/p&gt;         {{password}}         &lt;div data-type=&quot;Pattern.Controls&quot;&gt;{{controls}}&lt;\/div&gt;     &lt;\/div&gt; <\/code><\/pre>\n<p>  ( C) \u0428\u0430\u0431\u043b\u043e\u043d \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u043f\u043e\u043b\u0435\u0439<\/p>\n<pre><code class=\"html\">   &lt;p&gt;\u0412\u0432\u0435\u0434\u0435\u043d\u043e: &lt;span&gt;{{::value}}&lt;\/span&gt;&lt;\/p&gt;     &lt;div data-type=&quot;TextInput.Wrapper&quot;&gt;         &lt;div data-type=&quot;TextInput.Container&quot;&gt;             &lt;input data-type=&quot;TextInput&quot; type=&quot;{{type}}&quot; value=&quot;{{::value}}&quot; name=&quot;TestInput&quot; \/&gt;         &lt;\/div&gt;     &lt;\/div&gt; <\/code><\/pre>\n<p>  (D) \u0418 \u0448\u0430\u0431\u043b\u043e\u043d \u043a\u043d\u043e\u043f\u043e\u043a<\/p>\n<pre><code class=\"html\">&lt;a data-type=&quot;Buttons.Flat&quot; id=&quot;{{id}}&quot;&gt;{{title}}&lt;\/a&gt; <\/code><\/pre>\n<p>  \u041f\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441\u0443 \u0435\u0441\u0442\u044c \u043f\u0430\u0440\u0430 \u043c\u043e\u043c\u0435\u043d\u0442\u043e\u0432. \u0412 \u0444\u0438\u0433\u0443\u0440\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 {{controls}} \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0437\u0430\u0446\u0435\u043f\u043a\u0438 (hooks). \u0414\u0430, \u043f\u043e\u0437\u0430\u0438\u043c\u0441\u0442\u0432\u043e\u0432\u0430\u043b \u0443 WordPress. \u0412 \u0444\u0438\u0433\u0443\u0440\u043d\u044b\u0445 \u0441\u043a\u043e\u0431\u043a\u0430\u0445 \u0441 \u0434\u0432\u043e\u0439\u043d\u044b\u043c \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u0435\u043c {{::value}} \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u0441 DOM \u0434\u0435\u0440\u0435\u0432\u043e\u043c \u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u0432 \u043c\u043e\u0434\u0435\u043b\u044c. \u0427\u0443\u0442\u044c \u043f\u043e\u0437\u0436\u0435 \u0432\u0441\u0435 \u0443\u0432\u0438\u0434\u0438\u0442\u0435. <\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0432\u044b\u0437\u043e\u0432 (\u0441\u0431\u043e\u0440\u043a\u0430) \u0438\u0442\u043e\u0433\u043e\u0432\u043e\u0433\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<pre><code class=\"javascript\">_node(document.body).ui().patterns().append({     url     : '\/patterns\/popup\/pattern.html', \/\/A     hooks   : {         id      : id,         title   : 'Login popup',         content : patterns.get({             url     : '\/patterns\/patterns\/login\/pattern.html',\/\/B             hooks   : {                 login   : patterns.get({                     url     : '\/patterns\/controls\/textinput\/pattern.html',\/\/C                     hooks   : { type: 'text' }                 }),                 password: patterns.get({                     url     : '\/patterns\/controls\/textinput\/pattern.html',\/\/C                     hooks   : { type: 'password' }                 }),                 controls: patterns.get({                     url     : '\/patterns\/buttons\/flat\/pattern.html',\/\/D                     hooks   : [{ title: '\u0412\u043e\u0439\u0442\u0438', id: 'login_button' }, { title: '\u0412\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f', id: 'cancel_button' }]                 }),             },             resources: {                 one: 'one',                 two: 'two'             },         })     },     callbacks: {         success: function (model, binds, map, resources) {             var instance = this;         }     }, }); <\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u0435\u0442\u043e\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u00ab\u0441\u043e\u0431\u0440\u0430\u043d\u043e\u00bb \u043e\u043a\u043d\u043e \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0438 \u043f\u0440\u0438\u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u043e \u043a \u0442\u0435\u0433\u0443 body. \u0421\u0430\u043c\u043e \u0441\u043e\u0431\u043e\u0439, \u043c\u0435\u0442\u043e\u0434 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e (\u0432\u0435\u0434\u044c \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043f\u0440\u0438 \u043f\u0435\u0440\u0432\u043e\u0439 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043f\u0440\u0438\u0434\u0435\u0442\u0441\u044f \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u0437\u0430 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0430), \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442. <br \/>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 success (\u0438\u0437 \u0441\u0435\u043a\u0446\u0438\u0438 callbacks). \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u0435\u0435 \u2013 \u0442\u0430\u043c \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0448\u0442\u0443\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0438. <\/p>\n<p>  <b>model <\/b> \u2013 \u044d\u0442\u043e \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043c\u043e\u0434\u0435\u043b\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0431\u044b\u043b\u0430 \u0441\u043e\u0431\u0440\u0430\u043d\u0430 \u043f\u043e\u0434 \u0434\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0448\u0430\u0431\u043b\u043e\u043d\u0430. \u0415\u0441\u043b\u0438 \u0432\u044b \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u0448\u0430\u0431\u043b\u043e\u043d \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044f &copy;, \u0442\u043e \u0443\u0432\u0438\u0434\u0438\u0442\u0435, \u0447\u0442\u043e \u043c\u044b \u0441\u0432\u044f\u0437\u0430\u043b\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 input.value \u0438 span.innerHTML (\u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0439 \u0432 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0430\u0440\u0430\u0433\u0440\u0430\u0444\u0435). \u0422\u0435\u043f\u0435\u0440\u044c, \u0435\u0441\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u0442\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f \u0438 \u043d\u0430\u0434\u043f\u0438\u0441\u044c \u043d\u0430\u0434 \u043d\u0438\u043c. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043c\u043e\u0436\u043d\u043e \u00ab\u0432\u043b\u0435\u0437\u0442\u044c \u0432 \u043c\u043e\u0434\u0435\u043b\u044c\u00bb \u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 input.value \u0447\u0435\u0440\u0435\u0437 \u043c\u043e\u0434\u0435\u043b\u044c, \u0430 \u0438\u043c\u0435\u043d\u043d\u043e:  <\/p>\n<ul>\n<li>model.__content__.__login__.value (\u0434\u043b\u044f \u043b\u043e\u0433\u0438\u043d\u0430) <\/li>\n<li>model.__content__.__password__.value (\u0434\u043b\u044f \u043f\u0430\u0440\u043e\u043b\u044f). <\/li>\n<\/ul>\n<p>  \u0417\u0430\u043c\u0435\u0442\u044c\u0442\u0435, \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430, \u043e\u0431\u0440\u0430\u043c\u043b\u0435\u043d\u043d\u044b\u0435 \u0432 \u0434\u0432\u043e\u0439\u043d\u043e\u0435 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u0435 __something__ \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0442 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u0430 (\u0435\u0433\u043e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443). <\/p>\n<p>  <b>binds <\/b>\u0441\u0432\u043e\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u0435\u0442 model. \u0422\u043e \u0435\u0441\u0442\u044c \u0432 binds \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438 model.__content__.__login__.value \u0438 model.__content__.__password__.value. \u041d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u0432\u0430\u043c \u0431\u0443\u0434\u0435\u0442 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e \u043d\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 [value], \u0430 \u0434\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430: addHandle(handle) \u0438 removeHandle(id). \u041a\u0430\u043a \u0432\u044b \u0443\u0436\u0435 \u0434\u043e\u0433\u0430\u0434\u0430\u043b\u0438\u0441\u044c, \u0442\u0430\u043a \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u00ab\u043f\u043e\u0434\u0446\u0435\u043f\u0438\u0442\u044c\u00bb \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u0430\u043a \u043f\u0440\u0438 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043c\u043e\u0434\u0435\u043b\u0438 \u043d\u0430\u043f\u0440\u044f\u043c\u0443\u044e (\u0447\u0435\u0440\u0435\u0437 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432 model), \u0442\u0430\u043a \u0438 \u0435\u0441\u043b\u0438 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u0441\u044f DOM (\u0442\u043e \u0435\u0441\u0442\u044c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 input).<\/p>\n<p>  <b>map <\/b>\u2013 \u044d\u0442\u043e \u0441\u0441\u044b\u043b\u043a\u0438 \u043d\u0430 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0435 \u0443\u0437\u043b\u044b \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e hook\u2019a. \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u2013 \u044d\u0442\u043e \u043a\u0430\u0440\u0442\u0430 \u0443\u0437\u043b\u043e\u0432 \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0430. \u041e\u043d\u0430 \u043c\u043e\u0436\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0446\u0435\u043b\u0435\u0439, \u043d\u043e \u043b\u0438\u0447\u043d\u043e \u043c\u043d\u0435 \u043e\u043d\u0430 \u043f\u0440\u0438\u0433\u043e\u0436\u0434\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0430 \u043f\u0440\u0438 \u043f\u043e\u0438\u0441\u043a\u0435 \u0443\u0437\u043b\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u043b\u0435\u043a\u0442\u043e\u0440\u044b. <\/p>\n<p>  \u0418 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0435, \u044d\u0442\u043e <b>resources<\/b>. \u042d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u0441\u043f\u043e\u043c\u043e\u0433\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043d\u0430 \u043c\u0435\u0442\u043e\u0434, \u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0438\u0439 \u0448\u0430\u0431\u043b\u043e\u043d. \u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u0442\u0430\u043c \u0435\u0441\u0442\u044c \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0435 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u043e. \u0412\u043e\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u043e\u043d\u043e \u0438 \u0431\u0443\u0434\u0435\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u043e \u0437\u0434\u0435\u0441\u044c.<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u0434\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a \u043f\u0435\u0440\u0432\u043e\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u0440\u0443. \u041a\u0430\u043a \u044f \u0438 \u0441\u043a\u0430\u0437\u0430\u043b, \u043c\u044b \u0432\u043e\u043b\u044c\u043d\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c \u043b\u044e\u0431\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e JS \u0438 CSS \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043a \u0448\u0430\u0431\u043b\u043e\u043d\u0443.<\/p>\n<pre><code class=\"html\">    &lt;link rel=&quot;stylesheet&quot; type=&quot;text\/css&quot; href=&quot;pattern.css&quot; \/&gt;     &lt;script type=&quot;text\/javascript&quot; src=&quot;controler.js&quot;&gt;&lt;\/script&gt;     &lt;script type=&quot;text\/javascript&quot; src=&quot;http:\/\/ajax.googleapis.com\/ajax\/libs\/jquery\/1.8.2\/jquery.min.js&quot;&gt;&lt;\/script&gt; <\/code><\/pre>\n<p>  \u0418\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0447\u0430\u0442\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u0441\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u044b. \u041d\u0443 \u0438 \u0441\u0430\u043c\u043e \u0441\u043e\u0431\u043e\u0439 \u0440\u0430\u0437\u0443\u043c\u0435\u044e\u0449\u0435\u0435\u0441\u044f, \u0432\u0441\u0435 \u00ab\u0441\u043a\u043b\u0430\u0434\u0438\u0440\u0443\u0435\u0442\u0441\u044f\u00bb \u0432 localStorage \u0438 \u043f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u043e\u0442\u0442\u0443\u0434\u0430 \u0432\u043c\u0435\u0441\u0442\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443. <\/p>\n<p>  \u041d\u043e \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043d\u0430\u043c \u0432\u0430\u0436\u043d\u0430 \u043d\u0435 \u0441\u0430\u043c\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f JQ \u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0432\u0437\u044f\u0442\u043e\u043c\u0443 \u0448\u0430\u0431\u043b\u043e\u043d\u0443, \u0430 \u0444\u0430\u0439\u043b\u0438\u043a controller.js. \u041e\u043d, \u043a\u0441\u0442\u0430\u0442\u0438, \u043d\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043c\u043e\u0436\u0435\u0442 \u043a\u0430\u043a \u0443\u0433\u043e\u0434\u043d\u043e, \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0447\u0442\u043e \u0442\u0430\u043c \u0432\u043d\u0443\u0442\u0440\u0438. \u0410 \u0432\u043d\u0443\u0442\u0440\u0438 \u2013 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440:<\/p>\n<pre><code class=\"javascript\">_controller(function (model, binds, map, resources) {     var instance    = this,         clone       = null;     clone = instance.clone({         id      : 'clonned_pattern',         title   : 'Clonned dialog window',         content : {             login: {                 type: 'text',             },             password: {                 type: 'password',             },             controls: [{ title: 'login', id: 'login_button' }, { title: 'cancel', id: 'cancel_button' }],         }     });     \/\/Do something; });  <\/code><\/pre>\n<p>  \u0421 \u0430\u0440\u0433\u0443\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0430 \u044f \u0432\u0430\u0441 \u0443\u0436\u0435 \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b (\u043e\u043d\u0438 \u0442\u0430\u043a\u0438\u0435 \u0436\u0435 \u043a\u0430\u043a \u0432 callbacks.success). \u041c\u043d\u0435 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c, \u0447\u0442\u043e, \u043f\u043e\u043b\u0443\u0447\u0438\u0432 \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440 \u0448\u0430\u0431\u043b\u043e\u043d\u0430, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043a\u043b\u043e\u043d\u044b. \u0417\u0430\u043c\u0435\u0442\u044c\u0442\u0435, \u0447\u0442\u043e \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u043e\u043d\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0448\u0430\u0431\u043b\u043e\u043d\u0430.<\/p>\n<p>  \u041a\u043e\u043d\u0442\u0440\u043e\u043b\u0435\u0440 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0437\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u0441\u044f\u043a\u0438\u0439 \u0440\u0430\u0437 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0430, \u043d\u043e \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043a\u043b\u043e\u043d\u0430.<\/p>\n<p>  \u041d\u0443 \u0438 \u043d\u0430\u043a\u043e\u043d\u0435\u0446 \u043e \u0442\u043e\u043c, \u0440\u0430\u0434\u0438 \u0447\u0435\u0433\u043e \u0432\u0441\u0435 \u044d\u0442\u043e \u0437\u0430\u0442\u0435\u0432\u0430\u043b\u043e\u0441\u044c. \u0415\u0441\u043b\u0438 \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0448\u0430\u0431\u043b\u043e\u043d (\u0431\u0435\u0437 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u0438 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u043e\u0432), \u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u0435\u0433\u043e \u043e\u0442\u0440\u044b\u0442\u044c \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043e\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u0430\u043a html-\u0444\u0430\u0439\u043b \u0438 \u043e\u0442\u043b\u0430\u0434\u0438\u0442\u044c \u0441\u0442\u0438\u043b\u0438. \u0411\u044b\u0441\u0442\u0440\u043e \u0438 \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e. <\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0436\u0435 \u043d\u0430\u0448 \u0448\u0430\u0431\u043b\u043e\u043d \u0438\u043c\u0435\u0435\u0442 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c, \u0434\u0430 \u0435\u0449\u0435 \u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440, \u0442\u043e \u0434\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u043d\u0430\u043c \u0432\u0441\u0435\u0433\u043e-\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 html-\u0444\u0430\u0439\u043b \u0434\u043b\u044f \u0442\u0435\u0441\u0442\u0430. \u0415\u0433\u043e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u2013 \u044d\u0442\u043e \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u043e copy\/paste. <\/p>\n<p>  \u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0434\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0441 \u0432\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0438\u043c \u043e\u043a\u043d\u043e\u043c \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438<\/p>\n<pre><code class=\"html\">&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt;     &lt;title&gt;&lt;\/title&gt; \t&lt;meta charset=&quot;utf-8&quot; \/&gt;     &lt;script type=&quot;text\/javascript&quot; src=&quot;..\/..\/..\/kernel\/flex.core.js&quot;&gt;&lt;\/script&gt; &lt;\/head&gt; &lt;body&gt;     &lt;script&gt;         function flexPatternTest() {             var id          = flex.unique(),                 patterns    = flex.libraries.ui.patterns.create(),                 _pattern    = patterns.get({                 url     : '\/patterns\/popup\/pattern.html',                 node    : document.body,                 hooks   : {                     id      : id,                     title   : 'Test dialog window',                     content : patterns.get({                         url     : '\/patterns\/patterns\/login\/pattern.html',                         hooks   : {                             login       : patterns.get({                                 url     : '\/patterns\/controls\/textinput\/pattern.html',                                 hooks   : {                                     type: 'text',                                 }                             }),                             password    : patterns.get({                                 url     : '\/patterns\/controls\/textinput\/pattern.html',                                 hooks   : {                                     type: 'password',                                 }                             }),                             controls    : patterns.get({                                 url     : '\/patterns\/buttons\/flat\/pattern.html',                                 hooks   : [{ title: 'login', id: 'login_button' }, { title: 'cancel', id: 'cancel_button' }]                             }),                         }                     })                 },                 callbacks: {                     success: function (model, binds, map, resources) {                         var instance = this,                     }                 }             }).render();         };         flexPatternTest.include = [             'ui.window.move',             'ui.window.resize',         ];         flexPatternTest.exclude = [             'flex.presentation',         ];     &lt;\/script&gt; &lt;\/body&gt; &lt;\/html&gt; <\/code><\/pre>\n<p>  \u0412\u0441\u0435 \u0447\u0442\u043e \u043c\u044b \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u2013 \u044d\u0442\u043e \u00ab\u043f\u0440\u0438\u0446\u0435\u043f\u0438\u043b\u0438\u00bb flex \u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u044e [flexPatternTest]. \u041a\u0430\u043a \u0442\u043e\u043b\u044c\u043a\u043e flex \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f, \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0435\u0434\u043f\u0440\u0438\u043d\u044f\u0442\u0430 \u043f\u043e\u043f\u044b\u0442\u043a\u0430 \u043d\u0430\u0439\u0442\u0438 \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c. Profit \u2013 \u0432\u0430\u0448 \u0448\u0430\u0431\u043b\u043e\u043d \u0437\u0430\u043f\u0443\u0449\u0435\u043d \u0441\u043e \u0432\u0441\u0435\u0439 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0439 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u201cstandalone\u201d. <br \/>  \u0417\u0430\u043c\u0435\u0447\u0443, \u0447\u0442\u043e \u043a\u0430\u043a \u0432\u0438\u0434\u043d\u043e \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u0440\u0430, \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u043c\u043e\u0434\u0443\u043b\u0438 \u0438\u0437 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435, \u0447\u0435\u0440\u0435\u0437 \u0441\u0432\u043e\u0439\u0441\u0442\u0432\u0430 [exclude] \u0438 [include] \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e. <\/p>\n<p>  \u041f\u0435\u0440\u0432\u0430\u044f \u00ab\u0441\u0431\u043e\u0440\u043a\u0430\u00bb \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u0433\u043e \u0432 \u043f\u0440\u0438\u043c\u0435\u0440 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442 \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c 200 \u2013 300 \u043c\u0441.; \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 100 \u2013 150 \u043c\u0441. <\/p>\n<p>  \u041d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 (<a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/blob\/master\/Flex\/kernel\/flex.ui.patterns.js\">flex.ui.patterns.js<\/a>) \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0442\u0435\u0433\u0430 &lt;body&gt; (\u0447\u0442\u043e \u0434\u0430\u0435\u0442 \u043d\u0430\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 html-\u0444\u0430\u0439\u043b\u0430\u0445 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0442\u043e\u043b\u044c\u043a\u043e \u044d\u0442\u043e\u0442 \u0442\u0435\u0433 (\u0435\u0441\u043b\u0438 \u043d\u0435 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 JS \u0438\u043b\u0438 CSS)); \u0437\u0430\u0442\u0435\u043c \u0441\u0442\u0440\u043e\u0438\u0442 DOM-\u0434\u0435\u0440\u0435\u0432\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0438 \u0432\u0441\u0435 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u0435 \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0441 DOM-\u0434\u0435\u0440\u0435\u0432\u043e\u043c. \u0422\u0430\u043a\u043e\u0439 \u0440\u0435\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0430 10-15% (\u043f\u043e \u043c\u043e\u0438\u043c \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u044f\u043c) \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435, \u0435\u0441\u043b\u0438 \u0431\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c innerHTML. \u041e\u0434\u043d\u0430\u043a\u043e \u044f \u0441\u0442\u0430\u0440\u0430\u043b\u0441\u044f \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0441\u0431\u0430\u043b\u0430\u043d\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u00ab\u043e\u0442\u0442\u044f\u043d\u0443\u0442\u044c\u00bb \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0430\u0447\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 DOM \u0434\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e. <\/p>\n<p>  \u0418 \u0432\u0441\u0435 \u0436\u0435 \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u0447, \u0433\u0434\u0435 \u043f\u0443\u0441\u0442\u044c \u0438 \u0435\u0441\u0442\u044c \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432, \u043d\u043e \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0438 \u0432 \u043c\u043e\u0434\u0435\u043b\u0438, \u043d\u0438 \u0432 DOM-\u043a\u0430\u0440\u0442\u0435 \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u043e\u0433\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0430, \u043d\u0438 \u0432 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440\u0435, \u044f \u0441\u0434\u0435\u043b\u0430\u043b \u0448\u0430\u0431\u043b\u043e\u043d\u0438\u0437\u0430\u0442\u043e\u0440-light \u2013 <a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/blob\/master\/Flex\/kernel\/flex.ui.templates.js\">flex.ui.templates.js<\/a>. \u041e\u0442\u043b\u0438\u0447\u0438\u0435 \u043a\u0430\u043a \u0440\u0430\u0437 \u0432 \u043f\u043e\u0434\u0445\u043e\u0434\u0435, \u0435\u0441\u043b\u0438 flex.ui.patterns.js \u043f\u0440\u0435\u0438\u043c\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441 DOM \u0434\u0435\u0440\u0435\u0432\u043e\u043c, \u0442\u043e flex.ui.templates.js \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e \u0434\u043e\u043b\u0433\u043e \u00ab\u0432\u043e\u0437\u0438\u0442\u0441\u044f\u00bb \u0441 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u043c\u0438 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f\u043c\u0438, \u043f\u043e\u0434\u043c\u0435\u043d\u044f\u044f hooks \u0432 innerHTML \u0438 \u00ab\u0441\u043e\u0431\u0438\u0440\u0430\u044f\u00bb DOM-\u0434\u0435\u0440\u0435\u0432\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u043c\u043e\u043c\u0435\u043d\u0442.<\/p>\n<p>  \u0412\u043e\u0442 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440(\u044b) \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0443 \u043c\u0435\u043d\u044f \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f. \u041d\u043e, \u0438\u0434\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n<h4><b>\u0410 \u043f\u0440\u0438 \u0447\u0435\u043c \u0437\u0434\u0435\u0441\u044c JQ?<\/b><\/h4>\n<p>  \u0414\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435 \u044f \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u043b \u043e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435 JQuery. \u0423 \u043c\u0435\u043d\u044f \u043a \u043d\u0435\u0439 \u043e\u0447\u0435\u043d\u044c \u0441\u043c\u0435\u0448\u0435\u043d\u043d\u044b\u0435 \u0447\u0443\u0432\u0441\u0442\u0432\u0430. \u0421 \u043e\u0434\u043d\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b, \u043e\u043d\u0430 \u043d\u0435\u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e \u0443\u0434\u043e\u0431\u043d\u0430. \u0421 \u0434\u0440\u0443\u0433\u043e\u0439, \u044f \u0438\u043d\u043e\u0433\u0434\u0430 \u0441\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u044e\u0441\u044c \u0441 \u0442\u0430\u043a\u0438\u043c \u043a\u043e\u0434\u043e\u043c (\u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c \u0432 \u0441\u0442\u0438\u043b\u0435 JQ), \u0441 \u0442\u0430\u043a\u0438\u043c\u0438 \u0446\u0435\u043f\u043e\u0447\u043a\u0430\u043c\u0438, \u0447\u0442\u043e \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0437\u0430\u0441\u0442\u0440\u0435\u043b\u0438\u0442\u044c\u0441\u044f, \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0437\u0430\u0441\u0442\u0440\u0435\u043b\u0438\u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430. <\/p>\n<p>  \u041a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442, \u043d\u043e, \u043a\u0430\u043a \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f JQ \u0441\u0438\u043b\u044c\u043d\u043e \u0440\u0430\u0441\u0441\u043b\u0430\u0431\u043b\u044f\u0435\u0442 \u0447\u0442\u043e \u043b\u0438. \u041d\u0435 \u0437\u043d\u0430\u044e. \u0412 \u043e\u0431\u0449\u0435\u043c \u043f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u044f \u0441\u0442\u0440\u0435\u043c\u043b\u044e\u0441\u044c \u043e\u0442 JQ \u043e\u0442\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u043d\u0435 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445. <\/p>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e, \u0442\u0430\u043a\u0430\u044f \u043a\u043b\u0435\u0432\u0430\u044f \u0448\u0442\u0443\u043a\u0430 \u043a\u0430\u043a \u0443\u043f\u043e\u043c\u044f\u043d\u0443\u0442\u044b\u0435 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u043c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f, \u043d\u043e \u043d\u0435 \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0443 JQ. \u041c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0441\u0430\u043c\u0430 \u043a\u043e\u043d\u0446\u0435\u043f\u0446\u0438\u044f, \u0447\u0442\u043e \u0435\u0441\u0442\u044c \u043d\u0435\u043a\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f-\u043e\u0431\u0435\u0440\u0442\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442 \u0438\u043b\u0438 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0445\u043e\u0434\u043d\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442, \u0430 \u0434\u0430\u043b\u044c\u0448\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u0430 \u0442\u0435\u0445 \u0438\u043b\u0438 \u0438\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u043a \u043d\u0435\u043c\u0443 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u044b. <\/p>\n<p>  \u041f\u043e\u0441\u0435\u043c\u0443 \u0443 \u0441\u0435\u0431\u044f \u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b \u043f\u044f\u0442\u044c \u0442\u0438\u043f\u043e\u0432 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432:  <\/p>\n<ul>\n<li>_node \u2013 \u043e\u0434\u0438\u043d \u0443\u0437\u0435\u043b;<\/li>\n<li>_nodes \u2013 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0443\u0437\u043b\u043e\u0432;<\/li>\n<li>_array \u2013 \u043c\u0430\u0441\u0441\u0438\u0432;<\/li>\n<li>_object \u2013 \u043e\u0431\u044a\u0435\u043a\u0442;<\/li>\n<li>_string \u2013 \u0441\u0442\u0440\u043e\u043a\u0430.<\/li>\n<\/ul>\n<p>  \u042d\u0442\u043e \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u00ab\u043e\u0431\u0435\u0440\u0442\u043a\u0438\u00bb. \u0418\u0445 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u0438\u0437 \u043b\u044e\u0431\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u043a\u043e\u0434\u0430 \u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0432\u0440\u043e\u0434\u0435 \u044d\u0442\u043e\u0433\u043e:<\/p>\n<pre><code class=\"javascript\">_nodes('.buttons').events().add('click', function (event) {     \/\/Do something });  var pos = _node('#this_button').html().position().byPage();  _object(some_object).forEach(function (key, value) {     \/\/Do something }); <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043c\u0435\u043d\u044f \u0431\u044b\u043b \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u0435\u043d \u043c\u043e\u043c\u0435\u043d\u0442 \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u043a\u0438. \u041a\u0430\u043a \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u0438\u0434\u0435\u0442\u044c, \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0437\u0438\u0446\u0438\u0438 \u0443\u0437\u043b\u0430 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 [html.position], \u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0441\u043e\u0431\u044b\u0442\u0438\u0439 \u0432 \u0433\u0440\u0443\u043f\u043f\u0435 [events]. \u041d\u0430 \u043c\u043e\u0439 \u0441\u0443\u0431\u044a\u0435\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0432\u0437\u0433\u043b\u044f\u0434 \u044d\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u043a\u043e\u0434 \u0431\u043e\u043b\u0435\u0435 \u044f\u0441\u043d\u044b\u043c, \u043f\u043e\u0442\u043e\u043c\u0443 \u043a\u0430\u043a \u0442\u0430 \u0436\u0435 \u043f\u043e\u0437\u0438\u0446\u0438\u044f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0430 \u0438 \u043a\u0430\u043a [byPage()], \u0438 \u043a\u0430\u043a [byWindow()]. <\/p>\n<p>  \u041f\u0440\u0438 \u0447\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u043e\u0433\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0430 \u0434\u0435\u043b\u043e \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0438 \u043d\u0435 \u0437\u0430\u0442\u0435\u0439\u043b\u0438\u0432\u043e\u0435. <\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0434\u0432\u0430 \u043c\u0435\u0442\u043e\u0434\u0430: \u0441\u043e\u043a\u0440\u044b\u0442\u0438\u0435 \u0438 \u043f\u043e\u043a\u0430\u0437 \u0443\u0437\u043b\u0430.<\/p>\n<pre><code class=\"javascript\">flex.callers.define.node('html.hide', function () {     if (this.target) {         this.target.__previous_display = this.target.style.display;         this.target.style.display = 'none';     } }); flex.callers.define.node('html.show', function () {     if (this.target) {         this.target.style.display = this.target.__previous_display !== void 0 ? this.target.__previous_display : '';         delete this.target.__previous_display;     } }); <\/code><\/pre>\n<p>  \u0418 \u0442\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432\u043d\u043e\u0432\u044c \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438.<\/p>\n<pre><code class=\"javascript\">_node('.buttons').html().hide(); _node('.buttons').html().show(); <\/code><\/pre>\n<h4><b>***<\/b><\/h4>\n<p>  \u041d\u0443 \u0432\u043e\u0442. \u0422\u0435\u043f\u0435\u0440\u044c \u043a\u0430\u0436\u0435\u0442\u0441\u044f \u0432\u0441\u0435. \u041e\u0447\u0435\u043d\u044c \u043d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u0432\u044b \u043d\u0435 \u0443\u0441\u043d\u0443\u043b\u0438, \u0430 \u0435\u0441\u043b\u0438 \u0438 \u0443\u0441\u043d\u0443\u043b\u0438, \u0442\u043e \u0432\u044b\u0441\u043f\u0430\u043b\u0438\u0441\u044c (\u0447\u0442\u043e \u0434\u043b\u044f \u043b\u044e\u0434\u0435\u0439 \u043d\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u0438 \u2013 \u043f\u0440\u0430\u0437\u0434\u043d\u0438\u043a). <\/p>\n<p>  \u0412\u0430\u0436\u043d\u043e \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c, \u0447\u0442\u043e \u0432\u0441\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u0432\u044b\u0448\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u043b\u043e\u0441\u044c \u00ab\u043f\u043e\u0434 \u0441\u0435\u0431\u044f\u00bb, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0442 \u043a\u0430\u043a\u043e\u0439 \u0431\u044b \u0442\u043e \u043d\u0435 \u0431\u044b\u043b\u043e \u043f\u0440\u0438\u0435\u043c\u043b\u0435\u043c\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f API, \u0445\u043e\u0442\u044f \u043d\u0430 github \u0435\u0441\u0442\u044c \u0444\u0430\u0439\u043b\u044b, \u0441\u043e\u0437\u0434\u0430\u044e\u0449\u0438\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u0443\u044e \u043f\u043e\u0434\u0441\u0432\u0435\u0442\u043a\u0443 \u043a\u043e\u0434\u0430 (intellisense) \u0434\u043b\u044f Visual Studio. \u0418\u043c\u0435\u043d\u043d\u043e \u0438\u0437-\u0437\u0430 \u043d\u0438\u0445, \u0437\u0430\u0441\u0440\u0430\u043d\u0446\u0435\u0432, \u044f \u0434\u043e \u0441\u0438\u0445 \u043f\u043e\u0440 \u043d\u0435 \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u043b \u0441\u0435\u0431\u044f \u043e\u043f\u0438\u0441\u0430\u0442\u044c API \u2013 \u0432\u0435\u0434\u044c \u0432\u0441\u0435 \u043f\u043e\u0434\u0441\u0432\u0435\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f.<\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435 \u043c\u043d\u043e\u0433\u043e \u0431\u0430\u0433\u043e\u0432 \u0438 \u043c\u0435\u0441\u0442 \u0434\u043b\u044f \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u0432\u0435\u0434\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u043d \u0432\u0435\u0441\u044c\u043c\u0430 \u00ab\u043c\u0435\u0441\u0442\u0435\u0447\u043a\u043e\u0432\u043e\u00bb, \u0447\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0440\u044b\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u0441\u043e\u0431\u043e\u0432 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0433\u0434\u0435 \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0431\u044b\u0442\u044c \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u044b \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u043d\u0435\u0434\u043e\u0440\u0430\u0431\u043e\u0442\u043a\u0438. \u0415\u0441\u0442\u044c \u0438 \u043d\u0435\u0440\u0435\u0448\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446, \u0432\u0441\u0435 hook\u2019\u0438, \u0432\u043d\u0443\u0442\u0440\u0438 &lt;table&gt; \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0442\u044c \u043a\u0430\u043a html-\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 \u2014 &lt;!&#8212;{{rows}}&#8212;&gt;. <\/p>\n<p>  \u041e\u0447\u0435\u043d\u044c \u0432\u043e\u043b\u043d\u0443\u044e\u0441\u044c \u0432 \u043f\u0440\u0435\u0434\u0434\u0432\u0435\u0440\u0438\u0438 \u0432\u0430\u0448\u0435\u0439 \u0440\u0435\u0430\u043a\u0446\u0438\u0438, \u043d\u043e \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0441\u0435\u0431\u044f \u0432 \u0440\u0443\u043a\u0430\u0445. \u0412 \u043b\u044e\u0431\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u0430\u0448\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<\/p>\n<p>  P.S.<br \/>  \u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0441\u044b\u043b\u043e\u043a:  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/DmitryAstafyev\/Flex-v.2\/tree\/master\/Flex\/kernel\">github<\/a><\/li>\n<li><a href=\"http:\/\/flex.astafyev.net\/\">promo<\/a><\/li>\n<li><a href=\"http:\/\/charts.astafyev.net\/\">example<\/a><\/li>\n<\/ul>\n<div class=\"clear\"><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habrahabr.ru\/post\/282041\/\"> https:\/\/habrahabr.ru\/post\/282041\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>       \u0418\u0437\u043e\u0431\u0440\u0435\u0442\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0435\u0433\u043e \u00ab\u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0433\u043e\u00bb \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434\u0430 \u0441\u0447\u0438\u0442\u0430\u044e \u0434\u0435\u043b\u043e\u043c \u0432\u0435\u0441\u044c\u043c\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u0435\u0441\u043b\u0438: \u044d\u0442\u043e \u043d\u0435 \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u0435\u0442 \u043e\u0442 \u0440\u0430\u0431\u043e\u0442\u044b (\u0438\u043b\u0438 \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u0435\u0442, \u043d\u043e \u043d\u0435 \u0441\u0438\u043b\u044c\u043d\u043e); \u0434\u0430\u0435\u0442 \u043d\u0435\u043a\u0438\u0439 \u043d\u043e\u0432\u044b\u0439 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u043f\u044b\u0442; \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u044b \u043c\u043e\u0436\u043d\u043e \u0433\u0434\u0435-\u0442\u043e \u043a\u0430\u043a-\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c; \u0441\u0430\u043c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0432 \u043a\u0430\u0439\u0444. \u041e\u0442 \u0442\u043e\u0433\u043e \u044f \u0438 \u043e\u0442\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043b\u0441\u044f, \u043d\u0430\u0447\u0430\u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0432\u043e\u0439 \u00ab\u0432\u0435\u043b\u0438\u043a\u00bb \u0433\u043e\u0434\u0430 3 \u043d\u0430\u0437\u0430\u0434 \u0438, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0440\u0430\u0437\u0430 3-4 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0432 \u0435\u0433\u043e \u043a \u0441\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0435\u043c\u0443 \u0434\u043d\u044e. <\/p>\n<h4><b>\u0410 \u043d\u0430\u0447\u0430\u043b\u043e\u0441\u044c \u0432\u0441\u0435 \u0441 \u0437\u0430\u0433\u0440\u0443\u0437\u0447\u0438\u043a\u0430 \u0438 JQ<\/b><\/h4>\n<p>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-278700","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/278700","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=278700"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/278700\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=278700"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=278700"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=278700"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}