Advertisement
Guest User

Untitled

a guest
May 27th, 2019
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.42 KB | None | 0 0
  1. @inherits DotNetNuke.Web.Mvc.Framework.DnnWebViewPage<Wingman.NovaSBE.ViewModels.Shared.ListViewModel<Wingman.NovaSBE.ViewModels.Shared.SEOSearchContent>>
  2. @using System.Globalization
  3. @using Wingman.NovaSBE.ViewModels.Extensions;
  4. @using System.Threading;
  5. @using Wingman.NovaSBE.ViewModels.Constants;
  6. @using DotNetNuke.Common.Utilities;
  7. @using Wingman.Presentation.Extensions;
  8. @using DotNetNuke.Web.Client.ClientResourceManagement
  9. @Html.Partial("Includes")
  10.  
  11. @if (Dnn.ModuleContext.IsEditable)
  12. {
  13. <strong>@Dnn.ModuleContext.Configuration.ModuleTitle</strong>
  14. }
  15.  
  16. @{
  17. var moduleId = @Dnn.ModuleContext.ModuleId;
  18. var nameModuleAngular = "FacultyListApp-" + moduleId;
  19. var category = ViewBag.Category > 0 ? ViewBag.Category : "null";
  20. var defaultImg = @Dnn.ActivePage.SkinPath + "assets/images/faculty-default.jpg";
  21.  
  22. }
  23.  
  24. @if (Model != null)
  25. {
  26. @Html.Partial("wSEOSearchData", Model)
  27. }
  28.  
  29.  
  30. <div ng-controller="mainController as main" ng-init="main.init(@ViewBag.PageSize)" data-aos="fade-up">
  31. <div class="form container-fluid">
  32. <div class="row">
  33. <div class="col-12 mb-4">
  34. <p class="mb-1">@Dnn.LocalizeString("labelFilterTitle")</p>
  35. <hr />
  36. </div>
  37. </div>
  38.  
  39. <div class="row">
  40. <div class="col-12 col-md-10">
  41. <div class="row">
  42. <div class="col-12 col-md-6">
  43. <div class="form__content">
  44. <label for="form_name">@Dnn.LocalizeString("labelFilter")</label>
  45. <input type="text" ng-model="main.customFilters['FacultyFreeText'].value" class="form-control mb-0" placeholder="@Dnn.LocalizeString("LabelFilterByPlaceholder")" />
  46. </div>
  47. </div>
  48. </div>
  49. @if ((bool)ViewBag.ShowExectutiveFilter)
  50. {
  51. <div class="row mt-3 mt-md-5">
  52. <div class="col-12 col-md-6">
  53. <div class="form__content">
  54. <label>@Dnn.LocalizeString("labelFilterChallenge")</label>
  55. <select ng-model="main.customFilters['AcademicUnit'].value" class="form-control mb-md-0"
  56. ng-options="item.Value as item.Text for item in main.initialData.ChallengeList">
  57. <option value="">@Dnn.LocalizeString("labelFilterAll")</option>
  58. </select>
  59. </div>
  60. </div>
  61. <div class="col-12 col-md-6">
  62. <div class="form__content">
  63. <label>@Dnn.LocalizeString("labelFilterProgram")</label>
  64. <select ng-model="main.customFilters['Program'].value" ng-disabled="!main.customFilters['AcademicUnit'].value"
  65. ng-options="item.Value as item.Text for item in main.initialData.ProgramsList | filter: {Value : main.customFilters['AcademicUnit'].value}" class="form-control mb-md-0 mb-5">
  66. <option value="">@Dnn.LocalizeString("labelFilterAll")</option>
  67. </select>
  68. </div>
  69. </div>
  70. </div>
  71. }
  72. </div>
  73. <div class="col-12 col-md-2 d-flex align-items-end">
  74. <div class="row w-100">
  75. <div class="col-12">
  76. <a href="#" class="w-100 btn-primary--dark mb-md-0 mr-0" ng-click="main.applyFilter();">@Dnn.LocalizeString("labelFilterSearchData")</a>
  77. </div>
  78. </div>
  79. </div>
  80. </div>
  81. </div>
  82.  
  83.  
  84. <div class="alphabet js-alphabet">
  85. <div class="alphabet--options">
  86. <div class="alphabet--options__wrapper">
  87. <ul>
  88. <li ng-class="main.customFilters['Letter'].value == '' ? 'is-active' : ''"><button type="button" data-index="all" ng-click="main.setLetter()" onclick="alphabetFilter($('.js-alphabet'))"><img src="@(Dnn.ActivePage.SkinPath)assets/images/icons/all-circle.png"></button></li>
  89. <li ng-class="letter.Total <= 0 ? 'is-empty' : ''" ng-repeat="letter in main.letters"><button ng-disabled="letter.Total <= 0" type="button" data-index="{{letter.Initial}}" ng-click="main.setLetter(letter.Initial)" onclick="alphabetFilter($('.js-alphabet'))">{{letter.Initial}}</button></li>
  90. </ul>
  91. </div>
  92. </div>
  93. </div>
  94.  
  95. <div class="no-related-faculty" ng-if="main.empty">
  96. <span>@Dnn.LocalizeString("lblNoResults")</span>
  97. </div>
  98.  
  99. <div infinite-scroll="main.loadMore()" ng-cloak ng-if="!main.empty" data-aos="fade-up">
  100. <div data-letter="{{key}}" class="row" ng-repeat="(key, value) in main.data | groupBy: 'InitialLetter'">
  101. <div class="col-12 text-center">
  102. <div class="container-fluid">
  103. <div class="alphabet--selected-letter">
  104. <span>{{key}}</span>
  105. </div>
  106. </div>
  107. </div>
  108. <div class="col-lg-3 col-md-4 col-sm-6 col-xs-12 text-center" ng-repeat="item in value">
  109. <div class="container-fluid">
  110. <div class="people">
  111. <div class="people__wrapper">
  112. <a href="{{item.DetailUrl}}" title="{{item.Name}}" class="people--image">
  113. <img class="rounded-circle img-fluid" ng-src={{item.PhotoPath}} onerror="this.src='@defaultImg'" alt="{{item.Name}}">
  114. </a>
  115. <div class="people--name">
  116. <a href="{{item.DetailUrl}}" class="">{{item.Name}}</a>
  117. </div>
  118. <div class="people--title">
  119. {{item.Translation.Position}}
  120. </div>
  121. <div class="people--email">
  122. <button type="button" class="email open-modal" ng-click="main.showModalDialog(main.initialData.modalResources, main.initialData.modalDefaults, {FacultyId : item.Id})" href="#" target="_top">@Dnn.LocalizeString("labelSendEmail")</button>
  123. </div>
  124. </div>
  125. </div>
  126. </div>
  127. </div>
  128. </div>
  129. </div>
  130. </div>
  131.  
  132.  
  133.  
  134.  
  135. <script>
  136. document.addEventListener("DOMContentLoaded", function(Faculty) {
  137. var initialData = {
  138. TabId: @Dnn.ModuleContext.TabId,
  139. ModuleId: @moduleId,
  140. PortalId: @Dnn.ModuleContext.PortalId,
  141. recaptachaKey: '@ViewBag.ReCaptchaPublicToken',
  142. ShowExectutiveFilter: '@ViewBag.ShowExectutiveFilter',
  143. modalResources: {
  144. Name: '@Html.Raw(Dnn.LocalizeString("lblName"))',
  145. Email: '@Html.Raw(Dnn.LocalizeString("lblEmail"))',
  146. PlcName: '@Html.Raw(Dnn.LocalizeString("plcName"))',
  147. PlcEmail: '@Html.Raw(Dnn.LocalizeString("plcEmail"))',
  148. Message: '@Html.Raw(Dnn.LocalizeString("lblMessage"))',
  149. PlcMessage: '@Html.Raw(Dnn.LocalizeString("plcMessage"))',
  150. SendACopy: '@Html.Raw(Dnn.LocalizeString("lblSendACopy"))',
  151. BtnSend: '@Html.Raw(Dnn.LocalizeString("lblSend"))',
  152. RequiredFielMsg: '@Html.Raw(Dnn.LocalizeString("fieldRequired"))',
  153. ErrorEmail: '@Html.Raw(Dnn.LocalizeString("invalidField"))',
  154. PreTitle: '@Html.Raw(Dnn.LocalizeString("lblSpontaneous"))',
  155. Title: '@Html.Raw(Dnn.LocalizeString("Title"))',
  156. MoreInfo: '@Html.Raw(Dnn.LocalizeString("lblMoreInfo"))',
  157. ErrorMessageTitle : '@Html.Raw(Dnn.LocalizeString("lblMessageErrorTitle"))',
  158. ErrorMessage: '@Html.Raw(Dnn.LocalizeString("lblMessageError"))',
  159. Back: '@Html.Raw(Dnn.LocalizeString("Back"))',
  160. SuccessMessage: '@Html.Raw(Dnn.LocalizeString("lblMessageSent"))',
  161. SucessTitleMessage: '@Html.Raw(Dnn.LocalizeString("lblMessageSentTitle"))'
  162. },
  163. ChallengeList: @Html.Raw(ViewBag.ChallengeList),
  164. ProgramsList: @Html.Raw(ViewBag.Program),
  165.  
  166. modalDefaults : {
  167. backdrop: true,
  168. keyboard: true,
  169. modalFade: true,
  170. windowTemplateUrl: "/WingmanControlsEditorial/Angular/HtmlTemplates/templateModalWindow.html",
  171. templateUrl: "/WingmanControls/TemplatesShared/customModal.html",
  172. },
  173. };
  174.  
  175. $(document).ready(function() {
  176. $('.open-modal').click(function(e) {
  177. e.preventDefault();
  178.  
  179. // To open the modal use this:
  180. openModal($('#static-modal'));
  181.  
  182. });
  183. });
  184.  
  185. $(function () { alphabetFilter($('.js-alphabet')); });
  186.  
  187. appFacultyList('@nameModuleAngular', @moduleId);
  188. mainFacultyList('@nameModuleAngular', initialData);
  189. modalContactFacultyList('@nameModuleAngular', initialData);
  190.  
  191. angular.bootstrap(document.getElementById('mvcContainer-' + @Dnn.ActiveModule.ModuleID), ['@nameModuleAngular']);
  192. })
  193. </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement