Mimic ExtraMarkup

Просмотр 15 сообщений - с 1 по 15 (из 18 всего)
  • Автор
    Сообщения
  • #41911
    Boriss
    Участник

    В примере ExtraCompTest.mim для компонента ExtraMarkup есть скрипт. Замечательно работает. Как сделать ссылку на представление, например с id 12? Не на страницу(это просто), а именно на представление, что-бы оно открылось в текущем фрейме.
    И как сделать, что-бы график открывался в модульном окне?
    Перелопачивать всё вот это вот, создаваемое годами, времени нет… А выпадающая менюшка нужна вчера…

    class extends ComponentScript {
        domCreated(args) {
          args.component.dom.find(".markup-item1").on("click", () => {
            args.renderContext.viewHub.features.chart.show(args.component.properties.inCnlNum);
          });
    
          args.component.dom.find(".markup-item2").on("click", () => {
            args.renderContext.viewHub.features.command.show(args.component.properties.outCnlNum);
          });
        }
    
        domUpdated(args) {
        }
    
        dataUpdated(args) {
        }
    }
    • Тема изменена 2 дня, 4 часа назад пользователем Mikhail.
    #41937
    Mikhail
    Модератор

    Добрый день!
    Для получения ссылки на представление можно использовать
    let url = args.renderContext.viewHub.getViewUrl(1 /*ID представления*/, false /*модальное ли окно*/);

    Затем что-то одно из:

    window.top.location = url;
    window.open(url);
    args.renderContext.viewHub.modalManager.showModal(url);
    #41938
    Mikhail
    Модератор

    Чтобы открыть график в модальном окне, нужно получить ссылку на график, а затем использовать args.renderContext.viewHub.modalManager.showModal(url);

    Ссылка на график
    args.renderContext.viewHub.features.chart.getUrl(cnlNums, startDate, args)

    #41951
    Boriss
    Участник

    Добрый день! Спасибо за ответ. Помогло. Вот только в фейсплейте не работает. В фейсплейтах вообще не работают скрипты для компонентов. Почему? Не понятно… В моем случае меню в виде фейсплейта и присутствует на всех мнемосхемах …и не работает. Придется меню вставлять на каждую мнемосхему.

    #41952
    manjey73
    Участник

    у меня работает скрипт в faceplate и как раз с ExtraMarkup

    http://176.109.111.174:10008/View/17
    логин ggg пароль 321 — svg запихнут в ExtraMarkup и управляется скриптом.

    #41955
    Boriss
    Участник

    Не только скрипты не работают. Вообще ничего не работает. Ни один компонент. Последнее обновление я не ставил. Может в этом причина?

    #41956
    manjey73
    Участник

    последние обновления были связаны с тем, что что-то пропадало в faceplate, если внутри него использовать панель.
    И масштабирование пальцами.

    это для версии 6.4.4 Scada

    ааааа. Есть нюанс, вы для ПК с разработкой так же должны зарегистрировать дополнительные компоненты Mimic, так как ExtraMarkup относится к расширенным компонентам, если не ошибаюсь.

    • Ответ изменён 2 месяца, 3 недели назад пользователем manjey73.
    #41958
    Boriss
    Участник

    Патч для фейсплейта я установил. ПК для разработки нет, «дергаю» основную вебстанцию )))
    У меня версия скады 6.4.3. Надо ставить последнюю версию… Или не сегодня… Пятница 13-е…

    #41959
    manjey73
    Участник

    я тут не помню, возможно будет работать и на 6.4.3 вроде в 6.4.4 были изменения, не связанные с Мимик

    А как вы дергаете основную станцию, если редактор Мимик запускается локально? Или прямо там и запускаете Админку ?

    #41960
    manjey73
    Участник

    Скорее всего скрипт не работает, если в нем что-то неверно. Он тогда вроде просто игнорируется.
    Если фатальная ошибка, то что-то можно понять по консоли браузера.

    #41961
    Boriss
    Участник

    Обновился, проверил, откатился и еще раз обновился. В так в разных комбинациях. В итоге версия 6.4.4 + патч для фейсплейтов. Результат:
    Создаю фейсплейт. Прописываю класс. Добавляю компонент текст. Прописываю входной канал. Сохраняю и закрываю фейсплейи.
    Открываю мнемосхему. Добавляю зависимость. Класс и путь к фейсплейту. Он появляется в меню слева. Добавляю фейсплейт на мнемосхему. Сохраняю мнемосхему, закрываю. Перезапускаю вебстанцию. Открываю в браузере представление с мнемосхемой. Фейсплейт есть, но мертвый. Совсем.
    Может так и должно быть? Другие компоненты в нем не работают? Это другое? Нужно создавать экспортируемые свойства?

    #41962
    manjey73
    Участник

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

    #41963
    GreatAlex
    Участник

    Напрямую в компонентах фейсплейта нельзя входные-выходные каналы указывать.
    Работа — только через экспортируемые свойства, это как бы канал информационный между фейсплейтом и основной схемой.

    • Ответ изменён 2 месяца, 3 недели назад пользователем GreatAlex.
    #41966
    Boriss
    Участник

    Так я и думал… Надо разбираться. Пример есть, это хорошо. Документации нет, плохо…

    #41967
    manjey73
    Участник

    по идее, можно напрямую изменить что-нибудь, вставленное в faceplate, но это будет глупостью.

    фейсплейт это тоже компонент — compХ и внутри него будут compХ-Y компоненты.
    Но там как-то тяжко это все вылавливать из DOM-а 🙂

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