domCreated — не работает изменение размеров

Стартовая страница Форумы Ошибки в работе Ошибки Веб domCreated — не работает изменение размеров

Просмотр 15 сообщений - с 1 по 15 (из 20 всего)
  • Автор
    Записи
  • #44863
    manjey73
    Участник

    Аналогично переменным boolean не работает изменение размера (size) в скрипте domCreated

    Меняем что-то, размер применился, сохраняем, обновляем, размер тот, который выставлен для компонента в фейсплейте.

    Что еще не работает, я не знаю…

    #44869
    Mikhail
    Модератор

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

    #44884
    manjey73
    Участник

    Смена позиции — mim + fp

    *.fp и *.mim в папку HelloWorld

    Корни проблемы абсолютно те же, что и у смены Картинок.

    При запуске схемы не отрабатывает скрипт из domCreated, и в Редакторе также видно, что изменение происходит на следующем шаге.
    В фейсплейте экспортируемая переменная _type — возможные значения
    right
    bottom
    RB

    проблема глобальная для выполнения скриптов в фейсплейтах, из-за этого все работает через одно место.

    • Ответ изменён 6 дней, 21 час назад пользователем manjey73.
    #44890
    Mikhail
    Модератор

    Добрый день!
    Напишите по шагам, как воспроизвести проблему. Без необходимости скачивать и добавлять в проект схемы и фейсплейты.

    #44893
    manjey73
    Участник

    Интересно, как вы искать проблему будете, по фотографии как Гадалки? 🙂

    Ну сейчас сделаю ‘фотографию’

    Фотография где и что

    1. При настройке фейсплейта на схеме параметр ‘right’ — при старте должен отработать скрипт и выставить текст в соответствующую позицию. НО НЕ ВЫСТАВЛЯЕТ

    2. Если открыть в Редакторе, аналогично, domCreated должен выставить текст в позицию right — НЕ ВЫСТАВЛЯЕТ
    3. Если в Редакторе в свойствах прописать ‘bottom’, текст должен выставиться в соответствующую позицию, но он выставляется в позицию, которая была ранее, то есть ‘right’
    4. потом мы вписываем с свойство ‘RB’ и текст выставляется в положение, которое было прошлым, то есть ‘bottom’

    то же самое происходит и со сменой картинок. Мы выставляем одну, вывод в консоль пишет что переменная изменилась, но действий НОЛЬ, выставляем следующую переменную, в консоль выводится то, что ввели, но действие происходит на прошлую переменную.

    з.ы. мое зрение и 125% разрешение ноутбука не позволяют мне копаться в мелких окошках браузера в поисках кода, в котором я еще и не разбираюсь.
    а эта БЯКА портит нервы и тормозит создание фейсплейтов, потому что поведение хуже некуда.

    • Ответ изменён 6 дней, 14 часов назад пользователем manjey73.
    #44900
    manjey73
    Участник

    Если честно, я не понимаю, как я могу по шагам описать создание фейсплейта и скриптов в нем. В выложенном примере постарался сократить скрипты компонента в фейсплейте до минимума.
    Потому что в других фесплейтах скриптов больше.

    #44905
    manjey73
    Участник

    Пример видео на основе фейсплейта маркера, управление в Редакторе.

    Маркер в Редакторе

    На видео видно по логу начало старта вызова скрипта и после его выполнения.
    При выполнении domCreated размер блока с текстом svg 0, хотя текст отображен.
    Координаты тоже не соответствуют.

    После первого изменения одной переменной блок перемещен на координату Y = 270 (Высота родительского блока тут 310) и высота компонента 2 (Разметка с svg текстом) равно 42 по умолчанию в фейсплете. Текст потерялся.
    После второго изменения блок выставлен на расчетные координаты и текст отображается.

    По логу видно начало старта и завершение скрипта domUpgated.
    Скрипты так же у каждого компонента внутри.
    И тут похоже видно, что скрипты выполняются как бы параллельно хотя по SMIL анимации не понятно, как оно там на самом деле выполняется.
    Больше вопрос, почему при domCreated координату указывает 270, но блок текста остается вверху ?

    Получается возможность писать скрипты внутри Компонентов это бред сивой кобылы ?

    #44906
    manjey73
    Участник

    При этом скрипт Компонента 2 никак не оперирует данными, которые мог бы предоставлять Компонент 1, только данные Родительского компонента, таких как высота, ширина объекта и чтение экспортируемых свойств.
    По этому очень странно, что в domCreated скрипт получает предыдущие данные.

    • Ответ изменён 5 дней, 20 часов назад пользователем manjey73.
    #44908
    manjey73
    Участник

    Первый вызов domUpdated скрин

    добавил вывод в лог при запуске скриптов в каждом компоненте.
    Видно, что сперва отрабатывает скрипт Компонента 1, потом выполняется скрипт Компонента 2.

    соответственно непонятно, почему domCreated и далее domUpdated получают предыдущие значения, а не те, которые определены скриптом?

    Вот из-за этого и вся проблема.

    #44914
    Mikhail
    Модератор

    Не смогу помочь, к сожалению. Проблема слишком комплексная.

    #44915
    manjey73
    Участник

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

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

    #44919
    manjey73
    Участник

    На Linux 6.5.0 поведение еще хуже. Если на Windows хоть как-то с костылями работает, то на Linux полная хрень…

    Вот такое вот поведение занимателное

    короче ждем 6.5.ХХ видимо.

    отображение текста только в момент перезагрузки, либо строгой привязки переменной в текст.

    з.ы. тут не текст, а именно svg с текстом.

    • Ответ изменён 5 дней, 10 часов назад пользователем manjey73.
    #44924
    manjey73
    Участник

    Одну штуку устранил, почему-то на Linux не успевает отрабатывать getBBox() после добавления текста в SVG.

    Еще один камень в сторону того, что не надо смешивать Создание и Изменение в один скрипт. Например при создании можно определить высоту блока текста и далее использовать уже как константу, а не вычислять каждый раз.

    Ну и глобальная проблема с «запаздыванием» переменных на шаг никуда не делась.
    Пришлось встроить очередной костыль скрывая компонент через класс ‘hidden’

    #44940
    Mikhail
    Модератор

    глобальная проблема с «запаздыванием» переменных на шаг никуда не делась

    Задача для разработчика фейсплейта, которая решается с отладчиком в браузере.

    #44946
    manjey73
    Участник

    Задача для разработчика фейсплейта, которая решается с отладчиком в браузере.

    Так понимаю выложенный пример со сменой Картинок вы даже не смотрели.
    А стоило бы, потому что скрипт там примитивный, проще некуда, и когда при изменении переменной в консоль пишется что мы ввели, а действие не происходит, это явно не проблема разработчика фейсплейта.

    В общем, пока вы сами не увидите, обсуждать дальше не вижу смысла. Или предложите хотя бы костыль, хотя костыль я и сам могу сделать, но это именно костыль, который работает так же неверно.

Просмотр 15 сообщений - с 1 по 15 (из 20 всего)
  • Для ответа в этой теме необходимо авторизоваться.