Ownership and Right to Make Changes
hireGEMS is an online service owned and operated by HRgems, Inc. who has the right, without notice, to change the look, feel, format of the website, any and all fees and prices charged or collected for credits to be used toward service and for services delivered;
Scope of Use and User Email: email addresses are not used in marketing lists and are maintained in the program;
Intellectual Property
The materials on the hireGEMS site are copyrighted and protected by all United States and international copyright laws and unlawful copying will be considered infringement;
No Warranties
The hireGEMS website is provided "as is" and contains no express, statutory or implied warranties;
Fees for Credits
Credits are purchased and used to launch services at the time of purchase or at a later date. Sales of all credits are final, non-refundable and with the sole purpose and value to launch hireGEMS services;
Use of Credits
A Credit is spent and deducted from the My Credit number of credits at the time a service is launched. This occurs before it is completed by an applicant or third party for launches on the iPad or tablet or device and before it is completed by an applicant or third party for launches to an email address.


Description: The majority of comments from the focus groups highlighted the high cost associated with healthcare for urban Syrian refugees living in Jordan (especially for hospitalization and treatment). Comments: 'failure to cover the costs of treating certain health conditions.' 'Conducting all tests or follow-up medical treatment necessary even if he had to incur the full costs of the treatment and diagnosis and was unable to find an entity to provide free treatment or financial support covering the costs of treatment.' 'He took some painkillers, but after the pain increased, they were instructed to hospitalize him through Jordan Health Aid Society, but since they live outside the camp, they were not covered.' 'He asked me to undergo tomography, but I cannot cover the cost of that.' 'In some cases, lack of free medication was a major problem, which sometimes forced users to overlook the disease and not take any medications.' 'Could not afford the treatment/medication.' 'If only, there is treatment and coverage for the cost of delivery and childbirth.' 'Some of them did not complete their treatment, because of their inability to cover the costs of treatment.' 'She went to a health center that provides free medical services where she was examined but did not get the medication. Instead, the doctor wrote her a prescription to buy the medications herself from outside the center. This happened after she waited a long time to be seen by the doctor, and travelled a long distance in public transportation. Now, she has to go and buy the very expensive medicine, which she cannot afford. So she returned home in a state of severe depression.' 'The lack of medications at health care centers forces the users sometimes to personally cover the expenses.' 'In some cases, lack of free medication was a major problem, which sometimes forced users to overlook the disease and not take any medications.' 'Could not afford the treatment/medication.' 'After the diagnosis, they don’t receive any treatment or the medication is not prescribed to them, and even if they were given a prescription, the medication is not available in the center, and they have to buy it from private pharmacies outside the governmental center.'
Full Data link


One joke is that the internet is not a series of tubes, but a series of forms. Log-in forms, comment forms, shopping order forms, just forms everywhere. This exercise is a small introduction to doing arbitrary operations with form data using javascript and the jquery library.
Go to this repository, fork it, download the files and set it up as a page on your github.io repo.
Here's a working example of the mad libs game, play it a few times, explore the HTML but not the javascript and try to implement the functionality.


EG1 is similar to CLL, but it also swaps two pieces on the
There are 42 algorithms (the 40 here plus adj-adj and diag-adj PBLs), sorted by their OLL case.
If an algorithm is preceded by a letter in brackets (ex: [L]), hold the bottom bar on that side. If there is no letter in brackets, hold it in the back.


Plasma Cash
Transcript By: Bryan Bishop
Tags: Covenants, Lightning, Sidechains, Layer 2, Ethereum
Category: Conference
Plasma Cash: Towards more efficient plasma constructions
Non-custodial sidechains for bitcoin utilizing plasma cash and covenants
Georgios Konstantopoulos
https://twitter.com/kanzure/status/1172108023705284609
paper: https://github.com/loomnetwork/plasma-paper/blob/master/plasma_cash.pdf
slides: https://gakonst.com/scalingbitcoin2019.pdf
Introduction
We have known how to do these things for at least a year, but the question is how can we find the minimum changes that we can figure out to do in bitcoin if any on how to explore the layer 2 space in a better sense rather than just accepting that lightning network is the dominant solution? When I talk about layer 2, I mean scaling solutions that have realistic assumptions. Multisig is not sufficient. I don’t want to assume that the path you’re working with doesn’t collude with someone else. Lightning might be okay.
Related work
- Plasma
- Plasma on EthResearch forum
- NOCUST
- CoinCovenants using SCIP signatures
- Preventing consensus fraud with commitments and single-use seals
- one more
Scaling
One idea is to make transactions smaller or use off-chain transactions. Or bigger blocks, but I won’t talk about that.
Sidechannels considered harmful
Sidechains operate under the basic idea that you lock some funds on the original chain, then you provide some proof on the other chain, and somehow the same asset you lock doesn’t get created on the other place. In the PoW sidechannel situation, you mint BTC when you transfer it over, and then you burn the BTC when you transfer it back to mainnet. The problem with this is that there’s no succinct SPV proof– they all have tradeoffs.
One possible problem with sidechains is that they might not allow you to withdraw your coins because the fedpeg multisigners might not like your withdrawal.
Statechains considered harmful
It’s similar to sidechains, you have a multisig with this entity, but if you are here, it can collude with any previous owner of the coin which is also not good. We don’t want that. So how can we do better than that?
Plasma Cash tradeoffs
Plasma Cash has been proposed for some time. It has some specific tradeoffs. Similar to the statechains construction, you have one party called the operator. It can be one person or many people. He can’t steal, but they might be able to censor transactions. The feature of this scheme is that this party puts a constant-sized commitment on the layer 1 chain he wants to use. He’s able to “finalize” an arbitrary number of transactions in one on-chain transaction.
There are no overcollateralization requirements like in lightning. There’s no need to sign to receive a payment. Also, can receive funds without on-chain transactions. There is no notion here of inbound liquidity.
There are fixed denomination transfers. If I deposit 5 BTC into this, then I can only move 5 BTC around. It’s safe only under liveness assumption, and it has O(1) stale state fraud proofs. You have to watch the chain every some number of days to make sure that somebody can’t steal the money, like the owner of the coin or some collusion with the operator. Also, it requires high base chain quality, so that dispute resolutions can reliably get included. The chain has to be uncongested. These are our security assumptions.
Plasma cash
Instead of having two separate sytsems, the operator commits each block root to the “parent chain”. It creates a merkle root or some other accumulator whatever one you want to use. It takes the merkle root, and it publishes it on the root chain as we call it.
I need to prove the whole UTXO history to the party receiving coins. I need to prove that the money was not spent in between, also. We need to prove exclusion of a payment in the previous history. The history I need to transfer grows linearly with the number of blocks. There are approahces to solve that problem, but that’s not the focus of this talk.
Similar to lightning, when you make a deposit, you lock funds on layer 1. If you want to take your money out, you spend it from the deposit script to an exit script and it has all the dispute resolution logic. After some amount of time, the money is yours. There’s also a spend to a fraud-proof script to exit.
An on-chain entity can challenge and spend the money back to the deposit script.
We use a sparse merkle tree. There is a transactoin hash at each UTXO_ID index. You can make merkle inclusion proofs using the sibling pair-level merkle proof. For a proof of exclusion, you basically prove that you included zero in that tree. Prove that coin 7 didn’t move in this block is basically a proof that in this block, a hash of 0 was included, for that serial number.
There is an invalid history challenge construction where you can provide proofs from the sparse merkle tree.
Covenant designs
My favorite is OP_CHECKSIGFROMSTACK. There’s OP_CHECKOUTPUT (MES'16). OP_CHECKOUTPUTHASHVERIFY but it doesn’t let you do a turing-complete state machine. There’s also OP_SECURETHEBAG (Rubin 2019). Also OP_PUSHTXDATA (Lau 2017). Also another idea is to use pre-signed transactions which recently Bryan Bishop published a spec for it, where everyone signs on all the possible states and you trust that everyone holds the necessary signatures and trust that you can be safe. It doesn’t require any changes to the protocol, however it doesn’t scale to many many participants.
Implementing Plasma Cash on bitcoin
We want a state machine. Every coin is a state machine.
Merkle proof verification
I need merkle proof verification like VerifyIncluded(UTXO_ID, ROOT, TX_HASH, PROOF). This is similar to OP_MERKLEBRANCHVERIFY from maaku.
There’s also CHECKSIGFROMSTACKVERIFY where you would use BLOCK_NUM, ROOT, SIG. You need to check that the operator signed on the block that was published, because bitcoin doesn’t have a global state like ethereum. So this would concatenate them, hash them, then check if the operator actually signed on this blob. If they have signed on this, and the merkle proof verification passes.
You also need to verify that the transaction format is valid.
EnforceSpentTo is also required, which enforces UTXO is spent to the next state. I want to be able to go the next state, but also go back to the previous state in case someone challenges me. You can use PICK to dynamically construct the covenants with the scriptSig args.
Summary
We have off-chain fixed-denomination payments. We can compress any amount of transactions to O(1) commitment on layer 1. The operator can censor, but he cannot steal under the liveness assumption. This requires restrictions on spending outputs, and merkle proof verification, and another thing.
Plasma Cash unlike lightning has exploding history, but checkpoints or accumulators might fix this. On the other hand, plasma cash can receive payments when keys are cold, and it’s capital efficient with collateral, and no on-chain transactions are required to transact. One downside might be that plasma cash requires fixed denominations.
An accumulator or checkpoint might be able to compress all the inclusion proofs.


World UFO Day
UFO Sightings Database
Enter a Date
Enter a City
Enter a State
Enter a Country
Enter a Shape
Date/Time
City
State
Country
Shape
Duration (min)
Comments


The ODIN library uses Cubbles as base technology. Therefore,
every ODIN component is a Cubbles component. ODIN components are designed to be used for
ETL processes with data
visualisation in mind. One key difference between a Cubble and an ODIN component is the
specialisation on handling various forms of data. Processing data can be generalised, but
to support a wide variety of use cases one needs to balance between simplicity and
complexity. Thats the goal of this library and its components and utilities. The library
itself introduces three component types: Connectors
, Transformers
and Views
. Each
component type has a number of restrictions and requirements that implementations must
fulfill. This way, its easy to connect ODIN components together to archive what one wants
to: processing data to get meaningful information and present them in a modern fashion.
A connector is a component which provides data from a specific source. The source should be stable. Requests should be performed asynchronously and via a secured protocol like HTTPS. The internal request process must start when an input slot changes, but exceptions may be stated for first-time changes.
data
, and the other one in case of an error, called error
.
| slot name | description |
|---|---|
data |
Outputs the data that was requested. The data type can be anything, but implementations should consider outputting JSON for compatibility reasons. |
error |
This slot signals an error. The error must be wrapped in an Error object .
Use odin.createErrorObj to generate one.
|
In general, connectors are considered to work asynchronously by default, but every connector should
clearly state his internal request process. An asynchronous process implies that once the input slots
are set it'll take some indeterminate time for the result to be evaluated and accessible via getter's
and output slots.
In this case an user should use a listener/observer like pattern on the output slots, so that he'll be
notified once a result is ready to access (use the cifModelChange
event on the component).
In case of a synchronously internal request process the user may access the results via getter's directly.
See RTE / User Guide / The Cubbles Javascript API / Intercepting changes on output slots
for more information.
A connector which requests simple data from DBpedia (http://www.dbpedialite.org/) in different output formats. The requested data must be specified by unique wikipedia page ids. The internal request process starts when an input slot changes, but all other input slots must be set with a valid value first. After the value is set, each change will trigger the process with the current changed value of an input slot and with all previously setted values of the other input slots.
Please note: This connector queries all data via a non-secured protocol (http).
See demo page.
| Method | Returns | Description |
|---|---|---|
getData()
|
Object[]|String[]
|
See dbpedialite-connector-data for more details.
|
getError()
|
Error object|undefined|null
|
See dbpedialite-connector-error
for more details.
|
setPageIds( <String[]> pageIds)
|
See dbpedialite-connector-pageIds
for more details.
|
|
setDataFormat( <String> dataFormat)
|
See dbpedialite-connector-dataFormat
for more details.
|
As all connectors, this one works asynchronously. See connectors-synchronization
.
| Name | Type | Default | Description |
|---|---|---|---|
pageIds
|
String[]
|
An array of strings containing unique wikipedia page ids. A wikipedia page id is located at the "Page information" of each wikipedia article (on the left column in the section "Tools"). E.g. https://en.wikipedia.org/w/index.php?title=Berlin&action=info is the page information for "Berlin". | |
dataFormat
|
String
|
A string enum. Value can be one of:
|
| Name | Type | Description |
|---|---|---|
data
|
Object[]|String[]
|
Returns an array of objects, each object contains the queried data of each given
wikipedia page id by the latest inputs. The order is defined by the input slots
pageIds array. The type of each element in dbpedialite-connector-data is
defined by the input slot dbpedialite-connector-dataFormat . The data formats
JSON and JSON-LD will produce objects while all others will be strings.
|
error
|
Error object|undefined|null
|
Returns an Error object , if an error occured while processing the latest inputs,
otherwise undefined or null .
|
A transformer is a component which handles data and transforms them. That may include transformations like mapping, filtering, adding, splitting or even validating of data. The internal process must start when an input slot changes, but exceptions may be stated for first-time changes.
dataIn
. Another input slot is optional,
called config
.
| slot name | description |
|---|---|
dataIn |
Used to put in the incoming data for the component. The data type can be anything, but implementations should consider JSON for compatibility reasons. |
config |
The configuration of this component. It's optional, but if present it must feature certain aspects of the internal process and it must be an object. |
dataOut
, and the other one in case of an error, called error
.
| slot name | description |
|---|---|
dataOut |
Outputs the transformed data. The data type can be anything, but implementations should consider outputting JSON for compatibility reasons. |
error |
This slot signals an error. The error must be wrapped in an Error object .
Use odin.createErrorObj to generate one.
|
In general, transformers are considered to work synchronously by default, but every transformer should
clearly state his internal process. A synchronous process implies that once the input slots
are set the result will be evaluated and accessible afterwards via getter's directly.
In case of an asynchronously internal process an user should use a listener/observer like pattern on
the output slots, so that he'll be notified once a result is ready to access (use the
cifModelChange
event on the component).
See RTE / User Guide / The Cubbles Javascript API / Intercepting changes on output slots
for more information.
A transformer which maps an array of data to a normalized data structure
(all data
structures). The internal process starts when an input slot changes, but all other
input slots must be set with a valid value first. After the value is set, each
change will trigger the process with the current changed value of an input slot and
with all previously setted values of the other input slots.
See demo page.
| Method | Returns | Description |
|---|---|---|
getDataOut()
|
Object|Array
|
See array-element-mapper-dataOut for more details.
|
getError()
|
Error object|undefined|null
|
See array-element-mapper-error
for more details.
|
setConfig( <AEM Config Options> config)
|
See array-element-mapper-config
for more details.
|
|
setDataIn( <Array> dataIn)
|
See array-element-mapper-dataIn for more details.
|
As all transformers, this one works synchronously. See transformers-synchronization
.
| Name | Type | Default | Description |
|---|---|---|---|
config
|
AEM Config Options
|
The configuration of this component. It defines how to map the incoming data
to the desired result (normalized data structure ).
|
|
dataIn
|
Array
|
The incoming data, which is an array that may contain elements of either the type object or array, but not both. In case of object elements, each property of such an object may be of any type. In case of array elements, each element of such an array may be of any type. |
| Name | Type | Description |
|---|---|---|
dataOut
|
Object|Array
|
Returns an object or array as the mapping result (normalized data structure ).
The structure and type of the result is determined by the AEM Config Options of
the input slot array-element-mapper-config .
|
error
|
Error object|undefined|null
|
Returns an Error object , if an error occured while processing the latest inputs,
otherwise undefined or null .
|
The configuration object of this component.
| Name | Type | Default | Description |
|---|---|---|---|
mapToObjects
|
Boolean
|
true if the resulting data structure shall be composed of objects,
otherwise false for arrays. See normalized data structure for more details.
|
|
mapToTuples
|
Boolean
|
true
|
true if the resulting data structure shall be composed of data tuples,
otherwise false for data series. See normalized data structure for more details.
|
mappings
|
Mapping[]
|
An array of Mapping elements, with each element defining a mapping
rule. Each rule must be unique.
|
A mapping object defines a mapping rule.
| Name | Type | Default | Description |
|---|---|---|---|
src
|
Odin Path w/ parsing
|
A path to the source data in array-element-mapper-dataIn with an
optional parsing option. See Odin Path w/ parsing for more details.
|
|
target
|
String
|
Specifies a target property. Applies if array-element-mapper-config-mapToObjects is true .
|
|
target
|
Array index
|
Specifies a target index. Applies if array-element-mapper-config-mapToObjects is false .
|
This component converts XML (as string) to JSON. Uses Fast XML Parser for the conversion. The internal process starts when an input slot changes, but all other input slots must be set with a valid value first. After the value is set, each change will trigger the process with the current changed value of an input slot and with all previously setted values of the other input slots.
See demo page.
| Method | Returns | Description |
|---|---|---|
getDataOut()
|
Object
|
See xml-to-json-converter-dataOut for more details.
|
getError()
|
Error object|undefined|null
|
See xml-to-json-converter-error
for more details.
|
setConfig( <XTJC Config Options> config)
|
See xml-to-json-converter-config
for more details.
|
|
setDataIn( <String> dataIn)
|
See xml-to-json-converter-dataIn for more details.
|
As all transformers, it works synchronously. See transformers-synchronization
.
| Name | Type | Default | Description |
|---|---|---|---|
config
|
XTJC Config Options
|
The configuration of this component. It provides different ways to influence the conversion, but its optional. | |
dataIn
|
String
|
The incoming data, which is a XML string. |
| Name | Type | Description |
|---|---|---|
dataOut
|
Object
|
Returns the result as JSON. The result is determined by the XTJC Config Options of
the input slot xml-to-json-converter-config .
|
error
|
Error object|undefined|null
|
Returns an Error object , if an error occured while processing the latest inputs,
otherwise undefined or null .
|
The configuration object of this component.
| Name | Type | Default | Description |
|---|---|---|---|
attributeNamePrefix
|
String
|
"@_"
|
Defines the prefix that should be prepended for XML attributes. |
attrNodeName
|
String
|
A group name that compacts all XML attributes in one JSON object with the name as property key. | |
textNodeName
|
String
|
"#text"
|
Defines the JSON property key for XML text nodes. |
ignoreAttributes
|
Boolean
|
true
|
true if XML attributes should be ignored, otherwise false .
|
ignoreNameSpace
|
Boolean
|
false
|
true if XML namespace references should be omitted, otherwise false .
|
allowBooleanAttributes
|
Boolean
|
false
|
true if XML attributes w/o a value should be allowed and
interpreted as boolean, otherwise false .
|
parseNodeValue
|
Boolean
|
true
|
true if XML node values should be parsed to JSON values, otherwise
false if they should be strings.
|
parseAttributeValue
|
Boolean
|
true
|
true if XML attribute values should be parsed to JSON values, otherwise
false if they should be strings.
true if all values should be trimmed (removing spaces at the beginning
and end).
|
cdataTagName
|
String
|
Defines the JSON property key for XML CDATA sections. If not defined, then the CDATA section will appear in the value of the node that defined it. | |
cdataPositionChar
|
String
|
"\\c"
|
A marker that will be placed in the node containing a CDATA section. Useful to maintain the position. |
localeRange
|
String
|
Defines the acceptable character range for handling non-english element and attribute names. |
This component converts JSON object to a XML string. Uses Fast XML Parser for the conversion. The internal process starts when an input slot changes, but all other input slots must be set with a valid value first. After the value is set, each change will trigger the process with the current changed value of an input slot and with all previously setted values of the other input slots.
See demo page.
| Method | Returns | Description |
|---|---|---|
getDataOut()
|
Object
|
See json-to-xml-converter-dataOut for more details.
|
getError()
|
Error object|undefined|null
|
See json-to-xml-converter-error
for more details.
|
setConfig( <JTXC Config Options> config)
|
See json-to-xml-converter-config
for more details.
|
|
setDataIn( <Object> dataIn)
|
See json-to-xml-converter-dataIn for more details.
|
As all transformers, it works synchronously. See transformers-synchronization
.
| Name | Type | Default | Description |
|---|---|---|---|
config
|
JTXC Config Options
|
The configuration of this component. It provides different ways to influence the conversion, but its optional. | |
dataIn
|
Object
|
The incoming data, which is a JSON object. |
| Name | Type | Description |
|---|---|---|
dataOut
|
String
|
Returns the result as JSON. The result is determined by the JTXC Config Options of
the input slot json-to-xml-converter-config .
|
error
|
Error object|undefined|null
|
Returns an Error object , if an error occured while processing the latest inputs,
otherwise undefined or null .
|
The configuration object of this component.
| Name | Type | Default | Description |
|---|---|---|---|
attributeNamePrefix
|
String
|
"@_"
|
Defines the prefix that identifies properties which should be treated as XML attributes. |
attrNodeName
|
String
|
A property key of an object that contains key-value pairs which should be treated as XML attributes. | |
textNodeName
|
String
|
"#text"
|
Defines the property which should be treated as XML text node. |
ignoreAttributes
|
Boolean
|
true
|
true if properties which are treated as XML attributes should be
omitted, otherwise false .
|
cdataTagName
|
String
|
Defines the property for the XML CDATA section. | |
cdataPositionChar
|
String
|
"\\c"
|
A marker that identifies an occurence of a XML CDATA section. |
format
|
Boolean
|
false
|
true if the result should be formatted, otherwise false .
|
indentBy
|
String
|
""
|
Defines the indention if format is true .
|
supressEmptyNode
|
Boolean
|
false
|
true if XML elements without any value (text or nested elements) should
be self closing elements (e.g. <br >), otherwise false .
|
A transformer which maps an array of data to a normalized data structure
(all data
structures). The internal process starts when an input slot changes, but all other
input slots must be set with a valid value first. After the value is set, each
change will trigger the process with the current changed value of an input slot and
with all previously set values of the other input slots. A demo example:
| name | dataIn | config | dataOut |
|---|---|---|---|
Array with object tuples |
[ // "a", "b", "c", "d" <-- keys (columns) { "a": 1234, "b": 5432, "c": 235, "d": 6547 }, // 0 <-- indices (rows) { "a": 9876, "b": 5498, "c": 1234, "d": 6547 }, // 1 { "a": 754, "b": 234, "c": 5498, "d": 1234 } // 2 ] |
{ "elementsAreObjects": true, "dataContainsTuples": true } |
[ // 0, 1, 2 <-- former indicies (columns) { "0": 1234, "1": 9876, "2": 754 }, // "a" <-- former keys (rows) { "0": 5432, "1": 5498, "2": 234 }, // "b" { "0": 235, "1": 1234, "2": 5498 }, // "c" { "0": 6547, "1": 6547, "2": 1234 } // "d" ] |
Object with series per property |
{ // 0, 1, 2 <-- indicies (columns) "a": [ 1234, 9876, 754 ], // "a" <-- keys (rows) "b": [ 5432, 5498, 234 ], // "b" "c": [ 235, 1234, 5498 ], // "c" "d": [ 6547, 6547, 1234 ] // "d" } |
{ "elementsAreObjects": true, "dataContainsTuples": false } |
{ // "a", "b", "c", "d" <-- former keys (columns) "0": [ 1234, 5432, 235, 6547 ], // 0 <-- former indicies (rows) "1": [ 9876, 5498, 1234, 6547 ], // 1 "2": [ 754, 234, 5498, 1234 ] // 2 } |
Array with array tuples |
[ // 0, 1, 2, 3 <-- inner array indices (columns) [ 1234, 5432, 235, 6547 ], // 0 <-- outer array indicies (rows) [ 9876, 5498, 1234, 6547 ], // 1 [ 754, 234, 5498, 1234 ] // 2 ] |
{ "elementsAreObjects": false, "dataContainsTuples": true } |
[ // 0, 1, 2 <-- former outer array indices (columns) [ 1234, 9876, 754 ], // 0 <-- former inner array indices (rows) [ 5432, 5498, 234 ], // 1 [ 235, 1234, 5498 ], // 2 [ 6547, 6547, 1234 ] // 3 ] |
Array with array series |
[ // 0, 1, 2 <-- inner array indices (columns) [ 1234, 9876, 754 ], // 0 <-- outer array indices (rows) [ 5432, 5498, 234 ], // 1 [ 235, 1234, 5498 ], // 2 [ 6547, 6547, 1234 ] // 3 ] |
{ "elementsAreObjects": false, "dataContainsTuples": false } |
[ // 0, 1, 2, 3 <-- former outer array indices (columns) [ 1234, 5432, 235, 6547 ], // 0 <-- former inner array indices (rows) [ 9876, 5498, 1234, 6547 ], // 1 [ 754, 234, 5498, 1234 ] // 2 ] |
See demo page.
| Method | Returns | Description |
|---|---|---|
setDataOut()
|
normalized data structure
|
See nds-inverter-dataOut for more details.
|
getError()
|
Error object|undefined|null
|
See nds-inverter-error
for more details.
|
setConfig( <NDSI Config Options> config)
|
See nds-inverter-config
for more details.
|
|
setDataIn( <normalized data structure> dataIn)
|
See nds-inverter-dataIn for more details.
|
As all transformers, this one works synchronously. See transformers-synchronization
.
| Name | Type | Default | Description |
|---|---|---|---|
config
|
NDSI Config Options
|
The configuration of this component. It defines how to map the incoming data
to the desired result (normalized data structure ).
|
|
dataIn
|
normalized data structure
|
The incoming data, which is an array/object that may contain elements of either the type object or array, but not both. In case of object elements, each property of such an object may be of any type. In case of array elements, each element of such an array may be of any type. |
| Name | Type | Description |
|---|---|---|
dataOut
|
normalized data structure
|
Returns an object or array as the mapping result (normalized data structure ).
The structure and type of the result is determined by the AEM Config Options of
the input slot nds-inverter-config .
|
error
|
Error object|undefined|null
|
Returns an Error object , if an error occurred while processing the latest inputs,
otherwise undefined or null .
|
The configuration object of this component.
| Name | Type | Default | Description |
|---|---|---|---|
elementsAreObjects
|
Boolean
|
true if the resulting data structure is composed of objects,
otherwise false for arrays. See normalized data structure for more details.
|
|
dataContainsTuples
|
Boolean
|
true
|
true if the resulting data structure is composed of data tuples,
otherwise false for data series. See normalized data structure for more details.
|
A view is a component which displays data in a meaningful way. That may include tables, chart, geographical maps or even just text. Views tend to be complex, therefore they should feature a configuration to reflect it, offering users choices to visualise the data in many ways. Views usually do not define any styling (css) themselves. Instead they feature configuration options to let the user place css classes for styling. The internal request process must start when an input slot changes, but exceptions may be stated for first-time changes.
data
, and one for
the configuration, called config
.
| slot name | description |
|---|---|
data |
Used to put in the incoming data for the component. The data type must be JSON for compatibility reasons. |
config |
The configuration of this component. It must feature certain aspects of the view (formatting etc.)
and it must be an object. Also every view must have a configuration option called wrapperClass
which accepts a css class as string. This string must be placed in the surrounding div element
of the view. Any other configuration option that is meant to hold a css class should have Class
at the end of its name.
|
onViewUpdate
, and the
other one in case of an error, called error
.
| slot name | description |
|---|---|
onViewUpdate |
Signals that the component updated its internal state successfully (this does not include the
rendering process). Implementation should use odin.triggerOnViewUpdate to set this slot.
|
error |
This slot signals an error. The error must be wrapped in an Error object .
Use odin.createErrorObj to generate one.
|
In general, views are considered to work partially synchronously and asynchronously.
While the internal process of processing the data and configuration is likely to be
a synchronous process, the rendering might happen asynchronously, but every view should
clearly state his internal process. This implies that once the input slots are set it'll
take some determinate time for the result to be evaluated, but an indeterminate time
to rendering it.
In any case an user should use a listener/observer like pattern on the output slots, so that he'll be
notified once a result is ready to access (use the cifModelChange
event on the component).
See RTE / User Guide / The Cubbles Javascript API / Intercepting changes on output slots
for more information.
A view which displays any given data in a <pre>
element as it is (excluding HTML
entities).
The internal process starts when an input slot changes, but all other input slots
must be set with a valid value first. After the value is set, each change will
trigger the process with the current changed value of an input slot and with all
previously setted values of the other input slots.
See demo page.
| Method | Returns | Description |
|---|---|---|
getOnViewUpdate()
|
View update object
|
See plaintext-view-onViewUpdate for more details.
|
getError()
|
Error object|undefined|null
|
See plaintext-view-error
for more details.
|
setConfig( <PTV Config Options> config)
|
See plaintext-view-config
for more details.
|
|
setData( <null|Boolean|Number|String|Object|Array> data)
|
See
plaintext-view-data for more details.
|
As all views, this one works synchronously, but rendering might be
asynchronously. See views-synchronization
.
| Name | Type | Default | Description |
|---|---|---|---|
config
|
PTV Config Options
|
The configuration of this component. It defines how to format the content. | |
data
|
null|Boolean|Number|String|Object|Array
|
The incoming data to display. |
| Name | Type | Description |
|---|---|---|
onViewUpdate
|
View update object
|
Signals that the internal process of this view has ended successfully (this does not include the rendering process). |
error
|
Error object|undefined|null
|
Returns an Error object , if an error occured while processing the latest inputs,
otherwise undefined or null .
|
The configuration object of this component.
| Name | Type | Default | Description |
|---|---|---|---|
wrapperClass
|
String
|
A css class name that can be used as selector for the entire component. | |
preClass
|
String
|
A css class name that can be used as selector for the entire <pre> element.
|
|
space
|
Number|String
|
If a Number , then it defines the tab size (or indention) of the content
as spaces. As a String it defines the indention character sequence to use.
|
A view which displays the given data as a table. The internal process starts when an input slot changes, but all other input slots must be set with a valid value first. After the value is set, each change will trigger the process with the current changed value of an input slot and with all previously setted values of the other input slots.
See demo page.
| Method | Returns | Description |
|---|---|---|
getOnViewUpdate()
|
View update object
|
See table-view-onViewUpdate for more details.
|
getError()
|
Error object|undefined|null
|
See table-view-error
for more details.
|
setConfig( <TV Config Options> config)
|
See table-view-config
for more details.
|
|
setData( <normalized data structure> data)
|
See table-view-data for more details.
|
As all views, this one works synchronously, but rendering might be
asynchronously. See views-synchronization
.
| Name | Type | Default | Description |
|---|---|---|---|
config
|
TV Config Options
|
The configuration of this component. It defines how to interprete the incoming
data (normalized data structure ) and format the table.
|
|
data
|
normalized data structure
|
The incoming data, which must be a normalized data structure .
|
| Name | Type | Description |
|---|---|---|
onViewUpdate
|
View update object
|
Signals that the internal process of this view has ended successfully (this does not include the rendering process). |
error
|
Error object|undefined|null
|
Returns an Error object , if an error occured while processing the latest inputs,
otherwise undefined or null .
|
The configuration object of this component.
| Name | Type | Default | Description |
|---|---|---|---|
elementsAreObjects
|
Boolean
|
true if the resulting data structure is composed of objects,
otherwise false for arrays. See normalized data structure for more details.
|
|
dataContainsTuples
|
Boolean
|
true
|
true if the resulting data structure is composed of data tuples,
otherwise false for data series. See normalized data structure for more details.
|
wrapperClass
|
String
|
A css class name that can be used as selector for the entire component. | |
tableClass
|
String
|
A css class name that can be used as selector for the entire <table> element.
|
|
headClass
|
String
|
A css class name that can be used as selector for the entire <thead> element.
|
|
bodyClass
|
String
|
A css class name that can be used as selector for the entire <tbody> element.
|
|
rowClass
|
String
|
A css class name that can be used as selector for all <tr> elements.
|
|
headerClass
|
String
|
A css class name that can be used as selector for all <th> elements.
|
|
cellClass
|
String
|
A css class name that can be used as selector for all <td> elements.
|
|
showRowNumbers
|
Boolean
|
false
|
true if the table should show the number of each row in the first column, otherwise false .
|
header
|
Header[]
|
An array of Header elements, with each element defining a column heading of the table.
Each definition must be unique.
|
A header object defines a heading for the table.
| Name | Type | Default | Description |
|---|---|---|---|
name
|
String
|
The name of the column heading to display. | |
key
|
String
|
Specifies the property to use from the data objects. Applies if
table-view-config-elementsAreObjects is true .
|
|
key
|
Array index
|
Specifies the index to use from the data objects. Applies if
table-view-config-elementsAreObjects is false .
|
A view which displays the given data in a chart. Uses c3.js and d3 (as dependency). It supports various chart types including bar, line, area, donut and others. The internal process starts when an input slot changes, but all other input slots must be set with a valid value first. After the value is set, each change will trigger the process with the current changed value of an input slot and with all previously setted values of the other input slots.
See demo page.
| Method | Returns | Description |
|---|---|---|
getOnViewUpdate()
|
View update object
|
See chart-view-onViewUpdate for more details.
|
getError()
|
Error object|undefined|null
|
See chart-view-error
for more details.
|
setConfig( <CV Config Options> config)
|
See chart-view-config
for more details.
|
|
setData( <normalized data structure> data)
|
See chart-view-data for more details.
|
As all views, this one works synchronously, but rendering might be
asynchronously. See views-synchronization
.
| Name | Type | Default | Description |
|---|---|---|---|
config
|
CV Config Options
|
The configuration of this component. It defines how to interprete the incoming
data (normalized data structure ) and format the chart.
|
|
data
|
normalized data structure
|
The incoming data, which must be a normalized data structure .
|
| Name | Type | Description |
|---|---|---|
onViewUpdate
|
View update object
|
Signals that the internal process of this view has ended successfully (this does not include the rendering process). |
error
|
Error object|undefined|null
|
Returns an Error object , if an error occured while processing the latest inputs,
otherwise undefined or null .
|
The configuration object of this component.
| Name | Type | Default | Description |
|---|---|---|---|
elementsAreObjects
|
Boolean
|
true if the resulting data structure is composed of objects,
otherwise false for arrays. See normalized data structure for more details.
|
|
dataContainsTuples
|
Boolean
|
true
|
true if the resulting data structure is composed of data tuples,
otherwise false for data series. See normalized data structure for more details.
|
wrapperClass
|
String
|
A css class name that can be used as selector for the entire component. | |
dataSeries
|
DataSeries[]
|
An array of DataSeries elements, with each element defining a visible series for the chart.
Each definition must be unique.
|
|
c3
|
Object
|
This object contains the entire c3-specific configuration. The structure is defined by
c3.js itself. Please take a look at the c3 reference
which options are available. Most of the option can be used for this component, too.
Chart:
Data:
Axis:
Grid:
Region:
Legend:
Tooltip:
Subchart:
Zoom:
Point:
Line:
Area:
Bar:
Pie:
Donut:
Gauge:
|
A DataSeries object defines a series for the chart.
| Name | Type | Default | Description |
|---|---|---|---|
name
|
String
|
The name of the series. Will be used as display name. | |
seriesClass
|
String
|
A css class name that can be used as selector for this series. | |
key
|
String
|
Specifies the property to use from the data objects. Applies if
chart-view-config-elementsAreObjects is true .
|
|
key
|
Array index
|
Specifies the index to use from the data objects. Applies if
chart-view-config-elementsAreObjects is false .
|
A view which displays geographical maps and associated data. Uses leaflet and various leaflet plugins. It supports different map tile providers by name (see Leaflet-providers) or url, GeoJSON, markers, popups etc. The internal process starts when an input slot changes, but all other input slots must be set with a valid value first. After the value is set, each change will trigger the process with the current changed value of an input slot and with all previously setted values of the other input slots.
See demo page.
| Method | Returns | Description |
|---|---|---|
getOnViewUpdate()
|
View update object
|
See maplayer-view-onViewUpdate for more details.
|
getError()
|
Error object|undefined|null
|
See maplayer-view-error
for more details.
|
setConfig( <MLV Config Options> config)
|
See maplayer-view-config
for more details.
|
|
setData( <*> data)
|
See maplayer-view-data for more details.
|
As all views, this one works synchronously, but rendering might be
asynchronously. See views-synchronization
.
| Name | Type | Default | Description |
|---|---|---|---|
config
|
MLV Config Options
|
The configuration of this component. It defines how to interprete the incoming data and format the map. | |
data
|
*
|
The incoming data for the map. |
| Name | Type | Description |
|---|---|---|
onViewUpdate
|
View update object
|
Signals that the internal process of this view has ended successfully (this does not include the rendering process). |
error
|
Error object|undefined|null
|
Returns an Error object , if an error occured while processing the latest inputs,
otherwise undefined or null .
|
The configuration object of this component.
| Name | Type | Default | Description |
|---|---|---|---|
wrapperClass
|
String
|
A css class name that can be used as selector for the entire component. | |
size
|
Object
|
A size object that contains width (optional) and height (mandatory) as
css values (px, %, em, rem or blank). The value can be a string or a number.
It defines the dimension of the maplayer component.
Example:
|
|
preferCanvas
|
Boolean
|
See leaflet API Reference. | |
attributionControl
|
Boolean
|
See leaflet API Reference. | |
zoomControl
|
Boolean
|
See leaflet API Reference. | |
closePopupOnClick
|
Boolean
|
See leaflet API Reference. | |
zoomSnap
|
Number
|
See leaflet API Reference. | |
zoomDelta
|
Number
|
See leaflet API Reference. | |
trackResize
|
Boolean
|
See leaflet API Reference. | |
boxZoom
|
Boolean
|
See leaflet API Reference. | |
doubleClickZoom
|
Boolean|String
|
See leaflet API Reference. | |
dragging
|
Boolean
|
See leaflet API Reference. | |
center
|
LatLng
|
See LatLng & leaflet API Reference.
|
|
zoom
|
Number
|
See leaflet API Reference. | |
minZoom
|
Number
|
See leaflet API Reference. | |
maxZoom
|
Number
|
See leaflet API Reference. See leaflet API Reference. | |
maxBounds
|
LatLngBounds
|
See LatLngBounds & leaflet API Reference.
|
|
renderer
|
String
|
SVG or Canvas . See leaflet API Reference.
|
|
zoomAnimation
|
Boolean
|
See leaflet API Reference. | |
fadeAnimation
|
Boolean
|
See leaflet API Reference. | |
markerZoomAnimation
|
Boolean
|
See leaflet API Reference. | |
transform3DLimit
|
Number
|
See leaflet API Reference. | |
inertia
|
Boolean
|
See leaflet API Reference. | |
inertiaDeceleration
|
Number
|
See leaflet API Reference. | |
inertiaMaxSpeed
|
Number
|
See leaflet API Reference. | |
easeLinearity
|
Number
|
See leaflet API Reference. | |
worldCopyJump
|
Boolean
|
See leaflet API Reference. | |
maxBoundsViscosity
|
Number
|
See leaflet API Reference. | |
keyboard
|
Boolean
|
See leaflet API Reference. | |
keyboardPanDelta
|
Integer
|
See leaflet API Reference. | |
scrollWheelZoom
|
Boolean|String
|
See leaflet API Reference. | |
wheelDebounceTime
|
Integer
|
See leaflet API Reference. | |
wheelPxPerZoomLevel
|
Integer
|
See leaflet API Reference. | |
tap
|
Boolean
|
See leaflet API Reference. | |
tapTolerance
|
Integer
|
See leaflet API Reference. | |
touchZoom
|
Boolean|String
|
See leaflet API Reference. | |
bounceAtZoomLimits
|
Boolean
|
See leaflet API Reference. | |
tileLayers
|
TileLayer[]
|
An array of TileLayer elements, with each element defining a tile layer for the map.
Each definition must be unique.
|
|
markerLayers
|
MarkerLayer[]
|
An array of MarkerLayer elements, with each element defining a marker for the map.
Each definition must be unique.
|
|
geoJsonLayers
|
GeoJsonLayer[]
|
An array of GeoJsonLayer elements, with each element defining a layer based on
GeoJSON for the map.
Each definition must be unique.
|
A tile layer defines how to get tiles from a map tile provider and display them. A map tile provider can be defined via a name (see Leaflet-providers) or url.
| Name | Type | Default | Description | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
provider
|
String
|
This option enables one to use a specific identifier to easily define a tile layer.
Some identifiers may pre-define some options. One can overwrite these by setting them in this options object.
Some tile map providers need additional options, which can be set in this options object directly (e.g. api token).
Please do not use reserved option names.
For the identifiers & additional options see Leaflet-providers.
Please note: Do not use this together with the url option.
|
||||||||||||||||||||||
url
|
String
|
This string needs to be a valid URI template (RFC 6570),
which points to the tile data of the map tile provider.
E.g. http://{s}.somedomain.com/somefolder/{z}/{x}/{y}{r}.png?{additionalParam} with
Please note: Do not use this together with the provider option.
|
||||||||||||||||||||||
minZoom
|
Integer
|
See leaflet API Reference. | ||||||||||||||||||||||
maxZoom
|
Integer
|
See leaflet API Reference. | ||||||||||||||||||||||
maxNativeZoom
|
Integer
|
See leaflet API Reference. | ||||||||||||||||||||||
minNativeZoom
|
Integer
|
See leaflet API Reference. | ||||||||||||||||||||||
subdomains
|
String|String[]
|
See leaflet API Reference. | ||||||||||||||||||||||
errorTileUrl
|
String
|
See leaflet API Reference. | ||||||||||||||||||||||
zoomOffset
|
Integer
|
See leaflet API Reference. | ||||||||||||||||||||||
tms
|
Boolean
|
See leaflet API Reference. | ||||||||||||||||||||||
zoomReverse
|
Boolean
|
See leaflet API Reference. | ||||||||||||||||||||||
detectRetina
|
Boolean
|
See leaflet API Reference. | ||||||||||||||||||||||
crossOrigin
|
Boolean
|
See leaflet API Reference. | ||||||||||||||||||||||
tileSize
|
Integer|Point
|
Defines the size of the tile in pixel. An Integer value will define width & height,
a Point object defines the width as x & the height as y .
See Point & leaflet API Reference.
|
||||||||||||||||||||||
opacity
|
Percent
|
See Percent & see leaflet API Reference.
|
||||||||||||||||||||||
updateWhenIdle
|
Boolean
|
See leaflet API Reference. | ||||||||||||||||||||||
updateWhenZooming
|
Boolean
|
See leaflet API Reference. | ||||||||||||||||||||||
updateInterval
|
Integer
|
See leaflet API Reference. | ||||||||||||||||||||||
zIndex
|
Integer
|
See leaflet API Reference. | ||||||||||||||||||||||
bounds
|
LatLngBounds
|
See LatLngBounds & leaflet API Reference.
|
||||||||||||||||||||||
className
|
String
|
See leaflet API Reference. See leaflet API Reference. | ||||||||||||||||||||||
keepBuffer
|
Integer
|
See leaflet API Reference. |
A marker layer places icons on the map. A marker layer can be defined
statically or template-like. A template-like marker layer uses the maplayer-view-data
to generate the final markers and some options need to use the Odin Path w/ parsing
type
to point to the final value to use (dataPath, lat, lng
), other options may be set
directly in this config object or also point to a value in maplayer-view-data
.
| Name | Type | Default | Description |
|---|---|---|---|
icon
|
Icon object
|
The icon to use for the markers. | |
popup
|
Popup object
|
Defines a popup (template) and its content for all markers. | |
dataPath
|
Odin Path w/o parsing
|
A path to the data to use for all template-like markers.
The path must result in an array with objects (each object defines a marker).
The resulting potion of maplayer-view-data will be used to get the values of all
other options that uses the Odin Path w/ parsing type.
Please note: Using the Odin Path w/ parsing type for the lat & lng options requires the definition of this option.
|
|
lat
|
Number|Odin Path w/ parsing
|
The value for the latitude (between -90 and 90 , both inclusive) for
a static or Odin Path w/ parsing for a template-like marker.
Please note: Using Odin Path w/ parsing requires the lng option to be of the same type.
|
|
lng
|
Number|Odin Path w/ parsing
|
The value for the longitude (between -180 and 180 , both inclusive) for
a static or Odin Path w/ parsing for a template-like marker.
Please note: Using Odin Path w/ parsing requires the lat option to be of the same type.
|
|
draggable
|
Boolean|Odin Path w/ parsing
|
See leaflet API Reference. | |
keyboard
|
Boolean|Odin Path w/ parsing
|
See leaflet API Reference. | |
title
|
String|Odin Path w/ parsing
|
See leaflet API Reference. | |
alt
|
String|Odin Path w/ parsing
|
See leaflet API Reference. | |
zIndexOffset
|
Integer|Odin Path w/ parsing
|
See leaflet API Reference. | |
opacity
|
Percent|Odin Path w/ parsing
|
See Percent & see leaflet API Reference.
|
|
riseOnHover
|
Boolean|Odin Path w/ parsing
|
See leaflet API Reference. | |
riseOffset
|
Integer|Odin Path w/ parsing
|
See leaflet API Reference. | |
interactive
|
Boolean|Odin Path w/ parsing
|
See leaflet API Reference. | |
attribution
|
String|Odin Path w/ parsing
|
See leaflet API Reference. |
A GeoJsonLayer displayes geometric objects on the map that are defined by
GeoJSON data. It also features the ability to render
them as a choropleth
map.
| Name | Type | Default | Description |
|---|---|---|---|
dataPath
|
Odin Path w/o parsing
|
A path to the data to use. The path must result in a valid GeoJSON data structure that will be used for the rendering. | |
popup
|
Popup object
|
Defines a popup (template) and its content for all GeoJSON feature objects. | |
choropleth
|
Choropleth object
|
Defines the choropleth map. Can only be used if the GeoJSON data contains feature objects. | |
attribution
|
String
|
See leaflet API Reference. | |
style
|
Pathstyle object
|
An object with styling information for each GeoJSON feature object. |
Defines how the choropleth map will be rendered. Uses the Leaflet Choropleth plugin.
| Name | Type | Default | Description |
|---|---|---|---|
valueProperty
|
String
|
A reference to the value that should be used as scaling value. The reference
must be a key that is valid for each properties section
of each GeoJSON feature object.
|
|
mode
|
String
|
The scaling computation mode. quantile , equidistant or k-means .
|
|
scale
|
Boolean
|
true
|
true , if the scale should be computed automatically, otherwise false .
|
steps
|
Integer
|
The number of breaks of the scaling.
Please note: if the scale option is false , then the this option
defines how many elements are in the colors option.
|
|
colors
|
Array
|
An array of strings. Each String must be a valid html color.
Please note: if the scale option is false , then the this option
must contain as many elements as the steps option states.
|
An object that contains latitude and longitude.
Example:
{
lat: 15.1, lng: 103.54
}
| Name | Type | Default | Description |
|---|---|---|---|
lat
|
Number
|
The value for the latitude (between -90 and 90 , both inclusive).
|
|
lng
|
Number
|
The value for the longitude (between -180 and 180 , both inclusive).
|
An array that contains exactly 2 LatLng
objects.
Example:
[{
lat: 15.1, lng: 103.54
}, {
lat: 20.8, lng: 105.3
}]
| Name | Type | Default | Description |
|---|---|---|---|
first
|
LatLng
|
The values for the top-left corner. | |
second
|
LatLng
|
The values for the bottom-right corner. |
An object representing a point with a x & y value.
Example:
{
x: 10, y: 20
}
| Name | Type | Default | Description |
|---|---|---|---|
x
|
Integer
|
The value for x. | |
y
|
Integer
|
The value for y. |
The definition of an icon. An icon can be defined either as a div element with a specific style (see leaflet API Reference) or with an url.
| Name | Type | Default | Description |
|---|---|---|---|
iconSize
|
Integer|Point
|
Defines the size of the icon in pixel. An Integer value will define width & height,
a Point object defines the width as x & the height as y .
See Point & leaflet API Reference.
|
|
iconAnchor
|
Point
|
See Point & leaflet API Reference.
|
|
popupAnchor
|
Point
|
See Point & leaflet API Reference.
|
|
attribution
|
String
|
See leaflet API Reference. | |
className
|
String
|
See leaflet API Reference.
Please note: Defining a div icon requires the definition of this option, but url icons can use this option, too. If one wants a div icon, then the iconUrl option should not be defined.
|
|
html
|
String
|
See leaflet API Reference.
Please note: Only for div icons. |
|
bgPos
|
Point
|
See Point & leaflet API Reference.
Please note: Only for div icons. |
|
iconUrl
|
String
|
See leaflet API Reference.
Please note: Defining a url icon requires the definition of this option. |
|
iconRetinaUrl
|
String
|
See leaflet API Reference.
Please note: Only for url icons. |
|
shadowUrl
|
String
|
See leaflet API Reference.
Please note: Only for url icons. |
|
shadowRetinaUrl
|
String
|
See leaflet API Reference.
Please note: Only for url icons. |
|
shadowSize
|
Integer|Point
|
Defines the size of the icons shadow in pixel. An Integer value will define width & height,
a Point object defines the width as x & the height as y .
See Point & leaflet API Reference.
Please note: Only for url icons. |
|
shadowAnchor
|
Point
|
See Point & leaflet API Reference.
Please note: Only for url icons. |
Defines all styling options for vector-based overlays. E.g. used in GeoJsonLayer
.
| Name | Type | Default | Description |
|---|---|---|---|
stroke
|
Boolean
|
See leaflet API Reference. | |
color
|
String
|
See leaflet API Reference. | |
weight
|
Integer
|
See leaflet API Reference. | |
opacity
|
Percent
|
See Percent & see leaflet API Reference.
|
|
lineCap
|
String
|
butt , round , square or inherit . See leaflet API Reference.
|
|
lineJoin
|
String
|
butt , round , square or inherit . See leaflet API Reference.
|
|
dashArray
|
String
|
none , inherit or any other valid stroke dash pattern. See leaflet API Reference.
|
|
dashOffset
|
String
|
inherit or any other valid stroke dash offset. See leaflet API Reference.
|
|
fill
|
Boolean
|
See leaflet API Reference. | |
fillColor
|
String
|
See leaflet API Reference. | |
fillOpacity
|
Percent
|
See Percent & see leaflet API Reference.
|
|
fillRule
|
String
|
nonzero , evenodd or inherit . See leaflet API Reference.
|
|
className
|
String
|
See leaflet API Reference. | |
interactive
|
Boolean
|
See leaflet API Reference. | |
attribution
|
String
|
See leaflet API Reference. |
The definition of a popup.
| Name | Type | Default | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
title
|
String|Odin Path w/ parsing
|
The title of the popup. Can be defined statically or template-like with
the Odin Path w/ parsing type. The data potion that will be queried is defined by
the object that also defines this popup. E.g. for a static marker the data potion will
be the whole maplayer-view-data , for a template-like marker it will be the data potion
that resulted by quering the MarkerLayer .dataPath option.
|
|||||||||||
errorText
|
String
|
A string to show if the popup content couldn't be generated. A default value is provided. | |||||||||||
content
|
String|Object
|
The definition of the content. Can be a string or an view component.
|
|||||||||||
maxWidth
|
Integer
|
See leaflet API Reference. | |||||||||||
minWidth
|
Integer
|
See leaflet API Reference. | |||||||||||
maxHeight
|
Integer
|
See leaflet API Reference. | |||||||||||
autoPan
|
Boolean
|
See leaflet API Reference. | |||||||||||
autoPanPaddingTopLeft
|
Point
|
See Point & leaflet API Reference.
|
|||||||||||
autoPanPaddingBottomRight
|
Point
|
See Point & leaflet API Reference.
|
|||||||||||
autoPanPadding
|
Point
|
See Point & leaflet API Reference.
|
|||||||||||
keepInView
|
Boolean
|
See leaflet API Reference. | |||||||||||
closeButton
|
Boolean
|
See leaflet API Reference. | |||||||||||
closeOnClick
|
Boolean
|
See leaflet API Reference. | |||||||||||
autoClose
|
Boolean
|
See leaflet API Reference. | |||||||||||
className
|
String
|
See leaflet API Reference. | |||||||||||
offset
|
Point
|
See Point & leaflet API Reference.
|
|||||||||||
attribution
|
String
|
See leaflet API Reference. |
All ODIN utilities contain basic features which provide helpful assistance for common
tasks in dealing with features of the ODIN library, either as component author or user
of the ODIN components
in context of JavaScript code or templates.
Most data structures are special in terms of their structure. The ODIN library tries to
leverage this by providing a normalized definition of data structures that most
ODIN components
support and some components produce for compatibility reasons.
The table below illustrates four supported data structures. Each structure is a combination of container-like data types (object or array) and concepts (data tuples or data series). Cell values can be of any type that suits a component needs.
| as objects | as arrays | |
|---|---|---|
| as data tuples |
Array with object tuples
[ { "first": 1, "second": 4, "third": 7, "fourth": 10 }, { "first": 2, "second": 5, "third": 8, "fourth": 11 }, { "first": 3, "second": 6, "third": 9, "fourth": 12 } ]Each element of the array is an object and in a relational database system one element represents a row (data tuple). The keys in each object are the columns and the property values are the cell values. If a cell value is missing, it must be treated as undefined or null .
|
Array with array tuples
[ [ 1, 4, 7, 10 ], [ 2, 5, 8, 11 ], [ 3, 6, 9, 12 ] ]Each element of the array is a sub-array and in a relational database system one element represents a row (data tuple). The indicies in each sub-array are the columns and the elements of the sub-array are the cell values. Some components may enforce an equality-length check over all sub-arrays. A missing cell value should be expressed as undefined or null .
|
| as data series |
Object with series per property
{ "first": [ 1, 2, 3 ], "second": [ 4, 5, 6 ], "third": [ 7, 8, 9 ], "fourth": [ 10, 11, 12 ] }Each property of the object has a value that is an array and in a relational database system one property represents a column (data series). The keys are the columns and the property value contains the cell values in an array. The indicies of that array are the row indicies. Some components may enforce an equality-length check over all property values. A missing cell value should be expressed as undefined or null .
|
Array with array series
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ], [ 10, 11, 12 ] ]Each element of the array is a sub-array and in a relational database system one element represents a column (data series). The indicies in each sub-array are the rows and the elements of the sub-array are the cell values. Some components may enforce an equality-length check over all sub-arrays. A missing cell value should be expressed as undefined or null .
|
Components that consumes normalized data structures must state which ones they are able to use and if more than one, then they must use configuration options (booleans) to differentiate the data structures:
elementsAreObjects
to distinguish between container-like data types
(true
for objects otherwise false
for arrays) anddataContainsTuples
to distinguish between concepts
(true
for data tuples otherwise false
for data series).Components that produces normalized data structures must state which ones they are able to create and if more than one, then they must use configuration options (booleans) to differentiate the data structures:
mapToObjects
to distinguish between container-like data types
(true
for objects otherwise false
for arrays) andmapToTuples
to distinguish between concepts
(true
for data tuples otherwise false
for data series).
A global object, that contains all ODIN library utilities.
| Function | Returns | Description |
|---|---|---|
triggerOnViewUpdate( <ODIN component> comp)
|
Triggers the onViewUpdate output slot for ODIN components (views only) and
passes a View update object to it.
|
|
createErrorObj( <ODIN component> comp, <String> msg, <Error|String> cause?)
|
Error object
|
Creates an Error object . The cause may be any error-like object with a
message property or a string.
|
copyObject( <Object> src, <Function> filter?, <Function> transform?)
|
Object
|
Creates a shallow copy of the given object. filter can be used to define which properties
should be transferred (the function must return true if the property should be included,
otherwise false ). transform may be used to alternate the property value of the source
object and transfer the alternation instead (useful if one wants to copy an object deeply).
Both, filter and transform functions, will receive three parameters: the key as string,
the property value and the source object.
Example:
|
objectToArray( <Object> src, <Function> toIndexMapper?)
|
Array
|
Transforms an object to an array. toIndexMapper may be used to define
the index of a certain property. The function will receive three parameters:
the key as string, the property value and the source object. If a position shall
be defined by the algorithm (add to the current last position of the array),
the function must return undefined . In all other cases the function defines
the position by returning an array index. If this position is occupied, then the
algorithm will overwrite the value at this position. Depending of how the function
is implemented, the resulting array may contain undefined positions. If
toIndexMapper is not defined, it would be like a function which returns always
undefined . The order of the elements in the resulting array is not guaranteed
by the algorithm.
Example:
|
arrayToObject( <Array> src, <Function> toKeyMapper?)
|
Object
|
Transforms an array to an object. toKeyMapper may be used to define
the property keys of a certain element. The function will receive three parameters:
the element, the index and the source object. If a position (or element) should
be omitted, the function must return undefined . In all other cases the function
defines the property key by returning a string. If this key is occupied, then the
algorithm will overwrite the property value for this key. If toKeyMapper is not
defined, it would be like a function which returns the index of the element as key.
Example:
|
mergeArrays( <Array> first, <Array> second)
|
Array
|
Combines two array into a new array. Elements that are present in both arrays
won't appear twice in the new array. The comparison is based on === .
Example:
|
mergeObjects( <Object> first, <Object> second)
|
Object
|
Combines two objects into a new object. Property keys that are present in both
objects don't overwrite each others property value. Instead, the property value
of first will be given a higher priority.
Example:
|
getObjectValues( <Object> obj)
|
Array
|
Puts every property value of an object in a new array. The order of the elements in the resulting array is not guaranteed by the algorithm. |
A global object, that contains useful functions for type checking.
| Function | Returns | Description |
|---|---|---|
isBoolean( <*> value)
|
Boolean
|
Checks if the given value is a primitive boolean or an object Boolean (prototype).
Returns true , if the check was successful, otherwise false .
|
isNumber( <*> value)
|
Boolean
|
Checks if the given value is a primitive number or an object Number (prototype).
Returns true , if the check was successful, otherwise false .
|
isString( <*> value)
|
Boolean
|
Checks if the given value is a primitive string or an object String (prototype).
Returns true , if the check was successful, otherwise false .
|
A global object, that contains useful functions for type parsing.
| Function | Returns | Description | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
toBoolean( <*> value)
|
Boolean
|
Parses a given value to a primitive boolean. Type checks include
primitive and object checks.
|
|||||||||||||||
toNumber( <*> value)
|
Number
|
Parses a given value to a primitive number. Type checks include
primitive and object checks.
|
|||||||||||||||
toString( <*> value)
|
String
|
Parses a given value to a primitive string. Type checks include
primitive and object checks.
|
A global object, that contains functions and properties for handling
the ODIN path notation (Path tokens
and Path object
).
| Function | Returns | Description | ||||
|---|---|---|---|---|---|---|
isPathTokens( <*> obj)
|
Boolean
|
true if the given parameter has the type Path tokens , otherwise false .
|
||||
create( <Path tokens> pathTokens)
|
Path object
|
Creates a Path object from the given Path tokens . This function may
throw errors.
Errors:
|
||||
resolve( <Path object> pathObj, <*> obj)
|
*
|
Extracts a value from a given value (obj ) with the given
Path object . If a parsing option is specified, then TODO.
This function may throw errors.
Errors:
|
| Property | Type | Description |
|---|---|---|
schemaPart
|
Json Schema Part
|
Defines a rule according the definition of Path tokens without
a parsing option (see Odin Path w/o parsing ).
|
schemaPartWithParse
|
Json Schema Part
|
Defines a rule according the definition of Path tokens with an
optional parsing option (see Odin Path w/ parsing ).
|
A global object, that contains useful functions and properties for validation tasks.
TODO in den components erwähnen dass json schema usw. genutzt wird
| Function | Returns | Description |
|---|---|---|
withSchema( <Json Schema> schema, <*> data)
|
Errors|undefined
|
Validates a value (data ) based on a given Json Schema . Returns a collection of
validation errors if the validation fails, otherwise undefined . If the schema is
in itself flawed, then an error object will be returned.
Example:
Uses ajv as Json Schema validator. |
A property of odin.validate
, which contains common Json Schemata. All
schemata are based on Draft-06.
| Property | Type | Description |
|---|---|---|
dataObjectTuples
|
Json Schema
|
A Json Schema that one can use to validate a value according to the definition
of a Array with object tuples data structure (see normalized data structure ).
|
dataObjectSeries
|
Json Schema
|
A Json Schema that one can use to validate a value according to the definition
of a Object with series per property data structure (see normalized data structure ).
Equality-length check of the property values is not covered by this schema.
|
dataArrays
|
Json Schema
|
A Json Schema that one can use to validate a value according to the definition
of a Array with array tuples and Array with array series data structures (see
normalized data structure ). Equality-length check of the sub-arrays is not covered
by this schema.
|
geojson
|
Json Schema
|
A Json Schema that one can use to validate a value according to the definition
of the RFC 7946: The GeoJSON Format.
|
A property of odin.validate
, which contains common Json Schemata Parts.
Parts are validation rule definitions that can be used in a JavaScript context
to replace common rules in a schema (meaning: less code).
| Property | Type | Description |
|---|---|---|
stringEmptyDefault
|
Json Schema Part
|
Defines a rule with the type string and an empty string as default. |
minString
|
Json Schema Part
|
Defines a rule with the type string and a minimum length of 1 .
|
urlString
|
Json Schema Part
|
Defines a rule with the type string and a format url (see
here for more information).
|
uriTemplateString
|
Json Schema Part
|
Defines a rule with the type string and a format uri-template (see
here for more information).
|
jsonPointerString
|
Json Schema Part
|
Defines a rule with the type string and a format json-pointer (see
here for more information).
|
notJsonPointerString
|
Json Schema Part
|
Defines a rule with the type string, a minimum length of 1 and is not a valid
json-pointer (see here
for more information).
|
hexColor
|
Json Schema Part
|
Defines a rule with the type string and a pattern to check if the string is a hexadecimal notation of a web color. Notation syntax is based on CSS Color Module Level 4 (Draft). |
rgbColor
|
Json Schema Part
|
Defines a rule with the type string and a pattern to check if the string is a functional notation (rgb/rgba) of a web color. Notation syntax is based on CSS Color Module Level 4 (Draft). |
hslColor
|
Json Schema Part
|
Defines a rule with the type string and a pattern to check if the string is a functional notation (hsl/hsla) of a web color. Notation syntax is based on CSS Color Module Level 4 (Draft). |
htmlColor
|
Json Schema Part
|
Defines a rule with the type string and one of the web color definitions: hexColor , rgbColor ,
hslColor , a string containing only alpha characters (for the color keywords) or
one of the strings transparent or currentcolor . Notation syntax and other definitions
are based on CSS Color Module
Level 4 (Draft).
|
| Property | Type | Description |
|---|---|---|
positiveNumber
|
Json Schema Part
|
Defines a rule with the type number and an exclusiveMinimum of 0 .
|
zeroPositiveNumber
|
Json Schema Part
|
Defines a rule with the type number and a minimum of 0 .
|
negativeNumber
|
Json Schema Part
|
Defines a rule with the type number and an exclusiveMaximum of 0 .
|
zeroNegativeNumber
|
Json Schema Part
|
Defines a rule with the type number and a maximum of 0 .
|
positiveInteger
|
Json Schema Part
|
Defines a rule with the type integer and an exclusiveMinimum of 0 .
|
zeroPositiveInteger
|
Json Schema Part
|
Defines a rule with the type integer and a minimum of 0 .
|
negativeInteger
|
Json Schema Part
|
Defines a rule with the type integer and an exclusiveMaximum of 0 .
|
zeroNegativeInteger
|
Json Schema Part
|
Defines a rule with the type integer and a maximum of 0 .
|
percent
|
Json Schema Part
|
Defines a rule with the type number, a minimum of 0 and a maximum of 1 .
|
| Property | Type | Description |
|---|---|---|
booleanDefaultTrue
|
Json Schema Part
|
Defines a rule with the type boolean and true as default.
|
booleanDefaultFalse
|
Json Schema Part
|
Defines a rule with the type boolean and false as default.
|
This section features all common objects that are used throughout the ODIN library.
The definition of an error object generated by odin.createErrorObj
.
| Property | Type | Description |
|---|---|---|
componentName
|
String
|
The name of the ODIN component , which had an error.
|
message
|
String
|
A description of the error. |
cause
|
String|undefined
|
A description of why the error happened. |
TODO
TODO
The definition of an view update object generated by odin.triggerOnViewUpdate
.
This object should only be used, if a view component wants to signal an update.
| Property | Type | Description |
|---|---|---|
componentName
|
String
|
The name of the ODIN component .
|
id
|
Number
|
An unique identifier for the view update. |


and the with for COVID- patients []. are from The have that has this treatment been clinical disease not infection respiratory risk should severe {background therapy was used may there use who coronavirus margin which virus were {border-style COVID-. can increased viral dialysis px;} #ffffff;} could more plasma reported these also high management However, data dose evidence mortality most studies This acute but cytokine drugs such than due effective effects lung medications other study syndrome against being case different general healthcare patients. transmission well will HIV agents any associated chronic critically ill patients, potential recommended through Patients There blood care immunosuppressive pandemic published review series significant testing trials COVID-, These available cases cons had higher kidney low need novel people possible response results symptoms transplant Proposed Pros active all cell convalescent daily days during economic however, human including infections px; received suggested support they treated type ventilation when {font-family (e.g., Accessed IL- MOA RNA SARS-CoV- antiviral combination continue control costs early effect experimental failure font-size health immune infectious influenza inhibitors levels pregnant receptor related several shown some storm their American Clin Disease Health IFN Infect World alveolar antibodies approach article bacterial coagulation common commonly compared decreased described double; drug especially fever first global guidelines hospitalized hydroxychloroquine immunosuppression infection, injury less lopinavir/ritonavir lower medical might outcomes pneumonia population. positive proven pulmonary receiving replication social solid-organ therapies two unless Although Care Centers Control Coronavirus ECMO FDA MERS Med Medical PEEP SARS activity arthritis authors avoid border-color border-width caused cells cohort complications course days, dosing elevated far found glucocorticoids guidance histamine home immunity infected inflammatory initial into its many much must organ oxygenation pandemic, patient pressure randomized rate recent recently regarding renal reports resources same significantly solid; systemic trial using vitro {font-style {font-weight (.%) AKI All COVID-: Center Clinical Data Drug ESKD Ebola Favipiravir Food HRA Hong June MERS-CoV Management May Some Wuhan, action adverse al.Clinical among anti-inflammatory antibody appropriate article. asymptomatic azithromycin back benefit bold clearance courier; day death deaths distancing distress edema efficacy em; emerging even features five followed future group hospital illness impact individual infection. investigated isolation late like limited mechanism members membrane mortality. multi-organ multiple new observational ongoing over oxygen preferred preliminary progression provide provided pt;} public purification reduced refractory requiring retrospective routine septic severely severity side specific spread systematic team tested them therapeutic tidal transplanted treat under unit used, vaccine various vascular ventilator while without worsening


Radio Stations
102.9 WHYL
The Big 80s Station
Disney Park Radio
The Penthouse
Magic 60s
Philly Gold Radio
Motown Radio
Groove Tunes
Beachbooster Radio
Frank Sinatra Radio
Beatles Radio
Back to Home
Site Designed By Brady Kondek
webdesign.bradykondek.ga


Bifunctors
Introduction
Given categories \(\mathcal{C}_1\) and \(\mathcal{C}_2\), we can form a product category, \(\mathcal{C}_1 \times \mathcal{C}_2\). Objects of this category are pairs \((A_1,A_2)\) of objects, with \(A_1\) from \(\mathcal{C}_1\) and \(A_2\) from \(\mathcal{C}_2\), and similarly morphisms are pairs of morphisms.
Now suppose we have a third category \(\mathcal{D}\). A bifunctor \(B : \mathcal{C}_1 \times \mathcal{C}_2 \rightarrow \mathcal{D}\) associates objects to objects and morphisms such that \(B(-,-)\) is functorial in "both slots". That is, holding objects \(A_1\) and \(A_2\) fixed, both \(B(A_1,-)\) and \(B(-,A_2)\) are functors. This is analogous to the bilinear maps we study in linear algebra.
As with functors, we can translate this concept to Haskell's type system. The object part of a bifunctor is a type constructor with kind * -> * -> *
, and we can attach the morphism part using a type class.
Examples
The interesting bifunctors get their own modules, but we can describe some less interesting examples here: the right and left zero bifunctors ignore one of the factors.
data RightZeroC (obj1 :: Obj) (obj2 :: Obj) a b where
RightZeroC
:: ( obj1 a, obj2 b )
=> b -> RightZeroC obj1 obj2 a b
instance
( forall x y. (obj1 x, obj2 y) => obj3 (RightZeroC obj1 obj2 x y)
) => BifunctorC
(obj1 :: Obj) (MapOn obj1)
(obj2 :: Obj) (MapOn obj2)
(obj3 :: Obj) (MapOn obj3)
(RightZeroC obj1 obj2)
where
bimapC (Map _) (Map g) =
let h (RightZeroC b) = RightZeroC (g b)
in Map h
data LeftZeroC (obj1 :: Obj) (obj2 :: Obj) a b where
LeftZeroC
:: ( obj1 a, obj2 b )
=> a -> LeftZeroC obj1 obj2 a b
instance
( forall x y. (obj1 x, obj2 y) => obj3 (LeftZeroC obj1 obj2 x y)
) => BifunctorC
(obj1 :: Obj) (MapOn obj1)
(obj2 :: Obj) (MapOn obj2)
(obj3 :: Obj) (MapOn obj3)
(LeftZeroC obj1 obj2)
where
bimapC (Map f) (Map _) =
let h (LeftZeroC a) = LeftZeroC (f a)
in Map h


|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
| Class Summary | |
| CompanyVO | Company. |
| DemoConfig | DemoConfig. |
| DemoMediator | Mock Mediator for the Demo. |
| DemoMediator.CompanyEntity | Mock class for real entity. |
| DemoMediator.SubsidiaryEntity | Mock class for real entity. |
| SubsidiaryVO | Subsidiary. |
| SVODemoClient | Handles the client-server exchanges of the demo. |
| SVODemoServiceBean | This EJB is used as the server service for the SVO demo. |
| SVODemoUserBean | This stateful bean is the one used by each client to simulate a persistence service. |
| TestDemoMediator | Testcase DemoMediator. |
|
|||||||||||
| PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |


Dev's week 3 Cultural Blog Site
My Thinking Style and Learning
My thinking style - Concrete Random...i think...maybe?
- I had a hard time categorizing myself into one of the 4 Gregorc Thinking Styles. I know that I do really well with hands on project work
especially when it's team based. I struggle when I have to sit for long periods of time and read material. I think the way DBC is setup is
great for someone like me.
My learning experience in Phase 0 so far
- The biggest struggle for me has been making time to get the assignments completed. I also have a hard time focusing on reading material for a long period of time. I know everyone has other comittiments and it's not an excuse but working full-time and having a family does make it challenging
to put in 15-25 hours a week towards these challenges. Fortunately I was able to work something out with my employer and am taking a day off once a week
in order to complete the Phase 0 assignments. I also realized that I'm much more productive at my local library than at home.
Growth vs. Fixed mindset
- I think that by having a combination of independent study, group activities, and projects that have creative input will help expand the ways we
learn and think. Personally I think that working on my weakness during the Phase 0 portion will help me.


Once you have your sick note post it to DWP at the following address.
1 DWP House
DWP Road
DWPland
DP3 4FU


Preference Comparison
Fuel Data Collection:
Send data
Send anonymous data
Don't send
Third-Party Sharing Presets:
None
Low
Moderate
High
Allow personalized notifications:
Yes
No
Data transfer limit:
0
12
10
mb
Allow location for:
Route recommendations
System applications
Third-party applications
Setting timezone
Allow data collection when
Driving
Parked
connect
compare
Result


Public Properties | |
| const | ALLOCATE_ACROSS = 'across' |
| const | ALLOCATE_EACH = 'each' |
| const | ALLOCATE_ONE = 'one' |
| const | TARGET_SELECT_ALL = 'all' |
| const | TARGET_SELECT_ENTITLED = 'entitled' |
| const | TARGET_SELECT_EXPLICIT = 'explicit' |
| const | TARGET_TYPE_LINE_ITEM = 'line_item' |
| const | TARGET_TYPE_SHIPPING_LINE = 'shipping_line' |
| const | TYPE_DISCOUNT_CODE = 'discount_code' |
| const | TYPE_SCRIPT = 'script' |
| const | VALUE_TYPE_FIXED_AMOUNT = 'fixed_amount' |
| const | VALUE_TYPE_PERCENTAGE = 'percentage' |
| Public Properties inherited from Data | |
| const | MAP = [] |
| const | PATCH = [] |
Public Methods | |
| magic string | getAllocationMethod () |
| magic string | getCode () |
| magic string | getDescription () |
| magic string | getTargetSelection () |
| magic string | getTargetType () |
| magic string | getTitle () |
| magic string | getType () |
| magic number | getValue () |
| magic string | getValueType () |
| Public Methods inherited from Data | |
| mixed | __call (string $method, array $args) |
| __construct ($caller, array $data=[]) | |
| string | serialize () |
| Dehydrated JSON encode. More... | |
| array | toArray () |
| void | unserialize ($serialized) |
Additional Inherited Members | |
| Protected Properties inherited from Data | |
| Api | $api |
| Pool | $pool |
| Protected Methods inherited from Data | |
| mixed | _hydrate (string $class, $item) |
| A factory that also hydrates / caches entities. More... | |
| array | _select ($subject, callable $filter,... $args) |
Magic method: selectField(callable $filter) More... | |
| $this | _setData (array $data) |
| Clears all diffs and sets all data, hydrating mapped fields. More... | |
| $this | _setField (string $field, $value) |
| Sets a value, hydrating if mapped, and clears the diff. More... | |
| magic string getAllocationMethod | ( | ) |
| magic string getCode | ( | ) |
| magic string getDescription | ( | ) |
| magic string getTargetSelection | ( | ) |
| magic string getTargetType | ( | ) |
| magic string getTitle | ( | ) |
| magic string getType | ( | ) |
| magic number getValue | ( | ) |
| magic string getValueType | ( | ) |


Adding in introductory text that does all of the storytelling
Adding in text that introduces what you can do on this website, includes text and images of what you can do on this website
Welcome to our visualizations highlighting quarterback statistics. We use 20 years of quarterback statistics to visualize different aspects of the position. On the right hand of the page you will find a timeline where you can choose which years you want to focus on. By choosing a specific range, each subsequent visualization (other than the spider chart showing career statistics) will update accordingly.
Our first visualization allows you to get a good glimpse of how major quarterback statistics have evolved over time. We show the league average for each statistic in a given season, as well as the best and wost quarterback performances for that season. You can click on a tool tip to see how each best or worst quarterback performed in that statistic on a game level. A quarterback is only included if they have started 8 or more games (min. 10 attempts).
After understanding how the position has evolved over time, and who have been the best and worst quarterbacks in recent history, we want you to choose the type of quarterback you might have wanted over the past 20 years. Adjust the sliders to see which quarterbacks fit which criteria. Then click on the quarterback on of your interest to see a spider plot of their career statistics and how they compare to the average quarterbacks during the span of their careers.


For applications where the numbers of ticks on scales must be formatted accordingly with a language sensitive number formatting, you can enable this kind of formatting by setting the locale
option.
The locale is a string that is a Unicode BCP 47 locale identifier.
A Unicode BCP 47 locale identifier consists of
with all present components separated by hyphens.
By default the chart is using the default locale of the platform which is running on.
Namespace: options
| Name | Type | Default | Description |
|---|---|---|---|
locale |
string |
undefined |
a string with a BCP 47 language tag, leveraging on INTL NumberFormat. |


Eric Lu has 7 years experiences in Android development, currently working at Yahoo in Taiwan as a lead engineer.
GitHub
Medium
Yahoo! 2014-06-16 — 2014-08-18
Lead Engineer
I worked at Yahoo in Taiwan as a lead engineer.
Highlights
- Develop E-commerce applications for millions of users
- Share and instruct internal tech talks about Android development regularly
- Develop internal SDK used by many Yahoo-branded apps
- Lead interns in their innovative Android project
- Won the first prize in the Yahoo Japan Hackathon
- Play the role of SCRUM master
Dog Home Organization (流浪動物花園) 2016-05-01 — 2017-09-01
volunteer
Take care stray animals, help them find a new home.
National Central University 2008-09-01 — 2010-08-31
Computer Science and Information Engineering
Master
Courses
2016 Yahoo Taiwan x Japan Hack day - 1st Prize
Awarded
2016-12-01
by
Yahoo! Taiwan x Yahoo! Japan
Project Name:【Urban Ninja】 AR Game
Android Developer Tools 深入精要 (Android Developer Tools Essentials: Android Studio to Zipalign) 2014-07-30
Published by
O'Reilly Media
I was the translator of this book, translated it from English to Chinese. I got more clear understandings about using Android developer tools in my daily Android app developments.
Android development
- Android SDK
- performance tuning
English
Conversational
Mandarin
Native speaker


JavaScript is one of the most popular and dynamic programming
languages used for creating and developing websites.
Python is a highly used and all-purpose programming language which is
dynamic in nature.
Some of the elements which CSS has an impact on include font size,
font style, the overall layout.


|
Fusion3D
Version 6.04
|
Processes all script inputs and also processes route flyovers. More...
#include <script_input_class.h>
Public Member Functions | |
| script_input_class () | |
| Constructor. More... | |
| ~script_input_class () | |
| Destructor. More... | |
| int | register_managers (atrlab_manager_class **atrlab_manager_a_in, int n_managers_in) |
| Register all the managers. More... | |
| int | register_index (map3d_index_class *index) |
| Register a map index. More... | |
| int | read_tagged (const char *filename) |
| Read commands from a file in tagged ascii format. More... | |
| int | clear_all () override |
| Clear all. More... | |
| int | get_if_enabled () |
| Return 1 if scripting enabled . More... | |
| int | get_if_freerun () |
| Return 1 if scripting is currently free-running. More... | |
| int | get_if_menus () |
| Return 1 if menus are turned on. More... | |
| int | get_serve_mode () |
| Get the current operating mode – 0 for stop/step, 1 for free run once in forward dir,2 for loop in forward dir, 3 for loop in both directions. More... | |
| int | set_freerun () |
| Set to free-running mode. More... | |
| int | set_stop_step () |
| Set to stop-step mode. More... | |
| int | process_next_event () |
| Execute the next command on the list. More... | |
| SoTimerSensor * | get_timer () |
| Return 1 if scripting enabled . More... | |
| Public Member Functions inherited from base_jfd_class | |
| base_jfd_class () | |
| Constructor. More... | |
| virtual | ~base_jfd_class () |
| Destructor. More... | |
| int | set_diag_flag (int flag) |
| Set level of diagnostics. More... | |
| int | register_coord_system (gps_calc_class *gps_calc_in) |
| Register the common gps_calc_class for defining the current coordinate systems and transformations between them. More... | |
| const char * | get_type () |
| Get the name of the class. More... | |
| int | warning (int oiv_window_flag, const char *message) |
| Open dialog window with warning. More... | |
| int | warning_s (string cmessage, string smessage) |
| Open dialog window with 2-part warning message. More... | |
| int | exit_safe (int oiv_window_flag, const char *message) |
| Open dialog window with fatal error message. More... | |
| int | exit_safe_s (string message, string smessage) |
| Open dialog window with fatal error message. More... | |
| virtual int | read_file (string sfilename) |
| Read file: all functions including open, read header and data and close – Virtual. More... | |
| virtual int | read_file_open (string sfilename) |
| Read file: only the open part of the entire read-file – Virtual. More... | |
| virtual int | read_file_header () |
| Read file: only the read-header part of the entire read-file – Virtual. More... | |
| virtual int | read_file_data () |
| Read file: only the read-data part of the entire read-file – Virtual. More... | |
| virtual int | read_file_close () |
| Read file: only the close part of the entire read-file – Virtual. More... | |
| virtual int | write_file (string sfilename) |
| Write file: entire process of open, write header and data and close – Virtual. More... | |
| virtual int | write_parms (FILE *tiff_fd) |
| Write parameters to the currently opened ASCII file – for saving all relevent parameters to an output Parameter file. More... | |
Additional Inherited Members | |
| Protected Attributes inherited from base_jfd_class | |
| int | diag_flag |
| Diagnostic level – 0=none, 1=little, 2=moderate, 3=heavy. More... | |
| int | opsys_flag |
| Operating system – 0=unix, 1=windows, 2=linux. More... | |
| char * | class_type |
| Unique name for each child class. More... | |
| int | localCoordFlag |
| Coord systems – -1=unknown local coord system, 0=local same as global, Positive=EPSG where known local coord different from global. More... | |
| gps_calc_class * | gps_calc |
| Coord systems – Worker class to define global coordinate systems and transformations. More... | |
Processes all script inputs and also processes route flyovers.
Processes all script inputs where a sequence of commands is read from the Project file and executes them in order. Also creates a flyover from a track file and executes the flyover. The track flyover is very similar to the animation commands from the script. At this time, scripting requires manually editing the Project file, but route flyover is done from the menus. In the default stop-step mode, the class executes a command each time the stop/step button is pressed. In the free-running mode, commands are executed at regular intervals.
Button press
buttons_input_class::hitsButton0()
script_input->set_freerun();
sbutton0win->setBitmap(1);
sbutton1win->setBitmap(1);
buttons_input_class::hitsButton1()
script_input->set_stop_step();
sbutton0win->setBitmap(0);
sbutton1win->setBitmap(0);
Spaceball button press
spaceball_input_class::spaceball_button_cb
GL_space_button->setValue(which); # 1 for left, 2 for right
script_input_class::space_nav_cb() # Monitors GL_space_button
Schedules/unschedules timer
GL_button_mod->setValue(81); # 81 /82
buttons_input_sw_class::mod_buttons_cb()
Changes button graphics
| script_input_class::script_input_class | ( | ) |
Constructor.
| script_input_class::~script_input_class | ( | ) |
Destructor.
|
overridevirtual |
Clear all.
Reimplemented from base_jfd_class.
| int script_input_class::get_if_enabled | ( | ) |
Return 1 if scripting enabled .
| int script_input_class::get_if_freerun | ( | ) |
Return 1 if scripting is currently free-running.
| int script_input_class::get_if_menus | ( | ) |
Return 1 if menus are turned on.
| int script_input_class::get_serve_mode | ( | ) |
Get the current operating mode – 0 for stop/step, 1 for free run once in forward dir,2 for loop in forward dir, 3 for loop in both directions.
| SoTimerSensor * script_input_class::get_timer | ( | ) |
Return 1 if scripting enabled .
| int script_input_class::process_next_event | ( | ) |
Execute the next command on the list.
| int script_input_class::read_tagged | ( | const char * | filename | ) |
Read commands from a file in tagged ascii format.
| int script_input_class::register_index | ( | map3d_index_class * | index | ) |
Register a map index.
Pass a pointer to a map3d_index_class so this class can refer to the underlying 3D terrain map.
| int script_input_class::register_managers | ( | atrlab_manager_class ** | atrlab_manager_a_in, |
| int | n_managers_in | ||
| ) |
Register all the managers.
| int script_input_class::set_freerun | ( | ) |
Set to free-running mode.
| int script_input_class::set_stop_step | ( | ) |
Set to stop-step mode.


Enemy
Timer Length: 45 Seconds
Directional Select:
Block Select:
Enemy:
Path:
Wall:
Directional Pad:
Player:
Collectible:


--- layout: snippet title: "Dropdown addons" permalink: /examples/addons/dropdown/ sitemap: false ---