@onehat/data
Version:
JS data modeling package with adapters for many storage mediums.
4,746 lines (1,349 loc) • 861 kB
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>@onehat/data Module: Repository</title>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">
<link type="text/css" rel="stylesheet" href="styles/site.yeti.css">
</head>
<body>
<div class="navbar navbar-default navbar-fixed-top ">
<div class="container">
<div class="navbar-header">
<a class="navbar-brand" href="index.html">@onehat/data</a>
<button class="navbar-toggle" type="button" data-toggle="collapse" data-target="#topNavigation">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="navbar-collapse collapse" id="topNavigation">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b class="caret"></b></a>
<ul class="dropdown-menu ">
<li><a href="module-Entity.html">Entity</a></li><li><a href="module-OneHatData.html">OneHatData</a></li><li><a href="module-Property.html">Property</a></li><li><a href="module-Reader.html">Reader</a></li><li><a href="module-Repository.html">Repository</a></li><li><a href="module-Schema.html">Schema</a></li><li><a href="module-Writer.html">Writer</a></li><li><a href="module-@onehat_data.html">@onehat/data</a></li>
</ul>
</li>
<li class="dropdown">
<a href="classes.list.html" class="dropdown-toggle" data-toggle="dropdown">Classes<b class="caret"></b></a>
<ul class="dropdown-menu ">
<li><a href="module-Entity-Entity.html">Entity~Entity</a></li><li><a href="module-OneHatData.OneHatData.html">OneHatData.OneHatData</a></li><li><a href="module-Reader-JsonReader.html">Reader~JsonReader</a></li><li><a href="module-Reader-Reader.html">Reader~Reader</a></li><li><a href="module-Reader-XmlReader.html">Reader~XmlReader</a></li><li><a href="module-Repository-AjaxRepository.html">Repository~AjaxRepository</a></li><li><a href="module-Repository-CommandRepository.html">Repository~CommandRepository</a></li><li><a href="module-Repository-LocalFromRemoteRepository.html">Repository~LocalFromRemoteRepository</a></li><li><a href="module-Repository-MemoryRepository.html">Repository~MemoryRepository</a></li><li><a href="module-Repository-NullRepository.html">Repository~NullRepository</a></li><li><a href="module-Repository-OfflineRepository.html">Repository~OfflineRepository</a></li><li><a href="module-Repository-OneBuildRepository.html">Repository~OneBuildRepository</a></li><li><a href="module-Repository-RestRepository.html">Repository~RestRepository</a></li><li><a href="module-Writer-JsonWriter.html">Writer~JsonWriter</a></li><li><a href="module-Writer-Writer.html">Writer~Writer</a></li><li><a href="module-Writer-XmlWriter.html">Writer~XmlWriter</a></li>
</ul>
</li>
</ul>
<div class="col-sm-3 col-md-3">
<form class="navbar-form" role="search">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search" name="q" id="search-input">
<div class="input-group-btn">
<button class="btn btn-default" id="search-submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="container" id="toc-content">
<div class="row">
<div class="col-md-8">
<div id="main">
<h1 class="page-title">Module: Repository</h1>
<section>
<header>
<div class="class-description">Base class representing a Command</div>
<div class="class-description">Class represents a unique collection of data, with a Schema, and a storage medium.
The Repository holds a current page of Entities (this.entities), which may or may not be the
complete set of all Entities in the storage medium. The storage medium is defined by the
subclasses of Repository (e.g. MemoryRepository, AjaxRepository, etc).</div>
</header>
<article>
<div class="container-overview">
<hr>
<dt>
<h4 class="name" id="module:Repository"><span class="type-signature"></span>new (require("Repository"))(config)</h4>
</dt>
<dd>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="description last">Object with key/value pairs that define this Command</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/Command.js
</dd>
</dl>
<h5>Fires:</h5>
<ul>
<li>.'handleServerResponse',event: 'destroy']</li>
</ul>
</dd>
<hr>
<dt>
<h4 class="name" id="module:Repository"><span class="type-signature"></span>new (require("Repository"))(config)</h4>
</dt>
<dd>
<h5>Parameters:</h5>
<table class="params table table-striped">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th class="last">Description</th>
</tr>
</thead>
<tbody>
<tr>
<td class="name"><code>config</code></td>
<td class="type">
<span class="param-type">object</span>
</td>
<td class="description last">Config object
- id {string} - Optional. If supplied, must be unique
- name {string} - Optional. Defaults to schema.name
- schema - Schema object</td>
</tr>
</tbody>
</table>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
</div>
<h3 class="subsection-title">Classes</h3>
<dl>
<dt><a href="module-Repository-AjaxRepository.html">AjaxRepository</a></dt>
<dd></dd>
<dt><a href="module-Repository-CommandRepository.html">CommandRepository</a></dt>
<dd></dd>
<dt><a href="module-Repository-LocalFromRemoteRepository.html">LocalFromRemoteRepository</a></dt>
<dd></dd>
<dt><a href="module-Repository-MemoryRepository.html">MemoryRepository</a></dt>
<dd></dd>
<dt><a href="module-Repository-NullRepository.html">NullRepository</a></dt>
<dd></dd>
<dt><a href="module-Repository-OfflineRepository.html">OfflineRepository</a></dt>
<dd></dd>
<dt><a href="module-Repository-OneBuildRepository.html">OneBuildRepository</a></dt>
<dd></dd>
<dt><a href="module-Repository-RestRepository.html">RestRepository</a></dt>
<dd></dd>
</dl>
<h3 class="subsection-title">Members</h3>
<dl>
<hr>
<dt class="name" id="~api">
<h4 id="~api"><span class="type-signature"><inner> </span>api<span class="type-signature"> :object</span></h4>
</dt>
<dd>
<div class="description">
List of relative URIs to API endpoints.
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~methods">
<h4 id="~methods"><span class="type-signature"><inner> </span>methods<span class="type-signature"> :object</span></h4>
</dt>
<dd>
<div class="description">
List of methods for all four CRUD operations
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~reader">
<h4 id="~reader"><span class="type-signature"><inner> </span>reader<span class="type-signature"> :string|object</span></h4>
</dt>
<dd>
<div class="description">
Reader. Options: json|xml
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
|
<span class="param-type">object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~writer">
<h4 id="~writer"><span class="type-signature"><inner> </span>writer<span class="type-signature"> :string|object</span></h4>
</dt>
<dd>
<div class="description">
Writer. Options: json|xml
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
|
<span class="param-type">object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~paramPageNum">
<h4 id="~paramPageNum"><span class="type-signature"><inner> </span>paramPageNum<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Parameter name for currentl page number
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~paramPageSize">
<h4 id="~paramPageSize"><span class="type-signature"><inner> </span>paramPageSize<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Parameter name for current page size
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~paramSort">
<h4 id="~paramSort"><span class="type-signature"><inner> </span>paramSort<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Parameter name for sorting property
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~paramSort">
<h4 id="~paramSort"><span class="type-signature"><inner> </span>paramSort<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Parameter name for sorting direction
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~timeout">
<h4 id="~timeout"><span class="type-signature"><inner> </span>timeout<span class="type-signature"> :integer</span></h4>
</dt>
<dd>
<div class="description">
Number of milliseconds to wait before canceling request
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">integer</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~baseParams">
<h4 id="~baseParams"><span class="type-signature"><inner> </span>baseParams<span class="type-signature"> :object</span></h4>
</dt>
<dd>
<div class="description">
Params that will be applied to every request
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">object</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~allowsMultiSort">
<h4 id="~allowsMultiSort"><span class="type-signature"><inner> </span>allowsMultiSort<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether to allow >1 sorter
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Ajax.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="registerHandler">
<h4 id="registerHandler"><span class="type-signature"></span>registerHandler<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Register a handler for this command.
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/Command.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="unregisterHandler">
<h4 id="unregisterHandler"><span class="type-signature"></span>unregisterHandler<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Register a handler for this command.
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/Command.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="hasHandlers">
<h4 id="hasHandlers"><span class="type-signature"></span>hasHandlers<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Detect whether this command has any handlers.
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/Command.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="processResponse">
<h4 id="processResponse"><span class="type-signature"></span>processResponse<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Convenience function to invoke handlers
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/Command.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="destroy">
<h4 id="destroy"><span class="type-signature"></span>destroy<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Destroy this object.
- Removes event listeners
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/Command.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~id">
<h4 id="~id"><span class="type-signature"><inner> </span>id<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Must be unique, if supplied. Defaults to UUID
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/LocalFromRemote.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~mode">
<h4 id="~mode"><span class="type-signature"><inner> </span>mode<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
The mode this Repository will operate in.
Options: MODE_LOCAL_MIRROR || MODE_REMOTE_WITH_OFFLINE || MODE_COMMAND_QUEUE
Defaults to MODE_LOCAL_MIRROR
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/LocalFromRemote.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~autoSync">
<h4 id="~autoSync"><span class="type-signature"><inner> </span>autoSync<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether to auto sync this repository on initialization
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/LocalFromRemote.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~syncRate">
<h4 id="~syncRate"><span class="type-signature"><inner> </span>syncRate<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Interval with which to sync local with remote.
Format must be a relative time frame parseable with relative-time-parser's relativeTime() function.
Examples: '+10 minutes', '+6 hours', '+1 day', '+1 week'
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/LocalFromRemote.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~retryRate">
<h4 id="~retryRate"><span class="type-signature"><inner> </span>retryRate<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Interval with which to re-try syncing local with remote after a failure.
Format must be a relative time frame parseable with relative-time-parser's relativeTime() function.
Examples: '+10 minutes', '+6 hours', '+1 day', '+1 week'
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/LocalFromRemote.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~useLongTimers">
<h4 id="~useLongTimers"><span class="type-signature"><inner> </span>useLongTimers<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether to set "long" timers in JS. Sometimes React Native-Android has issues with this.
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/LocalFromRemote/LocalFromRemote.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~allowsMultiSort">
<h4 id="~allowsMultiSort"><span class="type-signature"><inner> </span>allowsMultiSort<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether to allow >1 sorter
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/OneBuild.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~id">
<h4 id="~id"><span class="type-signature"><inner> </span>id<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Must be unique, if supplied. Defaults to UUID
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~name">
<h4 id="~name"><span class="type-signature"><inner> </span>name<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Name of this repository. Defaults to Schema.name
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~autoLoad">
<h4 id="~autoLoad"><span class="type-signature"><inner> </span>autoLoad<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether to immediately load this repository's data on instantiation
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~autoSave">
<h4 id="~autoSave"><span class="type-signature"><inner> </span>autoSave<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether to automatically save entity changes to permanent storage
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~autoSort">
<h4 id="~autoSort"><span class="type-signature"><inner> </span>autoSort<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether to automatically sort entities in permanent storage
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isLocal">
<h4 id="~isLocal"><span class="type-signature"><inner, readonly> </span>isLocal<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether this Repository saves its data to local permanent storage
("permanent" being a relative term)
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isRemote">
<h4 id="~isRemote"><span class="type-signature"><inner, readonly> </span>isRemote<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether this Repository saves its data to remote permanent storage
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isRemoteFilter">
<h4 id="~isRemoteFilter"><span class="type-signature"><inner, readonly> </span>isRemoteFilter<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether this Repository filters data remotely
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isRemoteSort">
<h4 id="~isRemoteSort"><span class="type-signature"><inner, readonly> </span>isRemoteSort<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether this Repository sorts data remotely
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isPaginated">
<h4 id="~isPaginated"><span class="type-signature"><inner> </span>isPaginated<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether this Repository is paginated
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~pageSize">
<h4 id="~pageSize"><span class="type-signature"><inner> </span>pageSize<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
Max number of entities per page
Example: For "Showing 21-30 of 45" This would be 10
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~batchOrder">
<h4 id="~batchOrder"><span class="type-signature"><inner> </span>batchOrder<span class="type-signature"> :string</span></h4>
</dt>
<dd>
<div class="description">
Comma-separated ordering of add, edit, and delete batch operations
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">string</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~debugMode">
<h4 id="~debugMode"><span class="type-signature"><inner> </span>debugMode<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether this Repository should output debug messages
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~filters">
<h4 id="~filters"><span class="type-signature"><inner> </span>filters<span class="type-signature"> :array</span></h4>
</dt>
<dd>
<div class="description">
Array of filters
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">array</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~page">
<h4 id="~page"><span class="type-signature"><inner> </span>page<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
State: Current page number in pagination
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~pageTotal">
<h4 id="~pageTotal"><span class="type-signature"><inner> </span>pageTotal<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
Getter for
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~pageStart">
<h4 id="~pageStart"><span class="type-signature"><inner> </span>pageStart<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
Index (based on total) of the first item on the current page.
Example: "Showing 21-30 of 45" This would be 21
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~pageEnd">
<h4 id="~pageEnd"><span class="type-signature"><inner> </span>pageEnd<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
Index (based on total) of the last item on the current page
Example: "Showing 21-30 of 45" This would be 30
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~totalPages">
<h4 id="~totalPages"><span class="type-signature"><inner> </span>totalPages<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
Total number of pages based on this.total and this.pageSize
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~total">
<h4 id="~total"><span class="type-signature"><inner> </span>total<span class="type-signature"> :number</span></h4>
</dt>
<dd>
<div class="description">
Total number of entities in remote storage that pass filters
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">number</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isFiltered">
<h4 id="~isFiltered"><span class="type-signature"><inner> </span>isFiltered<span class="type-signature"> :Boolean</span></h4>
</dt>
<dd>
<div class="description">
State: whether or not any filters are currently applied to entities
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isInitialized">
<h4 id="~isInitialized"><span class="type-signature"><inner> </span>isInitialized<span class="type-signature"> :Boolean</span></h4>
</dt>
<dd>
<div class="description">
State: whether or not this repository has been completely initialized
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isLoaded">
<h4 id="~isLoaded"><span class="type-signature"><inner> </span>isLoaded<span class="type-signature"> :Boolean</span></h4>
</dt>
<dd>
<div class="description">
State: whether or not entities have been loaded at least once
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isLoading">
<h4 id="~isLoading"><span class="type-signature"><inner> </span>isLoading<span class="type-signature"> :Boolean</span></h4>
</dt>
<dd>
<div class="description">
State: whether or not entities are currently being loaded
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isSaving">
<h4 id="~isSaving"><span class="type-signature"><inner> </span>isSaving<span class="type-signature"> :Boolean</span></h4>
</dt>
<dd>
<div class="description">
State: whether or not entities are currently being saved
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isSorted">
<h4 id="~isSorted"><span class="type-signature"><inner> </span>isSorted<span class="type-signature"> :Boolean</span></h4>
</dt>
<dd>
<div class="description">
State: whether or not any sorting is currently applied to entities
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~allowsMultiSort">
<h4 id="~allowsMultiSort"><span class="type-signature"><inner> </span>allowsMultiSort<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether to allow >1 sorter
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~isDestroyed">
<h4 id="~isDestroyed"><span class="type-signature"><inner> </span>isDestroyed<span class="type-signature"> :boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether this object has been destroyed
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="load">
<h4 id="load"><span class="type-signature"><abstract> </span>load<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Tells storage medium to load data
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="setAutoSave">
<h4 id="setAutoSave"><span class="type-signature"></span>setAutoSave<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Sets the autoSave setting of this Repository
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="setAutoLoad">
<h4 id="setAutoLoad"><span class="type-signature"></span>setAutoLoad<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Sets the autoLoad setting of this Repository
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="~hasSorters">
<h4 id="~hasSorters"><span class="type-signature"><inner> </span>hasSorters<span class="type-signature"> :Boolean</span></h4>
</dt>
<dd>
<div class="description">
Whether or not any sorters are applied
</div>
<h5>Type:</h5>
<ul>
<li>
<span class="param-type">Boolean</span>
</li>
</ul>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="clearSort">
<h4 id="clearSort"><span class="type-signature"></span>clearSort<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Clear all sorting from this Repository.
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="sort">
<h4 id="sort"><span class="type-signature"></span>sort<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Sets the sorting applied to entities.
Chainable function.
Usage:
- repository.sort(); // Reverts back to default sort. To actually *clear* all sorters, use this.clearSort()
- repository.sort('last_name'); // sort by one property, ASC
- repository.sort('last_name', 'ASC'); // sort by one property
- repository.sort({ // sort by one property, object notation
name: 'last_name',
direction: 'ASC',
});
- repository.sort([ // sort by multiple properties
{
name: 'last_name',
direction: 'ASC',
},
{
name: 'first_name',
direction: 'ASC',
},
]);
- sort().filter() // combine with filter
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="getDefaultSorters">
<h4 id="getDefaultSorters"><span class="type-signature"></span>getDefaultSorters<span class="type-signature"></span></h4>
</dt>
<dd>
<div class="description">
Gets default sorters. Either what was specified on schema, or sorty by displayProperty ASC.
</div>
<dl class="details">
<dt class="tag-source method-doc-label method-doc-details-label">Source:</dt>
<dd class="tag-source">
Repository/Repository.js
</dd>
</dl>
</dd>
<hr>
<dt class="name" id="setSorters">
<h4 id="setSorters"><span class="type-signature"></span>setSorters<span class="type-signature"></span></h4>
</dt>
<dd>