META

Открытие модального окна

В таблице списке объектов сущности вывести страницу в контекстное меню

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

  • Включите режим разработчика, если он не ключен
  • Зайдите на интресующую вас страницу
  • Откройте меню радактирования настроек приложения
  • в поле “Вид в контекстном меню” выберите “Модальное окно” или “Выезжающее справа окно”
  • Сохраните
  • Сбросьте кеш меты
  • Обновите страницу через F5

Пример такой страницы: https://apps.devision.io/card?e=example_entity&o=08f3395b-31f2-42c9-917e-a5f2b7bd4a95&p=5183&a=35

На карточке объекта сущности нужно вывести меню действия над объектом

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

Для меты это будет обычная страница, как и например та, которая просто отображает списки с фильтрами, поэтому ничего страшного в том, что она будет для ас и в левом меню тоже.

  • Включите режим разработчика, если он не ключен
  • Зайдите на интресующую вас страницу
  • Откройте меню радактирования настроек приложения
  • в поле “Роль” выберите “Актор объекта. В списке действий Сущности в модальном окне”
  • проверьте, что стоит галочка на чекбоксе “Показывать в меню только разработчикам”
  • Сохраните
  • Сбросьте кеш меты
  • Обновите страницу через F5

Пример такой страницы: https://apps.devision.io/card?e=example_entity&o=08f3395b-31f2-42c9-917e-a5f2b7bd4a95&p=5311&a=35

Стоит сказать, что галочка на “Показывать в меню только разработчикам” сейчас не обязательна, но по внутренним договоренностям мы считаем хорошей практикой показывать страницы действий только сверху.

Открыть добавление объекта через html

Приведу пример из биллинга - подача заявки для перехода на дргой тариф. Заявка выполнена в виде тикета с типом согласование Тут мы видем использование технологии разметки перевода “i18n” в кнопке добавления новых объектов для entityId=2701 с заранее установленным env.sp

<elem>
<tpl>
  <me-add-obj-btn attrs='{"addObjectButton":{
    "mode": "sidenav",
    "title": "${i18n("#.productTariffTicketAdd", "Подать заявку")}",
    "modalSize": "lg",
    "modalTitle": "${i18n("#.productTariffTicketAdd", "Подать заявку")}",
    "cssClass": "btn btn-sm btn-main", 
    "icon": "fa-gavel",
    "env": {
      "sp": {
        "card": {
          "no_redirect_after_save": true,
          "entity_id": "2651",
          "object_id": "${env.companyId}",
          "issue_type_id": "devision_billing_tariff",
          "form_data": {"product_id": ${env.objectId}}
        }
      }
    }
  }, "entityId": "2701"}'></me-add-obj-btn>
</tpl>
</elem>

Открыть карточку объекта сущности при клике на ее название в списке

Обязательно изучите документацию документацию по IEntityCardLink и изучите возможные атрибуты таблицы.

В данном примере код entityCardLink говорит, что при клике на название объекта будет происходить не переход на новую страницу, а будет открываться модальное окно с карточкой объекта.

<script type="meta/sql" db-alias="adplatform" id="res" entity-id="2876" order="100500" 
    elem-attrs='{"addObjectButton":{"title":"Группа", "mode":"modal", "env":{"sp":{"obj":{"entity_id":2876}}} }}'
         elem-attrs.entityCardLink.mode='modal' 
        >
....

Открыть карточку выбранного объекта в выпадающем списке (me-input type=select)

Например у вас сложная форма, где много инпутов и вам надо дать возможность быстро посмотреть карточку выбранного в одном из инпутов клиента. Для это используется атрибут элемента fastViewObjectButton.

Так же обратите внимание на параметр addObjectButton он позволяет настроить поведение инпута для добавления объекта в список, например удобно там открывать страницу добавления клиента.

{
  id: "ex_access_id",
  label: "Доступ",
  name: "me-input",
  refPvmData: {id: 'access_list', sp:{}, waitingId: 'wait_ex_access_for_google'},
  attrs: {
    type: "select",
    required: true,
    fastViewObjectButton: {
      drawActorList: false,
      drawTopMenu: false,
      modalSize: 'xs'
    },
    "addObjectButton": {
      "mode": "sidenav",
      "env": {
        "sp": {
          "obj": {
            "mode": "feed",
            "ex_system_id": "google_adwords"
          }
        }
      },
      "title": "Подключить аккаунт"
    }
  },
  "listen": [
    {
      "code": [
        "ADD",
        "SET"
      ],
      "entityId": 2830,
      "selectAfterAdd": true,
      "refreshRefPvmData": {}
    }
  ],
  "entityId": 2830,
}