2015-06-05 3 views
1

Я использую пользовательский интерфейс swagger для отображения методов и по какой-то причине после перехода на swagger UI 2.0 события jquery click больше не работают.Интерфейс Swagger - Expand Операции с JS

Есть ли программный способ расширения всех операций с JS? Я не хочу, чтобы они были расширены на открытой странице. Мне просто нужно, чтобы они расширялись при запуске определенного скрипта.

Это используется для работы, но не больше:

 $('div.heading span.path a.toggleOperation').each(function (e) { 
      $(this).click();   
     }); 

Это также не работает:

 $('div.heading span.path a.toggleOperation').click(); 

Нет ошибок, это только кажется, игнорировать мои кликах

ответ

2

Нашел ответ, и это было довольно прямолинейно.

Когда вы INIT развязность вы будете делать что-то вроде этого:

 window.swaggerUi = new SwaggerUi({ 
      url: swaggerUrl, 
      dom_id: "swaggerInjectionPoint", 
      supportHeaderParams: true, 
      docExpansion: 'list', 
      validatorUrl: null, 
      supportedSubmitMethods: ['get', 'post', 'put', 'delete'] 
     }); 

В этот момент у вас есть доступ к методам расхаживает и есть одна называется expandAll();

так просто создать событие и иметь это событие выполнения:

window.swaggerUi.expandAll(); 

У вас также есть доступ к нескольким более полезных методов:

collapseAll() 
    listAll(); 

и несколько других, которые могут быть найдены в файл swagger-ui.js.

0

С чванством-ui.js версией 2.0.17 это яваскрипт можно запустить из браузера закладки и, таким образом, он работает для страниц, которые вы не имеете никакого контроля над:

javascript:for (var i = 0, len = window.swaggerUi.api.apisArray.length; i < len; i++) { Docs.expandOperationsForResource(window.swaggerUi.api.apisArray[i].name) };void(0); 
Смежные вопросы