Сегодня, несмотря на то, что редакция блога находится в дальних краях, я предлагаю вам посмотреть на прекрасную и совсем-не-огненно-красную Карис ван Хаутен. Оказывается, она, помимо исполнения различных ролей, ещё и отлично поёт. Скорее нажимайте «Play» и слушате красивую песню: Siren or the Sea.
Всего через несколько часов редакция блога в полном составе отправляется в поездку по Европе. Нас ждёт много поездов, отелей/хостелов и достопримечательностей, и, конечно, один самолёт, который благополучно вернёт нас из отпуска.
Не скучайте и постарайтесь провести остаток лета как следует.
Сегодня будем слушать эпическую музыку. Есть такая команда из Калифорнии — Two Steps from Hell, которая занимается производством музыки для трейлеров к голливудским фильмам. И они иногда выпускают диски со своими творениями. Вот несколько весьма интересных произведений. Я думаю вы потом сами без труда найдёте ещё, если музыка понравится.
Или вот не такая эпичная, но одна из самых любимых, ведь именно с нее началось моё знакомство с этой командой.
Я думаю, самое время разбавить рубрику кельтской музыкой. Встречайте, канадский скрипач Ashley MacIsaac, играющий в жанре Celtic Fusion.
Иногда, когда пишешь приложение на Sencha Touch или Ext JS, очень нужно отследить порядок событий в различных компонентах и передаваемые в обработчики параметры. Зачастую это помогает лучше понять, что происходит и в самом фреймворке. Мне это тоже иногда необходимо, поэтому я написал небольшой миксин, который можно встраивать в свои компоненты.
Вариант для Sencha Touch:
Ext.define('Ext.debug.ShowEvents', {
requires: ['Ext.mixin.Observable'],
onClassMixedIn: function (cls) {
cls.prototype.fireEvent = function () {
console.log.apply(console, arguments);
Ext.mixin.Observable.prototype.fireEvent.apply(this, arguments);
};
}
});
Вариант для Ext JS:
Ext.define('Ext.debug.ShowEvents', {
requires: ['Ext.util.Observable'],
onClassMixedIn: function (cls) {
cls.prototype.fireEvent = function () {
console.log.apply(console, arguments);
Ext.util.Observable.prototype.fireEvent.apply(this, arguments);
};
}
});
Не забудьте указать фреймворку, где этот файл лежит. Использовать его нужно приблизительно так:
Ext.define('App.view.MyComponent', {
extend: 'Ext.Component',
mixins: ['Ext.debug.ShowEvents'],
...
});
Вместо Ext.Component
подойдет любой класс с Ext.mixin.Observable
(Ext.util.Observable
для Ext JS). Теперь в консоли вы увидите все события, которые генерирует этот класс.
Если что-то непонятно, можно спросить в комментариях.