UNPKG

@bennerinformatics/ember-fw-gc

Version:

A set of components, controllers, routes, and helpers used in all Group-Control managed FW App System applications

571 lines (484 loc) 26.5 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>RestrictedRoute - Ember-FW-GC</title> <meta name="description" content="A set of components, controllers, routes, and helpers used in all FW Kit applications."> <link rel="stylesheet" href="http://yui.yahooapis.com/3.9.1/build/cssgrids/cssgrids-min.css"> <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css"> <link rel="stylesheet" href="../assets/css/main.css" id="site_styles"> <link rel="stylesheet" href="../assets/css/custom.css"> <link rel="stylesheet" href="../assets/vendor/bootstrap/css/bootstrap.css"> <link rel="stylesheet" href="../assets/vendor/font-awesome/css/font-awesome.min.css"> <link rel="stylesheet" href="../assets/css/theme.css"> <link href='https://fonts.googleapis.com/css?family=Open+Sans:300,400,500,600,700' rel='stylesheet' type='text/css'> <!-- favicon information --> <link rel="apple-touch-icon" sizes="57x57" href="/assets/icons/apple-icon-57x57.png"> <link rel="apple-touch-icon" sizes="60x60" href="/assets/icons/apple-icon-60x60.png"> <link rel="apple-touch-icon" sizes="72x72" href="/assets/icons/apple-icon-72x72.png"> <link rel="apple-touch-icon" sizes="76x76" href="/assets/icons/apple-icon-76x76.png"> <link rel="apple-touch-icon" sizes="114x114" href="/assets/icons/apple-icon-114x114.png"> <link rel="apple-touch-icon" sizes="120x120" href="/assets/icons/apple-icon-120x120.png"> <link rel="apple-touch-icon" sizes="144x144" href="/assets/icons/apple-icon-144x144.png"> <link rel="apple-touch-icon" sizes="152x152" href="/assets/icons/apple-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="/assets/icons/apple-icon-180x180.png"> <link rel="icon" type="image/png" sizes="192x192" href="/assets/icons/android-icon-192x192.png"> <link rel="icon" type="image/png" sizes="32x32" href="/assets/icons/favicon-32x32.png"> <link rel="icon" type="image/png" sizes="96x96" href="/assets/icons/favicon-96x96.png"> <link rel="icon" type="image/png" sizes="16x16" href="/assets/icons/favicon-16x16.png"> <link rel="manifest" href="/assets/icons/manifest.json"> <meta name="msapplication-TileImage" content="/assets/icons/ms-icon-144x144.png"> <style> body a { color: #7E3DB7; } body a:hover { color: #7E3DB7; opacity: 0.5; } .navbar.navbar-default .navbar-nav> li> a:focus, .navbar.navbar-default .navbar-nav> li> a:hover { color: #7E3DB7; } .navbar.navbar-default .navbar-nav> .active> a, .navbar.navbar-default .navbar-nav> .active> a:focus, .navbar.navbar-default .navbar-nav> .active> a:hover { color: #7E3DB7; } #docs-main .page-header { color: #7E3DB7; } #docs-main .page-section .nav-tabs { border-bottom: 1px solid #7E3DB7; } #docs-main .page-section .nav-tabs> li.active a { background: #7E3DB7; border: 1px solid #7E3DB7; } #sidebar li.panel .panel-body ol> li.active, #sidebar li.panel .panel-body ol> li:hover { background: #efefef; } </style> </head> <body> <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> <a href="../" class="navbar-brand"> <img src="..\assets\img\fw-logo.png" alt="enterprise logo"> <span>Ember-FW-GC (API)</span> </a> </div> <div class="collapse navbar-collapse" id="nav"> <ul class="nav navbar-nav navbar-right"> <li><a href="https://linformatics.bitbucket.io/docs/">Docs</a></li> <li><a href="https://linformatics.bitbucket.io/downloads/">Downloads</a></li> <li><a href="https://linformatics.bitbucket.io/api/">API</a></li> <li><a href="https://bitbucket.org/linformatics/ember-fw-gc" class="fa fa-github github"></a></li> </ul> </div> </div> </nav> <div id="main-wrapper" class="row"> <div id="content-wrapper"> <ol class="panel-group" id="sidebar" role="tablist" aria-multiselectable="true"> <li class="panel panel-default"> <div class="panel-heading" role="tab" id="sidebar-search-heading"> <h4 class="panel-title"> <a role="button" data-toggle="collapse" href="#sidebar-search" aria-expanded="true" aria-controls="collapseOne"> Search </a> </h4> </div> <div id="sidebar-search" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="sidebar-search-heading"> <div class="panel-body"> <div id="api-tabview-filter"> <input type="search" id="api-filter" placeholder="Search..."> </div> </div> </div> </li> <li class="panel panel-default"> <div class="panel-heading" role="tab" id="sidebar-version-heading"> <h4 class="panel-title"> <a role="button" href="https://bitbucket.org/linformatics/ember-fw-gc/commits/5e99b10c" target="_blank"> Tag: 2.1.16.5e99b10c </a> </h4> </div> </li> <li class="panel panel-default"> <div class="panel-heading" role="tab" id="sidebar-modules-heading"> <h4 class="panel-title"> <a role="button" data-toggle="collapse" href="#sidebar-modules" aria-expanded="true" aria-controls="collapseOne"> Modules </a> </h4> </div> <div id="sidebar-modules" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="sidebar-modules-heading"> <div class="panel-body"> <ol> <li> <a href="../modules/Components.html">Components</a> </li> <li> <a href="../modules/Helpers.html">Helpers</a> </li> <li> <a href="../modules/Introduction.html">Introduction</a> </li> <li> <a href="../modules/Miscellaneous.html">Miscellaneous</a> </li> <li> <a href="../modules/Mixins.html">Mixins</a> </li> <li> <a href="../modules/Models.html">Models</a> </li> <li> <a href="../modules/Pages.html">Pages</a> </li> <li> <a href="../modules/Services.html">Services</a> </li> <li> <a href="../modules/Utils.html">Utils</a> </li> </ol> </div> </div> </li> <li class="panel panel-default"> <div class="panel-heading" role="tab" id="sidebar-classes-heading"> <h4 class="panel-title"> <a role="button" data-toggle="collapse" href="#sidebar-classes" aria-expanded="true" aria-controls="collapseOne"> Classes </a> </h4> </div> <div id="sidebar-classes" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="sidebar-classes-heading"> <div class="panel-body"> <ol> <li> <a href="../classes/AboutAppModal.html">AboutAppModal</a> </li> <li> <a href="../classes/AjaxService.html">AjaxService</a> </li> <li> <a href="../classes/ApplicationControllerMixin.html">ApplicationControllerMixin</a> </li> <li> <a href="../classes/AppMeta.html">AppMeta</a> </li> <li> <a href="../classes/AppMetaService.html">AppMetaService</a> </li> <li> <a href="../classes/AppSwitchModal.html">AppSwitchModal</a> </li> <li> <a href="../classes/AuthBlock.html">AuthBlock</a> </li> <li> <a href="../classes/AuthButton.html">AuthButton</a> </li> <li> <a href="../classes/AuthCheckMixin.html">AuthCheckMixin</a> </li> <li> <a href="../classes/AuthComponentMixin.html">AuthComponentMixin</a> </li> <li> <a href="../classes/AuthRoute.html">AuthRoute</a> </li> <li> <a href="../classes/AuthRoute-Addon.html">AuthRoute-Addon</a> </li> <li> <a href="../classes/AuthRouteMixin.html">AuthRouteMixin</a> </li> <li> <a href="../classes/ChangePasswordModal.html">ChangePasswordModal</a> </li> <li> <a href="../classes/ConfigService.html">ConfigService</a> </li> <li> <a href="../classes/CurrentUserService.html">CurrentUserService</a> </li> <li> <a href="../classes/DepartmentTransitionMixin.html">DepartmentTransitionMixin</a> </li> <li> <a href="../classes/ForgotPage.html">ForgotPage</a> </li> <li> <a href="../classes/FwAppAdapter.html">FwAppAdapter</a> </li> <li> <a href="../classes/FwAppLink.html">FwAppLink</a> </li> <li> <a href="../classes/FwDocLink.html">FwDocLink</a> </li> <li> <a href="../classes/FwGcNav.html">FwGcNav</a> </li> <li> <a href="../classes/FwHeaderGc.html">FwHeaderGc</a> </li> <li> <a href="../classes/GroupControlAuthenticator.html">GroupControlAuthenticator</a> </li> <li> <a href="../classes/HasApp.html">HasApp</a> </li> <li> <a href="../classes/HasDepartment.html">HasDepartment</a> </li> <li> <a href="../classes/HasRole.html">HasRole</a> </li> <li> <a href="../classes/JokesService.html">JokesService</a> </li> <li> <a href="../classes/LoginPage.html">LoginPage</a> </li> <li> <a href="../classes/MatchUtil.html">MatchUtil</a> </li> <li> <a href="../classes/MixinIndexRoute.html">MixinIndexRoute</a> </li> <li> <a href="../classes/OptionalAppAdapter.html">OptionalAppAdapter</a> </li> <li> <a href="../classes/PermissionsMixin.html">PermissionsMixin</a> </li> <li> <a href="../classes/ProfilePage.html">ProfilePage</a> </li> <li> <a href="../classes/ReLoginModal.html">ReLoginModal</a> </li> <li> <a href="../classes/ResetPage.html">ResetPage</a> </li> <li> <a href="../classes/RestrictedRoute.html">RestrictedRoute</a> </li> <li> <a href="../classes/RestrictedRouteMixin.html">RestrictedRouteMixin</a> </li> <li> <a href="../classes/UserModel.html">UserModel</a> </li> </ol> </div> </div> </li> </ol> <div class="content-container"> <div class="apidocs"> <div id="docs-main"> <div class="content"> <div class="page-header"> <h1> <i class="fa fa-bookmark-o" aria-hidden="true"></i> RestrictedRoute Class <a class="pull-right file-edit" href="https://bitbucket.org/linformatics/ember-fw-gc/src/5e99b10c/app\routes\restricted.js#L4" target="_blank"> <i class="fa fa-pencil" aria-hidden="true"></i> </a> </h1> </div> <div class="content-meta"> <div class="uses"> Uses: <ul class="inline commas"> <li><a href="RestrictedRouteMixin.html">RestrictedRouteMixin</a></li> </ul> </div> <div class="extends"> Extends: <a href="../classes/AuthRoute-Addon.html" class="crosslink">AuthRoute-Addon</a> </div> Module: <a href="../modules/Miscellaneous.html">Miscellaneous</a> <div class="foundat"> Defined In: <a href="https://bitbucket.org/linformatics/ember-fw-gc/src/5e99b10c/app\routes\restricted.js#L4">app\routes\restricted.js:4</a> </div> </div> <div class="class-description"> <p>Convenience route that bundles some of the restricted route mixins. It extends the basic functionality of the AuthRoute, except it adds to it one more factor: it allows you to filter which roles have access to this page. It also allows you to specify a <code>rejectedRoute</code> to transition to when the user does not have the proper roles. This is used most commonly within the apps for the admin pages (which are restricted to <code>admin</code> and <code>global-admin</code>) roles. For more information see the RestrictedRouteMixin.</p> <p>Usage: (in a routes file)</p> <pre class="code prettyprint"><code class="language-javascript">import RestrictedRoute from './restricted'; export default RestrictedRoute.extend({ // your code here... }); </code></pre> </div> <div> <div class="page-section"> <!-- Nav tabs --> <ul class="nav nav-tabs" role="tablist"> <li role="presentation" class="active"><a href="#tab_index" aria-controls="tab_index" role="tab" data-toggle="tab">Index</a></li> <li role="presentation"><a href="#tab_methods" aria-controls="tab_methods" role="tab" data-toggle="tab">Methods</a></li> <li role="presentation"><a href="#tab_properties" aria-controls="tab_properties" role="tab" data-toggle="tab">Properties</a></li> </ul> <!-- Tab panes --> <div class="tab-content"> <form id="options-form" class="form-inline"> Show: <label for="api-show-inherited" class="checkbox"> <input type="checkbox" id="api-show-inherited" checked> Inherited </label> <label for="api-show-protected" class="checkbox"> <input type="checkbox" id="api-show-protected"> Protected </label> <label for="api-show-private" class="checkbox"> <input type="checkbox" id="api-show-private"> Private </label> <label for="api-show-deprecated" class="checkbox"> <input type="checkbox" id="api-show-deprecated"> Deprecated </label> </form> <div id="tab_index" role="tabpanel" class="tab-pane active" > <div class="index-section methods"> <h3>Methods</h3> <ul class="index-list methods extends"> <li class="index-item method public inherited"> <a href="#method_permit">permit</a> </li> </ul> </div> <div class="index-section properties"> <h3>Properties</h3> <ul class="index-list properties extends"> <li class="index-item property public inherited"> <a href="#property_rejectedRoute">rejectedRoute</a> </li> <li class="index-item property public inherited"> <a href="#property_roles">roles</a> </li> </ul> </div> </div> <div id="tab_methods" role="tabpanel" class="tab-pane"> <div class="item-list"> <div id="method_permit" class="method item public inherited"> <span class="method-signature"> <span class="name anchorable-toc"> <a class="fa fa-link toc-anchor" href="#method_permit"></a> permit </span> <div class="args"> <span class="paren">(</span><ul class="args-list inline commas"> <li class="arg"> <code>roles</code> </li> <li class="arg"> <code>goTo</code> </li> </ul><span class="paren">)</span> </div> <span class="returns-inline"> <span class="type">Ember.Transition | Null</span> </span> </span> <span class="flag public">public</span> <div class="meta"> <p>Inherited from <a href="../classes/PermissionsMixin.html#method_permit">PermissionsMixin</a>: <a href="https://bitbucket.org/linformatics/ember-fw-gc/src/5e99b10c/addon\mixins\permissions.js#L32">addon\mixins\permissions.js:32</a> </p> </div> <div class="description"><p>Checks a role or list of roles against a user's available roles. If the check fails, the app will transition to the route specified.</p> </div> <div class="params"> <h4>Parameters:</h4> <ul class="params-list"> <li class="param"> <code class="param-name">roles</code> <span class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a> | <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="crosslink external" target="_blank">Array</a></span> <div class="param-description"><p>Roles to check</p> </div> </li> <li class="param"> <code class="param-name">goTo</code> <span class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span> <div class="param-description"><p>Route to transition to if the check fails</p> </div> </li> </ul> </div> <div class="returns"> <h4>Returns:</h4> <div class="returns-description"> <span class="type">Ember.Transition | Null</span> </div> </div> </div> </div> </div> <div id="tab_properties" role="tabpanel" class="tab-pane"> <div class="item-list"> <div id="property_rejectedRoute" class="property item public inherited"> <h3 class="name anchorable-toc"> <a class="fa fa-link toc-anchor" href="#property_rejectedRoute"></a> rejectedRoute </h3> <span class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String" class="crosslink external" target="_blank">String</a></span> <span class="flag public">public</span> <div class="meta"> <p>Inherited from <a href="../classes/RestrictedRouteMixin.html#property_rejectedRoute">RestrictedRouteMixin</a>: <a href="https://bitbucket.org/linformatics/ember-fw-gc/src/5e99b10c/addon\mixins\restricted-route.js#L42">addon\mixins\restricted-route.js:42</a> </p> </div> <div class="description"> <p>Route to transition to if the roles check fails. This may have more use case to override than in AuthRoute.</p> </div> <p><br><strong>Default:</strong> index</p> </div> <div id="property_roles" class="property item public inherited"> <h3 class="name anchorable-toc"> <a class="fa fa-link toc-anchor" href="#property_roles"></a> roles </h3> <span class="type"><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array" class="crosslink external" target="_blank">Array</a></span> <span class="flag public">public</span> <div class="meta"> <p>Inherited from <a href="../classes/RestrictedRouteMixin.html#property_roles">RestrictedRouteMixin</a>: <a href="https://bitbucket.org/linformatics/ember-fw-gc/src/5e99b10c/addon\mixins\restricted-route.js#L33">addon\mixins\restricted-route.js:33</a> </p> </div> <div class="description"> <p>Array of roles to be passed to the match function</p> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <script src="../assets/vendor/prettify/prettify-min.js"></script> <script>prettyPrint();</script> <script src="../assets/vendor/jquery/jquery.min.js"></script> <script src="../assets/vendor/jquery-ui/jquery-ui.min.js"></script> <script src="../assets/vendor/bootstrap/js/bootstrap.js"></script> <script src="../assets/vendor/github-slugger/slugger.js"></script> <script src="../assets/js/yuidoc-bootstrap.js"></script> </body> </html>