Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Неточности в примерах yblock.md #26

Closed
dracowf opened this issue Jul 16, 2015 · 9 comments
Closed

Неточности в примерах yblock.md #26

dracowf opened this issue Jul 16, 2015 · 9 comments

Comments

@dracowf
Copy link

dracowf commented Jul 16, 2015

Давайте отредактируем pages/test-page/test-page.page.js, чтобы у вас получилось как у меня:

module.exports = function (pages) {
    pages.declare('test-page', function (params) {
        var options = params.options;
        return {
            block: 'page',
            title: 'test page',
            styles: [
                {url: options.assetsPath + '.css'}
            ],
            scripts: [
                {url: options.assetsPath + '.js'}
            ],
            body: [
                {
                    block: 'form'
                }
            ]
        };
    });
};

По-моему нужно:

{url: options.assetsPath + '.' + params.lang + '.js'}

=) И ещё, если в input.bt.js оставить так:

bt.setDefaultView('input', 'normal');

То стили не сработают, т.к. мы не прописывали для normal стили =)

а вот, если заменить на

bt.setDefaultView('input', 'large');

то работает! :)
Ну или создать отдельный стиль для normal =-)
И почему-то блюр помимо снятия фокуса ещё и удаляет инпут вообще.

this._greetingInput.blur();

И не срабатывает последовательное disable, а потом enable. =)
Спасибо за труды! Очень круто =)

@makishvili
Copy link
Member

Всё поправлю.
То, что блюр удаляет инпут - не видел, воспроизведу, исправлю.

А насчёт последнего хочу спросить ехидным голосом: "А зачем вы делаете последовательно disable, а потом enable? Не делайте" ;)

@dracowf
Copy link
Author

dracowf commented Jul 16, 2015

Хорошо) Ради науки!
А так, надеялся, что enable воскресит disable, что, кстати, и происходит, когда это пробовать делать не через экземпляр класса (_greetingInput), а в самом классе.

// Обрабатываем клик по крестику
                this._bindTo(this._clear, 'click', this._onClearClicked);

                this._bindTo(this._clear, 'click', this.disable);
                this._bindTo(this._clear, 'click', this.enable);

@dracowf dracowf closed this as completed Jul 16, 2015
@makishvili makishvili reopened this Jul 16, 2015
@makishvili
Copy link
Member

Я закрою, когда исправлю остальные недочёты. Но уже не сегодня :)

@makishvili
Copy link
Member

Александр, не могу воспроизвести кейс, когда вызова блюра на инпуте удаляет инпут.

Покажите, пожалуйста, код модуля form.js

makishvili added a commit that referenced this issue Jul 18, 2015
@dracowf
Copy link
Author

dracowf commented Jul 18, 2015

Может так вообще не стоит делать? :)
В конструкторе задавать снятие состояния...

modules.define(
    'form',
    ['inherit', 'block', 'input'],
    function (provide, inherit, YBlock, Input) {
        var form = inherit(YBlock, {
            __constructor: function () {
                this.__base.apply(this, arguments);
                console.log("!");
                // Создаём инпут
                this._greetingInput = new Input();
                this._greetingInput.setValue('Привет, Бивис!');

                //this._greetingInput.focus();
                this._greetingInput.blur();
                //this._greetingInput.disable();
                //this._greetingInput.enable();

                // Рендерим форму
                this._render();
            },

            /**
             * Рендерит все контролы в форме
             */
            _render: function () {
                var form = this.getDomNode();
                var greeting = this._greetingInput.getDomNode();

                greeting.appendTo(form);
            }
        }, {
            getBlockName: function () {
                return 'form';
            }
        });

        provide(form);
    });

@dracowf
Copy link
Author

dracowf commented Jul 18, 2015

. P.S. Смотрю на труд ваш - Спасибо!:)

@makishvili
Copy link
Member

Как мне кажется, не бывает такой реальной задачи, чтобы в конструкторе Инпута приходилось сразу блюрить инпут.

@makishvili makishvili changed the title Почти работает :) Неточности в примерах yblock.md Jul 22, 2015
@makishvili
Copy link
Member

Саша, закроем или есть вопросы, на которые я не ответил?

@dracowf
Copy link
Author

dracowf commented Jul 22, 2015

Всё отлично, можно закрывать =)

@dracowf dracowf closed this as completed Jul 22, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants