Каскадирование, стыковка, закрываемые панели для одностраничного приложения с MVC 5-возможно?
Эй,
я хочу создать спа-центр с MVC, где мой контент будет отображаться как частичные представления внутри панелей bootstrap, которые должны быть
- стыковка друг с другом только горизонтально
- иметь зависимость от предыдущего (левого) окна
- быть закрытым, относительно зависимости
Например, мое демо-приложение может иметь такую структуру сайта:
root ##### # # page 1 ###### # # # # # page 1.1 ###### # # # # # page 1.1.1 ####### # # # # # # # # page 1.1.1.1 # # # # # page 1.1.2 # # page 2 ###### # # # # # page 2.1 # # page3
Навигация должна быть такой
- root- & gt; Страница 1 или страница 2 - & gt; выбор страницы 1 - & gt; загружается в первую панель, ориентированную левую часть экрана - & gt; выбор элемента на странице 1 (например, детали)- > страница 1.1 загружается во вторую панель, стыковка рядом с первой панелью- > решение удалить sth- & gt; страница 1.1.1 загружается в третью панель, стыковка рядом со второй панелью и так далее....
Поэтому, закрывая, например, страницу 1.1, я тоже хочу закрыть любые зависимые " окна "(страница 1.1, страница 1.1.1 и страница 1.1.1.1), и, конечно, я не могу загрузить страницу 1.1.1.1 непосредственно в свое"окно".
Итак, есть какие-нибудь идеи, как я могу использовать панели bootstrap в качестве динамических окон, которые я могу "складывать" рядом друг с другом?
Заранее спасибо!
Что я уже пробовал:
Я сделал некоторые реальные базовые настройки с помощью JS, чтобы закрыть (удалить) панель из моего поля зрения.
<div class="row"> <div class="col-md-6"> <h2>Details</h2> <h4>Artist</h4> <hr /> <dl class="dl-horizontal"> <dt> @Html.DisplayNameFor(model => model.Name) </dt> <dd> @Html.DisplayFor(model => model.Name) </dd> </dl> <button id="edit" class="btn btn-success"><icon class="glyphicon glyphicon-edit"></icon> Edit</button> </div> <div class="col-md-6"> <div class="panel panel-default"> <span class="pull-right clickable" data-effect="remove"></span> <div id="partial"> </div> </div> </div> </div> @section scripts { <script type="text/javascript"> $(function () { $('#edit').click(function () { $.get('@Url.Action("Edit", "Artists", new { id = Model.ArtistID })').success(function (data) { $('#partial').replaceWith(data); }); }); }); $(function () { $('.clickable').on('click', function () { var effect = $(this).data('effect'); $(this).closest('.panel')[effect](); }) }) </script> }