Change Log
4.1.0 (unreleased)
Breaking changes
- The minimum jQuery version supported is the latest version in the 1.x, 2.x, and 3.x series (#5525, #5955)
- Removed support for legacy Internet Explorer (versions older than IE 11) (#5834)
- Removed modules deprecated in 4.0.0 (#5815)
- Removed legacy support for
<input />
tags
- Removed legacy support for
initSelection
- Removed legacy support for
query
- Removed old
select2/compat/matcher
module
- Removed undocumented CSS-related options (#5815)
- Removed
dropdownCss
option
- Removed
adaptDropdownCss
option
- Removed
containerCss
option
- Removed
adaptContainerCss
option
- The
containerCssClass
option has been renamed to selectionCssClass
(#5815, #5847)
- Significant changes to the HTML/CSS for the selection area impacting custom themes (#5842)
- New CSS classes for the dropdown results to better target highlighted / selected results (#5841)
- The search box in the selection area for multiple selects has been changed from an
<input />
to a <textarea>
to support pasting multiple lines (#5806)
- Change tab key to select the currently highlighted option instead of just closing (#5759)
- Tags will be highlighted first in the results even if other options have been selected (#5812)
New features / improvements
dropdownCssClass
and selectionCssClass
are now available in all builds of Select2 (#5815)
- Calls to get the currently selected options are now considerably faster on large datasets (#5775)
- Selected results in the dropdown should now be properly announced to screen readers (#5841)
- Significant improvements were made to make the selection area accessible (#5824, #5842, #5916, #5942, #5973)
- Allow pasting multiple lines into the search field for tokenization (#5806)
Bug fixes
- Resize the selection search on close to properly display the placeholder (#5766)
- Change internal data ID generation to be more unique and prevent conflicts with numeric IDs (#5840)
- Internet Explorer 11 no longer steals focus of search box while tagging (#5842)
- Fix slow memory leak caused by not clearing cache on destroy (#5965)
Translations
- Add Esperanto translation (
eo
) (#5823)
- Add Punjabi translations (
pa
) (#5831)
- Add Telugu translations (
te
) (#5881)
- Updated Hungarian translations (
hu
) for 4.1.0 changes (#5970)
Miscellaneous
- The
amdLanguageBase
option no longer has an effect because the full build does not include any dynamically loaded modules (#5815)
4.0.13
New features / improvements
- Trigger
input
event before change
events (#4649)
- Feed back the keypress code that was responsible for the ‘close’ event (#5513)
- Only trigger
selection:update
once on DOM change events (#5734)
Bug fixes
- Prevent opening of disabled elements (#5751)
Documentation
- Fix “edit this page” links in docs (#5689)
Miscellaneous
- Registered Select2 on Open Collective (#5700, #5721, #5741)
4.0.12
Bug fixes
- Fixes incorrect offset when using the Shadow DOM and styling the
<html>
element (#5682)
Miscellaneous
- Replace cdnjs with jsDelivr in the documentation (#5687)
- Fix incorrect provider for the automated NPM deployment (#5686)
4.0.11
Bug fixes
- Fixes jQuery migrate error when getting offset when dropdownParent not in document (#5584)
Miscellaneous
- Enable GitHub actions for CI (#5591)
- Documentation has been moved into and is deployed from the code repository (#5638)
- Remove Travis CI integration (#5665)
4.0.10
New features / improvements
- Support passing in a selector for
dropdownParent
option (#5622)
Bug fixes
- Fix bug where dropdowns pointing upwards were incorrectly positioned (#5621)
4.0.9
New features / improvements
- Mirror disabled state through aria-disabled on selection (#5579)
- Select2 now clears the internal ID when it is destroyed (#5587)
- Set the main ARIA 1.1 roles and properties for comboboxes (#5582)
- The
language
option now has a clearly defined fallback chain (#5602)
Bug fixes
- Do not propagate click when search box is not empty (#5580)
- Fix
maximumSelectionLength
being ignored by closeOnSelect
(#5581)
- Fix generated options not receiving result IDs (#5586)
- Remove selection title attribute if text is empty (#5589)
- Reposition dropdown whenever items are selected (#5590)
- Fix dropdown positioning when displayed above with messages (#5592)
- Fix search box expanding width of container (#5595)
allowClear
no longer shifts selections to a new line (#5603)
Translations
- Fix error in German translations (#5604)
Miscellaneous
- Updated development grunt version so it no longer shows as vulnerable (#5597)
- Remove unused variables (#5554)
4.0.8
New features / improvements
- Test against and fix compatibility with jQuery 3.4.1 (#5531)
- Results respect disabled state of
<option>
(#5560)
- Add
computedstyle
option for calculating the width (#5559)
Bug fixes
- Fix tag creation being broken in 4.0.7 (#5558)
- Fix infinite scroll when the scrollbar is not visible (#5575)
- Revert change to focusing behaviour in 4.0.6 (#5576)
Translations
- Fix wording in French translations (#5521)
Miscellaneous
- Update grunt-contrib-qunit to latest version (#5530)
- Removed unused
.select2-selection__placeholder
CSS definitions for multiple selects (#5508)
- Remove deprecated jQuery shorthand (#5564)
4.0.7
New features/improvements
- Do not close on select if Ctrl or Meta (Cmd) keys being held (#5222)
Bug fixes
- Fixed issue where single select boxes would automatically reopen when they were closed (#5490, #5492)
Miscellaneous
- Move almost and jquery-mousewheel to devDependencies (#5489)
4.0.6
New features/improvements
- Add style property to package.json (#5019)
- Implement
clear
and clearing
events (#5058)
- Add
scrollAfterSelect
option (#5150)
- Add missing diacritics (#4118, #4337, #5464)
Bug fixes
- Fix up arrow error when there are no options in dropdown (#5127)
- Add
;
before beginning of factory wrapper (#5089)
- Fix IE11 issue with select losing focus after selecting an item (#4860)
- Clear tooltip from
select2-selection__rendered
when selection is cleared (#4640, #4746)
- Fix keyboard not closing when closing dropdown on iOS 10 (#4680)
- User-defined types not normalized properly when passed in as data (#4632)
- Perform deep merge for
Defaults.set()
(#4364)
- Fix “the results could not be loaded” displaying during AJAX request (#4356)
- Cache objects in
Utils.__cache
instead of using $.data
(#4346, #5486)
- Removing the double event binding registration of
selection:update
(#4306)
Accessibility
- Improve
.select2-hidden-accessible
(#4908)
- Add role and aria-readonly attributes to single selection dropdown value (#4881)
Translations
- Add Turkmen translations (
tk
) (#5125)
- Fix error in French translations (#5122)
- Add Albanian translation (
sq
) (#5199)
- Add Georgian translation (
ka
) (#5179)
- Add Nepali translation (
ne
) (#5295)
- Add Bangla translation (
bn
) (#5248)
- Add
removeAllItems
translation for clear “x” title (#5291)
- Fix wording in Vietnamese translations (#5387)
- Fix error in Russian translation (#5401)
Miscellaneous
- Remove duplicate CSS selector in classic theme (#5115)
4.0.5
Bug fixes
- Replace
autocapitalize=off
with autocapitalize=none
(#4994)
Translations
- Vietnamese: remove an unnecessary quote mark (#5059)
- Czech: Add missing commas and periods (#5052)
- Spanish: Update the ‘errorLoading’ message (#5032)
- Fix typo in Romanian (#5005)
- Improve French translation (#4988)
- Add Pashto translation (
ps
) (#4960)
- Add translations for lower and upper Sorbian (
dsb
and hsb
) (#4949)
- Updates to Slovak (#4915)
- Fixed Norwegian
inputTooShort
message (#4817, 4896)
- Add Afrikaans translation (
af
) (#4850)
- Add Bosnian translation (
bs
) (#4504)
4.0.4
New features / Improvements
- Make tag matching case insensitive [https://github.com/select2/select2/commit/cb9a90457867ffb14c7b1550bb67e872e0a5c2dd, https://github.com/select2/select2/commit/1167bace78cd3b1a918c1b04f3bac54674eab62b]
- Support selecting options with blank or
0
option values [https://github.com/select2/select2/commit/16b4840c0e2df0461998e3b464ee0a546173950d, https://github.com/select2/select2/commit/0358ee528765157234643d289bce6b8ca5889c72]
Bug fixes
- Fix issue with entire form losing focus when tabbing away from a Select2 control (#4419)
- Fix UMD support for CommonJS [https://github.com/select2/select2/commit/45a877345482956021161203ac789c25f40a7d5e]
Documentation
- Github Pages documentation has been deprecated, replaced with https://github.com/select2/docs
- Add django-autocomplete-light to integrations [https://github.com/select2/select2/pull/4597]
- Correct typo in options page [https://github.com/select2/select2/pull/4389]
- Correct misspelling in AJAX query parameters example [https://github.com/select2/select2/pull/4435]
- “highlight” should be “focus” in focus example [https://github.com/select2/select2/pull/4441]
- Correct misspelling in
<select>
serialization example [https://github.com/select2/select2/pull/4538]
- Correct typos in documentation [https://github.com/select2/select2/pull/4663]
Translations
- Add
errorLoading
Hungarian translation [https://github.com/select2/select2/commit/7d1d13352321e21670ff1c6cba7413aa264fd57a]
- Add
errorLoading
German translation [https://github.com/select2/select2/commit/4df965219ea4c39147fde9335bc260840465933a]
- Add Slovene language [https://github.com/select2/select2/commit/8e6422c570a87da8d89c45daf0d253695a943c84]
- Add
errorLoading
Galician translation [https://github.com/select2/select2/commit/8fcc6202c37f4e06d951342bf142a3b906b6b8e3]
- Add
errorLoading
Thai translation [https://github.com/select2/select2/commit/625fc78ee616baedf64aa37357403b4b72c7363c]
- Add
searching
and errorLoading
Finnish translations [https://github.com/select2/select2/pull/4730]
- Add
errorLoading
Turkish translation [https://github.com/select2/select2/commit/fd4a0825315c7055347726d5818c999279f96ff8, https://github.com/select2/select2/commit/751b36767f9f28b9de9428d5e8035c9a404915d9]
- Add Armenian language [https://github.com/select2/select2/commit/f6fa52dcc02341df1523f50348f2effc54ee2911]
4.0.3
This is the third bugfix release of Select2 4.0.0. It builds upon the second bugfix release and fixes many common issues.
New features / Improvements
- The old
dropdownAutoWidth
option now properly works [https://github.com/select2/select2/commit/fe26b083eb830836061de1458e483782cefef424]
- A
focus
event on the original <select>
is now handled [https://github.com/select2/select2/commit/31e7a1d4c52ed7477769fcad5d15166ae3c9b4d0]
- Adding and removing options now refreshes the selection automatically [https://github.com/select2/select2/commit/ea79a197e0ffe55aa600eed6d18cbd1c804c3176]
Bug fixes
select2('option')
no longer mutate the arguments when working on multiple elements [https://github.com/select2/select2/commit/c2c1aeef31c95c6df5545c900a4e1782d712497c]
- Better detect aborted requests [https://github.com/select2/select2/commit/cfb66f5e4f71a56c46a6890c5dde4b7f24f11fa8]
- New options are now properly created during tokenization [https://github.com/select2/select2/commit/3b8cd2e36990e695e4cb4b966c8658e7ca1574dc]
- Fix positioning bug with non-static parents for the dropdown [https://github.com/select2/select2/pull/4267]
- Infinite scrolling no longer resets the keyboard focus [https://github.com/select2/select2/commit/e897d008a672da262ba84cee2a144578696ada29, https://github.com/select2/select2/commit/9f581285d88128b29a01fc1e5fd2d445d610b553]
selectOnClose
now works properly with closeOnSelect
[https://github.com/select2/select2/commit/481c43883e23874e9c35879d173eb8cc5b994b12]
- Apply
ajax.delay
to empty search terms as well [https://github.com/select2/select2/commit/4b9e02f02211248be25ac4c16d4635cf38237bb9]
Documentation
- Added example for attaching event listeners [https://github.com/select2/select2/commit/84d6b5d840f7f4e6b7a2fb3f08424bf5495c876d]
- Correct link to the Select2 Bootstrap Theme [https://github.com/select2/select2/pull/4318]
- Added example for using a
<label>
[https://github.com/select2/select2/commit/3bc7f4ac78b58eff8cd17b3273596638c3c9c5c1]
- Add documentation for
ajax.url
[https://github.com/select2/select2/commit/5a831afb9a7d46e8f20aec21164cfbfd182024de]
- Added favicon [https://github.com/select2/select2/pull/4379]
Translations
- Add Khmer translation [https://github.com/select2/select2/pull/4246]
- Added Norwegian bokmaal for
errorLoading
[https://github.com/select2/select2/pull/4259]
- Fixed pluralization in Lithuanian translation [https://github.com/select2/select2/commit/5b5eddd183c87bf43165b3a98e03eabe10e9fa58]
- Add French translation for
errorLoading
[https://github.com/select2/select2/commit/b1ea28bb7d8c02b3b352f558031ccfc8041122eb]
- Add Greek translation [https://github.com/select2/select2/pull/4139]
4.0.2
This is the second bugfix release of Select2 4.0.0. It builds upon the first release candidate of Select2 4.0.2 with some minor improvements.
New features / Improvements
- Added
insertTag
option to control the placement of the tags
option [https://github.com/select2/select2/pull/4008]
- Added handler for AJAX errors [https://github.com/select2/select2/issues/3501]
- Added insertTag to control the tag position [https://github.com/select2/select2/pull/4008]
Bug fixes
- Fixed positioning issues with static dropdown parents [https://github.com/select2/select2/issues/3970]
- Fixed existing selections not always being respected with array data [https://github.com/select2/select2/issues/3990]
- Sanitize automatically generated ids so CSS identifiers can be used [https://github.com/select2/select2/issues/3618]
- Recursively apply defaults so AJAX defaults can be set [https://github.com/select2/select2/commit/983cd8e765c5345bfe7d3bdcc3b0c882a35461ca]
- No need to recalculate the top of the dropdown twice [https://github.com/select2/select2/pull/4155]
Documentation
- Updated Bootstrap and Font Awesome dependencies [https://github.com/select2/select2/commit/a5e539b509778eabeb8ce79e191b3ee1e81f6deb, https://github.com/select2/select2/commit/81a4a68b113e0d3e0fb1d0f8b1c33ae1b48ba04f, https://github.com/select2/select2/commit/6369f5f173fb81ec692213782945cc737e248da5]
- Use Jekyll’s highlighting instead of prettify [https://github.com/select2/select2/commit/54441e6a22be3969dd934ccb769f5d7dde684bfb, https://github.com/select2/select2/commit/74387b98632c75b06d15d83ad5359b9daf0f5dcb, https://github.com/select2/select2/commit/a126b53b4c90fac33b5d855894647cd8bcac3558, https://github.com/select2/select2/commit/75163d67cb80e4279965a97e9eeda5b171806085]
- Corrected responsive width example to properly show it working [https://github.com/select2/select2/commit/63d531a9c0ab51f05327492a56f3245777762b45]
- Replaced protocol-relative URLs with HTTPS protocol [https://github.com/select2/select2/pull/4127]
- Code snippets for mapping
id
and text
[https://github.com/select2/select2/issues/4086]
- Document how to trigger
change
just for Select2 [https://github.com/select2/select2/issues/3620]
- Added notes about DOM events [https://github.com/select2/select2/commit/37dbe059fce4578b46b7561e6243b7fdc63ac002]
Translations
- Correct Romanian translation [https://github.com/select2/select2/commit/72d905f9e026d49e7c600f37a1ce742c404654d7]
4.0.1
This is the first bugfix release of Select2 4.0.0. It builds upon the first release candidate of Select2 4.0.1 with some minor improvements.
New features / improvements
- The option container is now passed in as the second argument when templating selections using
templateResult
[https://github.com/select2/select2/commit/dc516e7073605723be59bc727b96a3b3dea1ae5a]
- The option container is now passed in as the second argument when templating selections using
templateSelection
[https://github.com/select2/select2/pull/3324]
- You can immediately start typing to search when tabbing into a multiple select [https://github.com/select2/select2/commit/02cca7baa7b78e73cdcf393172ee3a54be387167, https://github.com/select2/select2/commit/79cdcc0956e242c1ce642bbaa93e538c54f4be0]
- All parameters passed in for AJAX requests are now set as query string parameters by default [https://github.com/select2/select2/issues/3548]
Bug fixes
- The search box will now be properly sized after removing a selection [https://github.com/select2/select2/commit/5f80c5d9f81f3c5398c3e6e3e84fd6c67c8873f1]
- Dropdown results will now be spoken by screen readers [https://github.com/select2/select2/commit/9fae3d74e373fc646da4e39a0c2ab11efa808c3f]
- Options are now properly cloned when initializing multiple instances at once [https://github.com/select2/select2/commit/3c8366e8769233a6b20ade934fe629279e7be6ff]
selectOnClose
and now be used with closeOnSelect
without getting a stack overflow [https://github.com/select2/select2/commit/393ca4cf7f7f7097d3a994bda3dbf195e945eba1]
- Fixed positioning with non-static parents [https://github.com/select2/select2/commit/c9216b4b966653dd63a67e815b47899ef5325298]
- Fixed bug where multiple selects with placeholders were buggy in IE [https://github.com/select2/select2/issues/3300]
- Fixed bug where AJAX selects could not be initialized with array data [https://github.com/select2/select2/pull/3375]
:all:
is now correctly removed when used in containerCss
and dropdownCss
options [https://github.com/select2/select2/pull/3464]
- Fixed bug where the multiple select search box would appear on the left in RTL mode [https://github.com/select2/select2/pull/3502]
- Change ALT + UP to close the dropdown instead of opening it [https://github.com/select2/select2/commit/d2346cc33186c2a00fa2dad29e8e559c42bfea00]
- Fix focus issue with the multiple select search box when the
change
event was triggered [https://github.com/select2/select2/commit/698fe7b9e187e182f679aa679eb8b0ecb64a846b, https://github.com/select2/select2/commit/88503d2c67dc7f4fb9395a17f17edfe4948cf738, https://github.com/select2/select2/commit/dd2990adead92593a2dffff6ae004ea8b647d130]
- Fix bug in
ArrayAdapter
where the existing <option>
data would be used instead of the array data [https://github.com/select2/select2/pull/3565]
- Remove random call to
$dropdownContainer.width()
in the AttachBody
decorator [https://github.com/select2/select2/pull/3654]
- Fix memory leak in
AttachBody
decorator [https://github.com/select2/select2/commit/671f5a2ce21005090e0b69059799cd3dd1fbbf84]
- Selections can no longer be removed when Select2 is in a disabled state [https://github.com/select2/select2/commit/68d068f1d2c7722d011d285a291d1f974bf09772, https://github.com/select2/select2/commit/7d8f86cbf85ebd2179195ff6a2a7a1c5dcb9da58]
- Remove redundant
open
event trigger [https://github.com/select2/select2/pull/3507]
- Correct references to
this
in ajax.data
and ajax.url
callback functions [https://github.com/select2/select2/issues/3361]
- Apply select2(‘option’) calls on all elements [https://github.com/select2/select2/pull/3495]
Design
- Fixed original
<select>
not always being hidden correctly in some cases [https://github.com/select2/select2/pull/3301]
- Fix potential issue with Bootstrap’s gradients in Internet Explorer [https://github.com/select2/select2/pull/3307]
- Improve compatibility with Zurb Foundation [https://github.com/select2/select2/pull/3290]
- Remove padding on mobile safari search field in multiple selects [https://github.com/select2/select2/pull/3605]
- Fix the clear button appearing beneath long text [https://github.com/select2/select2/issues/3306]
- Migrate the CSS classes for the “Loading more results” message to BEM [https://github.com/select2/select2/issues/3889]
- Fix inline search not displaying properly in Safari [https://github.com/select2/select2/issues/3459]
Documentation
- New documentation theme designed by @fk [https://github.com/select2/select2/pull/3376, https://github.com/select2/select2/pull/3467, https://github.com/select2/select2/pull/3488]
- Update ajax example to reflect pagination [https://github.com/select2/select2/pull/3357]
- Fix incorrect option name in
maxiumSelectionLength
example [https://github.com/select2/select2/pull/3454]
- Fix typos in the disabled mode/results examples [https://github.com/select2/select2/pull/3665]
- Fix
Option
parameters in the 4.0 announcement [https://github.com/select2/select2/pull/3547]
- Fix invalid JSON in the tags example within the 4.0 announcement [https://github.com/select2/select2/pull/3637]
Translations
- Added Cyrillic variant of the Serbian language [https://github.com/select2/select2/pull/3943]
- Corrected Thai “no results found” translation [https://github.com/select2/select2/pull/3782]
- Swapped the
inputTooLong
and inputTooShort
messages in the Galician translation [https://github.com/select2/select2/pull/3291]
- Fix improper grammar in Dutch translation [https://github.com/select2/select2/pull/3692]
- Add Japanese translation [https://github.com/select2/select2/pull/3477]
- Polish translation: Fixed typo in maximum selected message [https://github.com/select2/select2/pull/3587]
- Add Malay translation [https://github.com/select2/select2/pull/3635]
- Add
errorLoading
for Indonesian translation [https://github.com/select2/select2/pull/3635]
- Correct grammar issues in Hebrew translation [https://github.com/select2/select2/pull/3911]
- Add
errorLoading
for Danish translation [https://github.com/select2/select2/pull/3870]
- Add Arabic translation [https://github.com/select2/select2/pull/3859]
4.0.0
This builds upon the second release candidate, so review all previous release notes before upgrading from previous versions of Select2.
Supported environments
- jQuery 1.7.2+
- Modern browsers (Chrome, Firefox, Safari)
- Internet Explorer 8+
New features
Breaking changes
- Select2 now uses the MIT license
- The full build of Select2 no longer includes jQuery - You must include jQuery separately on your page.
- Select2 will prevent the inner scrolling of modals (and other scrollable containers) when it is open to prevent the UI from breaking. Read more at the commit.
- jQuery is no longer listed as a dependency in the
bower.json
/component.json
files.
<select>
has replaced <input type="hidden" />
for all options (including remote data)
- The
matcher
has been revamped to include full context, a compatibility module (select2/compat/matcher
) has been created
- The display always reflects the order data is sent to the server
- The click mask is no longer the default (again). You can get back the old functionality by wrapping your
selectionAdapter
with the ClickMask
(select2/selection/clickMask
) decorator.
- Select2 no longer stops the propagation of events happening within the dropdown and selection. You can use the
StopPropagation
modules available in the full builds to prevent this. [https://github.com/select2/select2/commit/8f8140e3b00c5d5bb232455137c4c633d7da4275]
- The enter key no longer toggles the state of multiple select items in the results, but instead will only select them. Use CTRL + Space instead to toggle the state. [https://github.com/select2/select2/commit/017c20109471fa5b835603faf5dc37f7c2c2ea45]
- Warnings will now be triggered in the developer console if Select2 detects an unsupported configuration.
Options
- The default value of the
width
option has been changed from style
to resolve
.
- The
copy
value for the width
option has been renamed to style
.
Renamed
formatSelection
-> templateSelection
formatResult
-> templateResult
sortResults
-> sorter
createSearchChoice
-> createTag
selectOnBlur
-> selectOnClose
ajax.jsonpCallback
-> ajax.jsonp
ajax.results
-> ajax.processResults
tags: [array,of,data]
-> data: [array,of,data], tags: true
placeholderOption
has been replaced by placeholder.id
(placeholder
-> placeholder.text
)
formatNoMatches
-> language.noMatches
formatSearching
-> language.searching
formatInputTooShort
-> language.inputTooShort
formatInputTooLong
-> language.inputTooLong
formatAjaxError
-> language.errorLoading
formatLoading
-> language.loadingMore
formatSelectionTooBig
-> language.maximumSelected
Deprecated/Removed
initSelection
- This is no longer needed with <select>
tags. Limited backwards compatibility in the full build.
id
- Data objects should now always have id
and text
attributes that are strings, use $.map
when migrating
query
- Use a custom data adapter instead. Limited backwards compatibility in the full build.
ajax.params
- All parameters passed to ajax
will be passed to the AJAX data transport function
Methods
Renamed
.select2("val", [value])
-> .val([value])
.select2("enable", !disabled)
-> .prop("disabled", disabled)
Removed
.select2("onSortStart")
and .select2("onSortEnd")
- A custom selection adapter should be created instead
.select2("data", data)
- Create the <option>
tags for the objects that you would like to set, and set the .val
to select them
.select2("readonly")
- There is no way to make a <select>
element read-only, disable it instead
Events
New
select2:closing
is triggered before the dropdown is closed
select2:select
is triggered when an option is selected
Renamed
select2-close
is now select2:close
select2-open
is now select2:open
select2-opening
is now select2:opening
select2-selecting
is now select2:selecting
select2-removed
is now select2:unselect
select2-removing
is now select2:unselecting
Removed
select2-clearing
has been removed in favor of select2:unselecting
select2-highlight
select2-loaded
select2-focus
- Use the native focus
event instead
select2-blur
- Use the native blur
event instead
- All extra properties from the
change
event were removed
-
val
can be retrieved with $element.val()
instead
-
added
can be retrieved by listening to select2:select
-
removed
can be retrieved by listening to select2:unselect


I rolled into Whispering Pines about 2am and quickly set up camp since I needed to be up at 7am to have breakfast, get my Jeep inspected, register, and sign up for a trail.
I stumbled out of my tent early the next morning and met Park Owens at the camp restaurant and he got me registered while I enjoyed some delicious hot breakfast. The good news was The Black Hills Four Wheelers had a new strategy for trail sign up this year. Rather than the first come, first served trail sign up strategy used in previous years, everyone was assigned a number and sign up started at a different number every day. It just so happened I was sixth to pick for my first day. I had planned on doing an easy trail the first day, but since I had an early pick, it might be my only chance to do the hard ones.
Several of the hard trails were closed due to heavy rains, so sign up on the hard trails was particularly competitive. Trails that were closed included Lower Buzzworm, Upper Buzzworm, and Hal Johns. The hardest thing open was Iceman, so foolishly I signed up for it. Iceman is rated a 4+ which means 33"+ tires and a locker in the rear are required. No full size trucks are allowed due to the tighteness of the trail. Body damage is likely and major vehicle damage is a good possibility.
The hard trails leave camp first so that there is some hope of returning before sun down. It wasn't long before I was in my Jeep driving to the trail head. On the way to the trail head, we took a short cut along a pleasant forest road and lost our first victims of the day with some electrical problems. After the short cut, every one stopped at a local service station and fueled up and picked up more hot coffee.
It wasn't long before we saddled up and hit the trail head. The trail starts out as a shelf road along a canyon, slipping off the edge of this narrow road would cause a lot more problems than a little vehicle body damage. The trail slowly drops into the canyon where the fun really begins.
The first major obstacle was optional and about half the people skipped it, but after that we started hitting obstacles that weren't optional. The Iceman struck fast freezing us in our tracks. The first victim ripped the knuckle on his Dana 30 front end right off the ball joints. The front end had to be disassembled to get the ball joints and knuckle out. The damaged knuckle was welded by a friendly four wheeler with an on board welder. Everyone pitched in and it wasn't long before the CJ-5 was back together.
The next obstacle caused body damage to several victims. Vehicles with a wide stance were able to avoid the squeeze by climbing a rock on the drivers side. Vehicles with out a wide stance could not negotiate the extreme off-camber situation, and had to go into the squeeze. Many emerged looking like this CJ-7 from Wisconsin, with a mangled front fender.
The next obstacle was a great photo opportunity because almost everyone caught big air with their passenger side tire coming up this big stone step. Justin, aka "Papa Smurf" out of Ft. Collins, catches some air coming up the step.
It was the obstacle right after this one where I seemed to be having a little problem steering. I got out and noticed I had just pretzeled my tie rod. Several wheelers helped me winch it back into shape and fine tune it with a Hi-Lift jack handle. Soon I was back on the trail and approaching the final obstacle, Table Rock.
Table rock is a real cool obstacle that requires a good spotter once you get on the obstacle. Getting on the obstacle itself is not easy even with 33s and locked front and rear. Once you are on the rock, you need to drive right on the edge of the rock which is about 8 feet tall. A couple of septuagenarians out of the Victor Valley Four Wheelers in California showed us youngsters how it was done. It isn't comforting to have your drivers front tire drop in the crack right on the edge of the rock. The drop off is steeper than the approach and when I went down it, my weakened tie rod pretzeled for a second time.


objectSignals: objectSignals
A mutable Signal object can report changes to its state,
clients could register functions so that they are called whenever
the signal is emited. The signal could be emited, disconnected,
blocked, unblocked, and buffered.
| Version: |
0.10.2 |
| Depends: |
R (≥ 2.12), methods |
| Imports: |
methods |
| Published: |
2011-10-28 |
| Author: |
Michael Lawrence, Tengfei Yin |
| Maintainer: |
Tengfei Yin <yintengfei at gmail.com> |
| License: |
GPL-2 | GPL-3 [expanded from: GPL (≥ 2)] |
| NeedsCompilation: |
no |
| Materials: |
NEWS |
| CRAN checks: |
objectSignals results |
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=objectSignals
to link to this page.


To change your customer account password at %%GLOBAL_StoreName%% please click this link or copy and paste it into your browser:


Statements
Income Tax Information
The Declaration of Trust of Boardwalk Real Estate Investment Trust (“Boardwalk REIT”) provides that income and net taxable capital gains for purposes of the Tax Act will be allocated to Unitholders in the same proportion as distributions received by Unitholders.
Distributions may consist of the following for income tax purposes:
- Distributions that are currently taxable, for which T3 supplementaries will be issued (to be shown as Box 26 of your T3 slip). This portion of distributions for income tax purposes will be treated as regular taxable income (and not treated as dividends or capital gains) to each Unitholder.
- Distributions that are treated as a dividend received from a Canadian corporation. As such, it will be subject to a preferential tax treatment that all dividends from Canadian corporations receive (subject to the dividend tax credit).
-
Distributions (to be shown in Box 21 of your T3 slip) that represent your portion of capital gains allocated to you relating to gain on the sale of a property in the year, if any.
Please note that of the portion reported as capital gains on your tax return, only 50% of this is included in the calculation of your taxable income. The non-taxable portion of the capital gain is not deducted from the adjusted cost base of your Units.
-
Distributions that are not currently taxable and will be treated for income tax purposes as a return of capital.distributions that are not currently taxable and will be treated for income tax purposes as a return of capital.
Accordingly, this currently non-taxable portion will reduce the adjusted cost base of the Units owned by each Unitholder. If, after deducting he return of capital portion, your adjusted cost base of your Units is a positive amount, no portion of the return of capital will be taxable. If, however, after deducting the return of capital, your adjusted cost base of your Units is a negative amount, you will realize a capital gain equal to the negative amount and your resultant adjusted cost base of your Units will be nil.
Unitholders should consult their tax advisors with respect to any questions they may have concerning tax matters.


Neti:
Well, I hear what you say, but I don't understand why Rolento would give weapons to the Ol Mahums... Surely he must have had some noble purpose? He must be aware of the seriousness of this offense...
Let's hope for the best!


A P H R O D I T E
My Records
Workout
Setting
Customer Service
Run the entire workout
Aphrodite
Selective exercises
Squats
Jumping Jacks


material.components.subheader
SubHeader module
Subheaders are special list tiles that delineate distinct sections of a list or grid list and are typically related to the current filtering or sorting criteria. Subheader tiles are either displayed inline with tiles or can be associated with content, for example, in an adjacent column.
Upon scrolling, subheaders remain pinned to the top of the screen and remain pinned until pushed on or off screen by the next subheader. @see Material Design Specifications
To improve the visual grouping of content, use the system color for your subheaders.


HAORAN KUANG
Kuang is a third year student who is double majoring in Applied Math/Joint Economics and Computer Science. He is interested in studying the science and user experience behind the technologies.
- HSM focuses on the emotion and cognitive science within different social networking platform
- Can individuals become happier with better relationships and fulfilling careers
- Our team is developing a brand that helps people cultivate their love and achieve a flourishing life


Turkcell Updater Configuration Guide
This documents describes usage and structure configuration files used by Turkcell Updater library.
Usage
Updating an Android application to a new version served on Google Play
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetVersionCode": 1,
"targetGooglePlay": true
}
]
}
Updating an Android application to a new version served as APK file
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetVersionCode": 1,
"targetPackageUrl": "http://example.com/app1-v10.apk"
}
]
}
Updating an iOS application to a new version served on iTunes
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetWebsiteUrl": "https://itunes.apple.com/us/app/cuzdan/id562695538?mt=8"
}
]
}
Updating an iOS application to a new version served on Corporate Repository (ICT Store)
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetWebsiteUrl": "http://ictstore.turkcell.com.tr/RepositoryClient/list.html?choiceId=1&v=2.1"
}
]
}
Updating an Android application depending on where current application is installed from
{
"packageName": "com.example.app1",
"updates": [
{
"filters": {
"appInstallerPackageName": "com.android.vending",
},
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetVersionCode": 1,
"targetGooglePlay": true
},
{
"filters": {
"appInstallerPackageName": "!com.android.vending",
},
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetVersionCode": 1,
"targetPackageUrl": "http://example.com/app1-v10.apk"
}
]
}
Forcing an Android application to update
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetVersionCode": "1",
"targetGooglePlay": true,
"forceUpdate": true,
}
]
}
Forcing an iOS application to update
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetWebsiteUrl": "https://itunes.apple.com/us/app/cuzdan/id562695538?mt=8",
"forceUpdate": true,
}
]
}
Forcing an Android/iOS application to quit
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
}
},
"forceExit": true,
}
]
}
End of support for older Android OS versions
{
"packageName": "com.example.app1",
"updates": [
{
"filters": {
"deviceApiLevel": ">=8"
},
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetVersionCode": "5",
"targetGooglePlay": true,
"forceUpdate": true,
},
{
"filters": {
"deviceApiLevel": "<8"
},
"descriptions": {
"*": {
"message": "Android version earlier than Android 2.2 are not supported.",
}
},
"forceExit": true,
}
]
}
End of support for older iOS versions
{
"packageName": "com.example.app1",
"updates": [
{
"filters": {
"deviceOsVersion": "4.*"
},
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetWebsiteUrl": "https://itunes.apple.com/us/app/cuzdan/id562695538?mt=8",
"forceUpdate": true,
},
{
"filters": {
"deviceApiLevel": "1.*,2.*,3.*"
},
"descriptions": {
"*": {
"message": "iOS versions earlier than 4.0 are not supported.",
}
},
"forceExit": true,
}
]
}
Transferring users to another Android application replacing old one
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetPackageName": "com.example.newapp",
"targetVersionCode": "5",
"targetGooglePlay": true,
"forceUpdate": true,
}
]
}
Transferring users to another iOS application replacing old one
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
}
},
"targetWebsiteUrl": "https://itunes.apple.com/us/app/cuzdan/id562695538?mt=8",
"forceUpdate": true,
}
]
}
Reference
Different configuration files are stored per application using Turkcell Updater Library.
Configuration files are UTF-8 encoded JSON documents and should be served with "application/json"
content type.
Since configurations may contain vulnerable information like URL of update package they should be only accessible via HTTPS.
Root element of files should conform to Configuration Root specifications below.
Documents may contain additional keys but Updater library ignores any other key that is not referred in this document.
Configuration Root
Root object that contains all data needed by Updater Library to show update messages and other notifications to user.
Structure:
Type: Object
| Property name |
Type |
Default value |
Platforms |
Description |
Required |
Since |
| packageName |
String |
null |
All |
Platform specific unique identifier of application which configuration is created for. Package name for Android applications or Bundle id for iOS applications. |
Yes |
1 |
| updates |
Array |
null |
All |
List of update entries with 0 or more elements. See Update Entry |
No |
1 |
| messages |
Array |
null |
All |
List of messages with 0 or more elements. See Message Entry |
No |
2 |
Example:
Android
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
"whatIsNew": "Minor bug fixes",
"warnings": "New version requires additional privileges"
}
},
"targetVersionCode": 10,
"targetPackageUrl": "http://example.com/app1-v10.apk",
"forceUpdate": false
}
],
"messages": [
{
"descriptions": {
"*": {
"title": "Offer",
"message": "New application is available!",
"imageUrl": "http://example.com/app2-icon.png"
}
},
"targetPackageName": "com.example.app2",
"targetGooglePlay": true,
"maxDisplayCount": 3
}
]
}
iOS
{
"packageName": "com.example.app1",
"updates": [
{
"descriptions": {
"*": {
"message": "New version available",
"whatIsNew": "Minor bug fixes",
"warnings": "New version requires additional privileges"
}
},
"targetWebsiteUrl": "https://itunes.apple.com/us/app/cuzdan/id562695538?mt=8",
"forceUpdate": false
}
],
"messages": [
{
"descriptions": {
"*": {
"title": "Offer",
"message": "New application is available!",
"imageUrl": "http://example.com/app2-icon.png"
}
},
"targetWebsiteUrl": "https://itunes.apple.com/us/app/cuzdan/id562695538?mt=8",
"maxDisplayCount": 3
}
]
}
Update Entry
Provides information about how update should be installed and when update should be applied.
Structure:
Type: Object
| Property name |
Type |
Default value |
Platforms |
Description |
Required |
Since |
| filters |
Array |
null |
All |
See Filter Entry |
No |
1 |
| descriptions |
Object |
null |
All |
Map of update description entries. Keys (property names) are two letter language codes (see: ISO 639-1) and values are Update Description Entries.
If empty strings ("") or asterisk("*") is used as key, it matches with any language.
For iOS : If device language is English but the application language is Turkish asterisk("*")language code is suggested for displaying Turkish descriptions. |
Yes |
1 |
| targetVersionCode |
Number |
-1 |
Android |
Version code of new version. See Note #1 |
Yes for Android application, unless forceExit is true |
1 |
| targetGooglePlay |
Boolean |
false |
Android |
true New version should be installed from Google Play. |
See Note #2 |
1 |
| targetPackageName |
String |
Current application's packageName |
Android |
Package name of new version. |
No |
1 |
| targetPackageUrl |
String |
null |
Android |
URL of APK package of new version. |
See Note #2 |
1 |
| forceUpdate |
Boolean |
false |
All |
true if user should not skip this update and continue to use application. When true "Exit application" option will be displayed to user instead of "Remind me later" option. |
No |
1 |
| forceExit |
Boolean |
false |
All |
true if user should not have any option other than exiting application. When true only "Exit application" option will be displayed to user. |
No |
2 |
| targetWebsiteUrl |
String |
null |
All |
For Android : URL of web page that contains new version.
For iOS : iTunes or Corporate Repository URL of the application. |
See Note #2 |
1 |
Notes:
- Version entries will be omitted if
targetPackageName
is same with current applications package name and targetVersionCode
is same with current applications version code. This check is performed in order avoid updates to existing version.
- On Android, any update entry should meet at least one of following conditions. Otherwise it will be omitted.
forceExit
is true
targetGooglePlay
is true
targetWebsiteUrl
is not null
or empty
targetPackageUrl
is not null
or empty
On iOS, any update entry should meet at least one of following conditions. Otherwise it will be omitted.
forceExit
is true
targetWebsiteUrl
is not null
or empty
Example:
{
"filters": {
"appVersionCode": "<10",
"deviceOsName": "Android"
},
"descriptions": {
"tr": {
"message": "Uygulamanın yeni sürümü yayınlandı.",
"whatIsNew": "Hata düzeltildi",
"warnings": "Yeni sürüm ek yetkiler gerektirir"
},
"*": {
"message": "New version available",
"whatIsNew": "Minor bug fixes",
"warnings": "New version requires additional privileges"
}
},
"targetVersionCode": 10,
"targetGooglePlay": true
}
Message Entry
Defines a message to display to user when message should be displayed.
Structure:
Type: Object
| Property name |
Type |
Default value |
Platforms |
Description |
Required |
Since |
| filters |
Array |
null |
All |
See Filter Entry |
No |
2 |
| descriptions |
Object |
null |
All |
Map of message description entries. Keys (property names) are two letter language codes (see: ISO 639-1) and values are Message Description Entries.
If empty strings ("") or asterisk("*") is used as key, it matches with any language. |
Yes |
2 |
| id |
Number |
For Android : Auto generated value using targetGooglePlay , targetPackageName , targetWebsiteUrl and descriptions properties.
For iOS : Auto generated value using targetWebsiteUrl and descriptions properties. |
All |
Unique ID of message. ID is used when determining last display date and total display count of message. |
No |
2 |
| targetGooglePlay |
Boolean |
false |
Android |
true if message offers references to an application in Google Play. If it is true , targetPackageName should not be null or empty. |
No |
2 |
| targetPackageName |
String |
null |
Android |
Package name of offered application. If specified one of targetGooglePlay or targetWebsiteUrl properties should be set. |
No |
2 |
| targetWebsiteUrl |
String |
null |
All |
URL of web page that contains offered application. |
No |
2 |
| maxDisplayCount |
Number |
2147483647 |
All |
Maximum display count of message |
No |
2 |
| displayBeforeDate |
String |
null |
All |
If not null, message should not be displayed after this date. For date format details see Note #1 |
No |
2 |
| displayAfterDate |
String |
null |
All |
If not null, message should not be displayed before this date. For date format details see Note #1 |
No |
2 |
| displayPeriodInHours |
Number |
0 |
All |
Minimum duration in hours that should pass before displaying this message again |
No |
2 |
Notes:
- Following date formats from ISO 8601 are supported:
- "yyyy-MM-dd" example: "1969-12-31" "1970-01-01"
- "yyyy-MM-dd HH:mm" example: "1969-12-31 16:00", "1970-01-01 00:00"
Example:
Android
{
"filters": {
"deviceIsTablet": "true"
},
"descriptions": {
"*": {
"title": "Offer",
"message": "New application for your tablet is avaliable!",
"imageUrl": "http://example.com/app2-icon.png"
}
},
"displayAfterDate": "2013-01-01",
"displayBeforeDate": "2013-06-01",
"targetPackageName": "com.example.app2",
"targetGooglePlay": true,
"maxDisplayCount": 10,
"displayPeriodInHours": 240
}
iOS
{
"filters": {
"deviceIsTablet": "true"
},
"descriptions": {
"*": {
"title": "Offer",
"message": "New application for your tablet is avaliable!",
"imageUrl": "http://example.com/app2-icon.png"
}
},
"displayAfterDate": "2013-01-01",
"displayBeforeDate": "2013-06-01",
"targetWebsiteUrl": "https://itunes.apple.com/us/app/cuzdan/id562695538?mt=8",
"maxDisplayCount": 10,
"displayPeriodInHours": 240
}
Filter Entry
Message Entries and
Update Entries are applied only
if filter matches with device properties. If "filter" property of a
Message Entry and a
Update Entry
is omitted or defined as null no filtering will be applied.
Filter entries consist of key and value pairs.
Keys are property names and values are filtering rules.
Filtering rules format applies to all values of filter entry:
- Rules are sequences of rule parts joined with ","
- Both rule parts and values are converted to lower case and trimmed before
comparison
- Order of rule parts doesn't change the result, example: "!b,a" is same with "a,!b"
"*"
, null
or empty string matches with any value including
null
"''"
matches with null
or empty string
"!''"
matches with any value except null
or empty string
"![rule part]"
excludes any value matches with [rule]
"[value]"
matches with any value equals to [value]
"[prefix]*"
matches with any value starting with [prefix]
"*[suffix]"
matches with any value ending with [suffix]
"[prefix]*[suffix]"
matches with any value starting with [prefix] and
ending with [suffix]
">[integer]"
matches with any value greater than [integer]
">=[integer]"
matches with any value greater than or equals to [integer]
"<[integer]"
matches with any value lesser than [integer]
"<=[integer]"
matches with any value lesser than or equals to [integer]
"<>[integer]"
matches with any value not equals to [integer]
Structure:
Type: Object
| Property name |
Type |
Default value |
Platforms |
Description |
Required |
Since |
| appPackageName |
String |
null |
All |
Filter rule for package name of application.
Example value: "com.sample.app".
|
No |
1 |
| appVersionName |
String |
null |
All |
Version name of application typically in Major.Minor.Revision or Major.Minor format.
Example value: "1.0.0"
|
No |
1 |
| appVersionCode |
String |
null |
Android |
An integer version code of application which is defined in AndroidManifest.xml.
Example value: "10"
|
No |
1 |
| appInstallerPackageName |
String |
null |
Android |
Package name of application installed current application. Maybe null if not specified.
Example value: "com.android.vending" of Google play.
|
No |
1 |
| deviceApiLevel |
String |
null |
Android |
Version code of Android OS. See Android documentation.
Example value: "10" for Android 2.3.3.
|
No |
1 |
| deviceOsName |
String |
null |
Android |
Name of operating system of device.
Values: "android", "ios", "windowsphone".
|
No |
1 |
| deviceOsVersion |
String |
null |
All |
Version name of operating system of device.
Example value: "2.3.3".
|
No |
1 |
| deviceBrand |
String |
null |
Android |
Brand name of device.
Example value: "htc_europe" for HTC Wildfire S.
|
No |
1 |
| deviceModel |
String |
null |
All |
For Android : Model name of device.
Example value: "HTC Wildfire S A510e" for HTC Wildfire S.
For iOS :
- "iPod1,1" for iPod Touch
- "iPod2,1" for iPod Touch Second Generation
- "iPod3,1" for iPod Touch Third Generation
- "iPod4,1" for iPod Touch Fourth Generation
- "iPhone1,1" for iPhone
- "iPhone1,2" for iPhone 3G
- "iPhone2,1" for iPhone 3GS
- "iPad1,1" for iPad
- "iPad2,1" fpr iPad 2
- "iPad3,1" for iPad 3 (aka new iPad)
- "iPhone3,1" for iPhone 4
- "iPhone4,1" for iPhone 4S
- "iPhone5,1" for iPhone 5
If there is a need for giving multiple device models as a value asterik(*) must be used instead of comma(,) ,
because comma(,) is a reserved notation for joining rules.
Example value: "iPhone2*,iPad1*,iPhone5*"
|
No |
1 |
| deviceProduct |
String |
null |
Android |
Product name of the device.
Example value: "htc_marvel" for HTC Wildfire S.
|
No |
1 |
| deviceIsTablet |
String |
null |
All |
"true" if devices is a tablet, otherwise "false".
For Android : Since there is no clear evidence to determine if an Android device
is tablet or not, devices with minimum screen size wider than 600 dpi are considered as tablets.
Example values: "true", "false".
|
No |
1 |
| deviceLanguage |
String |
null |
All |
Two letter language code of device
(see: ISO 639-1).
Example values: "en", "tr", "fr".
|
No |
1 |
| x-<Application defined key> |
String |
null |
Android |
"x-" is prefix for application defined keys of arbitrary properties.
Applications may define and add own custom property key-value pairs for application specific filters.
Example values: "x-foo", "x-bar".
|
No |
1 |
| deviceMcc |
String |
null |
Android |
Mobile country code of device. See Mobile country code
Example value: "286" for Turkey.
|
No |
1 |
| deviceMnc |
String |
null |
Android |
Mobile network code of device. See Mobile country code
Example value: "1" for Turkcell.
|
No |
1 |
| updaterLevel |
String |
null |
Android |
An integer number that is used to define updater version used by application.
Example value: "1" for initial version of updater sdk.
|
No |
1 |
Example:
{
"deviceOsName": "android",
"deviceOsVersion": "4.*",
"appVersionName": "2.4.3, 2.4.4, 2.5.*, 3.*, 4.*, 5.*",
"deviceIsTablet": "true"
}
Update Description Entry
Contains language specific texts that are displayed to user on updates found dialog.
See
Update Entry
Structure:
Type: Object
| Property name |
Type |
Default value |
Platforms |
Description |
Required |
Since |
| message |
String |
null |
All |
Summary information describing update contents.
|
Yes |
1 |
| whatIsNew |
String |
null |
All |
Describes changes and new features of new version.
|
No |
1 |
| warnings |
String |
null |
All |
Warning text about the update. Any important issues that user should know before updating should be described here.
|
No |
1 |
Example:
{
"message": "New version available",
"whatIsNew": "Minor bug fixes",
"warnings": "New version requires additional privileges"
}
Message Description Entry
Contains language specific texts that are displayed to user on message dialog.
See
Message Entry
Structure:
Type: Object
| Property name |
Type |
Default value |
Platforms |
Description |
Required |
Since |
| title |
String |
null |
All |
Text that will be displayed at title of message dialog.
|
No |
2 |
| message |
String |
null |
All |
Text displayed inside message dialog.
|
Yes |
2 |
| imageUrl |
String |
null |
All |
Fully qualified URL of image file that is displayed in message dialog. It should refer to a square PNG or JPEG with preferably at 100x100 pixels size.
|
No |
2 |
Example:
{
"title": "Offer",
"message": "New application is avaliable!",
"imageUrl": "http://example.com/app2-icon.png"
}


Falls Risk Screen
First name:
Last name:
Date of Birth (dd/mm/yyyy):
 /
 /
If you answer yes to any of the following questions, you have an increased falls risk!
1. Have you recently had a fall?
Yes
No
Contact your GP immediately to discuss treatment options and strategies to prevent further falls.
Stay safe, maintain a healthy lifestyle and keep linked with your GP.
2. Have you recently lost your balance?
Yes
No
You may need help from a Physiotherapist or Podiatrist to assess your balance, gait and feet. Talk with your GP about a referral.
Regular exercise can help you to maintain balance. Talk with your GP if problems arise.
3. Are you physically inactive (less than 30 minutes of physical activity per day)?
Yes
No
Talk with your GP about your suitablity to commence an exercise program. You may need a referral to an Exercise Physiologist.
Regular exercise can help to prevent falls. Ask your GP about exercise programs in your local community.
4. Do you have a neurological (e.g. stroke) or musculoskeletal condition that affects your balance?
Yes
No
Attend your GP regularly for a medical review. You may also need a Physiotherapist and/or Occupational Therapist to provide treatment and review assistive equipment for your home.
If you are concerned about any neurological or musculoskeletal problems, then talk with your GP.
5. Do you need a walking aid?
Yes
No
You may need help from a Physiotherapist or Occupational Therapist to prescribe you an adequate mobility aid. Talk with your GP about a referral.
Regular exercise can help to maintain lower limb strength and mobility. Talk with your GP if mobility problems arise.
6. Do you require supervision or assistance with transfers or activities of daily living (ADL)?
Yes
No
You may require an ADL Assessment or Home Environment Assessment from an Occupational Therapist. Talk with your GP about a referral.

7. Do you have problems with your vision?
Yes
No
Please attend your GP or local Optometrist for a Visual Assessment.
If you are concerned about your vision in the future, then attend your GP or local Optometrist for a Visual Assessment.
8. Have you been confused, delirious or diagnosed with a cognitive disorder?
Yes
No
Talk to your GP immediately about the need for a cognitive assessment and/or other medical investigations. You may require a referral for a Functional Cognitive Assessment from an Occupational Therapist or Psychologist.
If you start to have difficulties with your memory, orientation or thoughts, then talk with your GP immediately.
9. Do you have new onset or existing incontinence?
Yes
No
See your GP for medical investigation. You may require a referral for a Continence Assessment. Free Helpline ph: 1800 330 066,
Continence Foundation of Australia.
If you start to have any problems with your continence, see your GP.
10. Are you taking multiple medications or medications that cause sedation?
Yes
No
See your GP regularly for a medication review.
If you are taking any medications it is still important to attend your GP for a regular review. You should at least attend your GP for an annual check-up.
11. Do you consume excessive amounts of alcohol or use illicit drugs?
Yes
No
You may require a referral to a Drug and Alcohol Service. Talk to your GP about a referral.
To reduce the risk of alcohol related disease then drink
no more than 2 drinks on any day and do not exceed 4 drinks on a single occasion
. Avoid using illicit drugs.
12. Do you experience dizziness or light headedness when standing from a seated position or have a recent history of fainting?
Yes
No
Attend your GP immediately for a postural blood pressure test or further medical investigations.
If you suddenly experience any of these symptoms see your GP immediately.
13. Have you recently sustained a fracture from a minor bump or fall or have a history of osteoporosis?
Yes
No
Talk with your GP about causes of osteoporosis and treatment options.
Osteoporosis is preventable.
Women (yes and men) older than 50 are at greater risk of developing osteoporosis.
Talk with your GP about prevention options.
14. Does your home environment have cluttered furniture, trip hazards, poor lighting, uneven/slippery surfaces, stairs or loose floor coverings?
Yes
No
You may require a Home Environment Assessment from an Occupational Therapist. Talk with your GP about a referral.
In the future if you notice any potential falls risks in the home, then please talk to your GP about an Occupational Therapy Home Environment Assessment.
Well done!
You successfully completed this important risk assessment.
Talk to your GP or follow this link to find local health services.
Remember in an emergency always call 000 or attend your local hospital emergency department!
Find more info on the Stay On Your Feet website.
Print this page
  Click this button to print (or save as PDF) this page to show your GP.


This blog will include posts mainly revolving around computers and the multi-verse. This site was hard-coded from scratch using HTML, CSS, Jekyll (Liquid templating), JS, and Twitter Bootstrap.


One love, one heart Let's get together and feel all right Hear the children crying (One love) Hear the children crying (One heart) Sayin', "Give thanks and praise to the Lord and I will feel all right Sayin', "Let's get together and feel all right Whoa, whoa, whoa, whoa
Let them all pass all their dirty remarks (one love) There is one question I'd really love to ask (one heart) Is there a place for the hopeless sinner Who has hurt all mankind just to save his own? Believe me
One love, one heart Let's get together and feel all right As it was in the beginning (one love) So shall it be in the end (one heart) Alright, give thanks and praise to the Lord and I will feel all right Let's get together and feel all right


Match Play. Red trails 4-10 to 11 (Crawford). How should Red play 54?
pips Red=122 White=77
(CorrectAnswer= 0/0, ErrorScore= 0)
Red could play 21/17, 21/16 when White will need to roll a 1 followed by a 6 to tunnel out.
Alternatively, he can play 8/3, 6/2* in which case White needs a 2 followed by a 6.
The difference between the two plays is that in the latter case White will be on the bar. That’s quite a difference and it makes the hitting play correct
Alternatively, he can play 8/3, 6/2* in which case White needs a 2 followed by a 6.
The difference between the two plays is that in the latter case White will be on the bar. That’s quite a difference and it makes the hitting play correct
1. Cubeful 2-ply 8/3 6/2* Eq.: +0.511 0.751 0.059 0.001 - 0.249 0.157 0.003 2. Cubeful 2-ply 21/17 21/16 Eq.: +0.482 (-0.029) 0.738 0.051 0.001 - 0.262 0.146 0.002 3. Cubeful 2-ply 21/16 11/7 Eq.: +0.395 (-0.116) 0.692 0.076 0.002 - 0.308 0.162 0.002 4. Cubeful 2-ply 21/12 Eq.: +0.381 (-0.130) 0.686 0.068 0.002 - 0.314 0.180 0.004 5. Cubeful 0-ply 21/17 11/6 Eq.: +0.339 (-0.172) 0.664 0.063 0.003 - 0.336 0.176 0.003


Storyboard TTC2011HelloWorldConstantTransformation2WithReferences
A constant transformation that creates a Greeting object structure with references
Create class model and generate implementation:
The code that builds and runs the transformation / pattern looks like:
GreetingPO greetingPO = (GreetingPO) new Pattern<Pattern>() .startCreate() .has(new GreetingPO()); GreetingMessagePO greetingMessagePO = greetingPO.hasGreetingMessage() .hasText("Hello"); PersonPO personPO = greetingPO.hasPerson() .hasName("TTC Participants");
Check: Constant transformation has match true
At runtime the object structure for the pattern and for the hostgraph looks like:
For completeness just the host graph:
For fairness, the java code that does this transformation looks like:
Greeting greeting = new Greeting(); GreetingMessage greetingMessage = greeting.createGreetingMessage() .withText("Hello"); Person person = greeting.createPerson() .withName("TTC Participants");


| Username |
{{ user.Name }}
|
| Domains |
{{ organization.UsedDomains }} of {{ organization.MaxDomains }}
0
|
Manage
Upgrade
|
| Addresses |
{{ organization.UsedAddresses }} of {{ organization.MaxAddresses }}
1
|
Manage
Upgrade
|
| Storage |
{{ organization.UsedSpace | humanSize }} of {{ organization.MaxSpace | humanSize }}
{{ user.UsedSpace | humanSize }} of {{ user.MaxSpace | humanSize }}
|
| Credit |
{{ user.Credit / 100 | currency: user.Currency }}
|
| Coupon |
{{ subscription.CouponCode }}
|


Home
Certification Options
BLS for Healthcare Providers
Onsite training
Reviews
Contact us
CPR for Healthcare Providers
For those who work in the medical field
First Responders
Nurses
Physicians
EMT's
CNA's
22nd
Physical
Occupational
Respiratory Therapists
Professionals in Dentistry
More info
Required CPR, AED, and First Aid
For those who work in the medical field
Child Care Providers
Educators
Caregivers
Foster & Adoptive Parents
This training will satisfy workplace CPR and first aid OSHA requirements.
More info
Basic CPR
For those who want to learn CPR
New Parents
Baby Sitters
Boy and Girl Scouts
Anyone can learn CPR!
More info


Boxing referees and judges from Rio Olympics banned from Tokyo games
by Phil EganThe International Olympic Committee task force has confirmed that none of the 36 referees and judges used at the 2016 Rio Olympics will be allowed to officiate at Tokyo 2020.
36 boxing officials were suspended following the event while an investigation was carried out into a number of questionable decisions.
Michael Conlan was on the wrong end of a controversial points defeat to Vladimir Nikitin in Rio and it was the last time the Belfast boxer fought as an amateur.
Scores from judges will now be displayed publicly at the end of each round during qualifying and at the Olympics.
Boxing task force chair Morinari Watanabe said: "The main objective of the IOC boxing task force is to ensure the completion of the mission of delivering events, while putting the boxers first, and with transparent and credible sporting results and fair play."
Michael Conlan will get the opportunity to avenge that defeat to Nikitin when the two square off in the pro ranks on December 14th in New York.
Conlan is moving one step closer to a world title fight with the news that he has moved up from third to the number one contender for Shakur Stevenson's WBO featherweight title.
Meanwhile, Gary "Spike" O'Sullivan has landed himself a world title fight in the new year.
The Cork middleweight will face unbeaten Mexican Jaime Munguia at the Alamodome in San Antonio on January 11th.
Munguia is moving up in weight having maintained an unbeaten record at light-middleweight, which included a tight points win over Ireland's Dennis Hogan.
Spike said: "For me, it’s a dream come true to fight the undefeated champion of the world and the number-one ranked fighter in the world.
"It makes it even better that he’s Mexican. I grew up watching the great Mexican champions and to get the opportunity to fight Jaime is an honour.
"I will leave no stone unturned in my preparation for this fight. I can’t recall feeling more motivated by any other fight in my career thus far. I believe this fight will be a war that the fans will talk about for many years to come."


Welcome to this totally secret hideout, {{email}}. Would you like to leave?
Yo guys, check out this Report List or even this Report


Home
Products
T-Shirts & Apparel
T-Shirts
Hoodies
View all
Geek Toys
Keychains
Plush
Sub Product
Electronics & Gadgets
Gaming
Sub Product
Home & Office
Sub Product
Sub Product
Interests
Dota 2
League of legends
Counter Strike
EVE Online
Search all items
About
Contact
Hello


Kmom05
Fyra pelare
- Samarbet
- Sammhörighet
- Verktyg
- Skalning
What is scaling?
- Expanding consumer base
- Growing revenue
- Expanding a project or team to meet demand
- Maintaining or improving a ration of people to systems och money spent
- Growing faster than competitors
Enterprise devops
Structure
- teams
- organisation
- locality
Teams
- flexibilty
- hiring
- subtracted work
Retention
- compensation
- growth benefits
- non-monetary benefits
Job postings and recruitment
- 110% or "go above and beyond"
- "work hard and play harder"
- "Awesomeness"
- "homework"
- Focus on technology
Organisational life cycle
- Internal and external pressure
- Growth and devline of organisations
Leadership
- A culture of accountability
- Organisational flexibilty
- How do people communicate between teams?
- Does the decision-making process require formal meeting?
- How far up the management hierarchy does someone need to go in order to make a change?


“Marked for Destruction” is an analog photography project which criticizes aggressive and abrupt destructions that Beijing government made on November 2017. The destruction caused thousands of migrant workers lost their home. I recreated the destruction scene at an industrial area in Prague. Through my project, I want the audience to feel connected with the laborers who got kicked out. “Beijing doesn’t want us. We’ll have to go back to our village”, a migrant lady says in the NYT interview. Under the control of Beijing, no matter what skin color, what gender you are, you may lose your home the next day.
It is exhibited at Richtrův Dům in Prague.
< < back to check other projects
back to top


{{info | json}}
Lookup allows you to determine if a user is signing up with a mobile number. You may want to prevent users from registering from certain kinds of phones.


Life & Death
Hope for Amy Walters
In contrast to this, our discussion readily shows that the double meaning in question belonged to the word taboo from the very beginning and that it serves to designate a definite ambivalence as well as everything which has come into existence on the basis of this ambivalence.
Nature vs. Nurture
My Father told me...
Conscience is the inner perception of objections to definite wish impulses that exist in us; but the emphasis is put upon the fact that this rejection does not have to depend on anything else, that it is sure of itself.
Stories for humans
On Humans & other Beings
I am fully aware of the shortcomings in these essays. I shall not touch upon those which are characteristic of first efforts at investigation. The others, however, demand a word of explanation.
Love & Hate
The Things we Lost in the Fire
Faulty psychic actions, dreams and wit are products of the unconscious mental activity, and like neurotic or psychotic manifestations represent efforts at adjustment to one’s environment.
Nutrition
What Goes Around Comes Around
Primitive man is known to us by the stages of development through which he has passed: that is, through the inanimate monuments and implements which he has left behind for us, through our knowledge of his art, his religion and his attitude towards life, which we have received either directly or through the medium of legends, myths and fairy tales; and through the remnants of his ways of thinking that survive in our own manners and customs.


"We'll put them in the grave!"
"We'll put them in the grave!"
Collect 80 fragments of Dream Petal from
Chapter 14 - Mt. Rathscar (Heroic Difficulty)
Complete 6 times with Cara in your party
(Extreme+ Difficulty)
Complete the stage with Cara in your party
Requirement: All heroes must survive (Heroic Difficulty)
| Item Stats + Max Enchant | ||
|---|---|---|
| Max Health | 1000 | +1400 |
| Magic Attack | 150 | +140 |
| Physical Armor | 150 | +140 |
| Magic Armor | 150 | +140 |
| Forge Bonus Stats | |||
|---|---|---|---|
| M. Attack | ≥ 40 | M. Pierce | +30 |
| M. Armor | ≥ 100 | Max Health | +900 |
| P. Armor | ≥ 200 | M. Attack | +150 |


Interface IInterpretsExpressionResult
An object which interprets the result of a TALES expression, for the purposes of TAL.
Namespace: ZptSharp.Tal
Assembly: ZptSharp.Abstractions.dll
Syntax
public interface IInterpretsExpressionResult
Methods
| Improve this Doc View SourceCoerceResultToBoolean(Object)
Gets a value which is the boolean representation of the specified result, following the rules of boolean type coercion for ZPT. This is used by various TAL attributes to determine whether a value is 'truthy' or 'falsey'.
Declaration
bool CoerceResultToBoolean(object expressionResult)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | expressionResult | An expression result. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
|
Remarks
This method will return false
if the expressionResult
is equal
to the default of its data-type, otherwise it returns true
.
For any data-type, the default of the type is what would be returned by default(T)
for that
type T.
Examples
For System.String
this method returns false
if the value is null
, otherwise
it returns true
.
For System.Int32
this method returns false
if the value is equal to zero, otherwise
it returns true
.
DoesResultAbortTheAction(Object)
Gets a value which indicates whether or not the expression result cancels the current action. See also: AbortZptActionToken.
Declaration
bool DoesResultAbortTheAction(object expressionResult)
Parameters
| Type | Name | Description |
|---|---|---|
| System.Object | expressionResult | Expression result. |
Returns
| Type | Description |
|---|---|
| System.Boolean |
|


SASLAUTHD
Section: Maintenance Commands (8)Index Return to Main Contents
BSD mandoc
CMU-SASL
NAME
saslauthd - sasl authentication serverSYNOPSIS
-a authmech [-Tvdchlr ] [-O option ] [-m mux_path ] [-n threads ] [-s size ] [-t timeout ]DESCRIPTION
is a daemon process that handles plaintext authentication requests on behalf of the SASL library.The server fulfills two roles: it isolates all code requiring superuser privileges into a single process, and it can be used to provide proxy authentication services to clients that do not understand SASL based authentication.
should be started from the system boot scripts when going to multi-user mode. When running against a protected authentication database (e.g. the shadow mechanism), it must be run as the superuser.
Options
Options named by lower-case letters configure the server itself.  (See the Sx AUTHENTICATION MECHANISMS section below.) This parameter is mandatory.
- -O option
- A mechanism specific option (e.g. rimap hostname or config file path)
- -H hostname
- The remote host to be contacted by the rimap authentication mechanism. (Depricated, use -O instead)
- -m path
- Use path as the pathname to the named socket to listen on for connection requests. This must be an absolute pathname, and MUST NOT include the trailing "/mux". Note that the default for this value is "/var/state/saslauthd" (or what was specified at compile time) and that this directory must exist for saslauthd to function.
- -n threads
- Use threads processes for responding to authentication queries. (default: 5) A value of zero will indicate that saslauthd should fork an individual process for each connection. This can solve leaks that occur in some deployments..
- -s size
- Use size as the table size of the hash table (in kilobytes)
- -t timeout
- Use timeout as the expiration time of the authentication cache (in seconds)
- -T
- Honour time-of-day login restrictions.
- -h
- Show usage information
- -c
- Enable cacheing of authentication credentials
- -l
- Disable the use of a lock file for controlling access to accept().
- -r
- Combine the realm with the login (with an '@' sign in between). e.g. login: "foo" realm: "bar" will get passed as login: "foo@bar". Note that the realm will still be passed, which may lead to unexpected behavior.
- -v
- Print the version number and available authentication mechanisms on standard error, then exit.
- -d
- Debugging mode.
Logging
logs it's activities via syslogd using the LOG_AUTH facility.AUTHENTICATION MECHANISMS
supports one or more Qq authentication mechanisms , dependent upon the facilities provided by the underlying operating system. The mechanism is selected by the -aho flag from the following list of choices:- dce
-
(AIX)
Authenticate using the DCE authentication environment.
- getpwent
-
(All platforms)
Authenticate using the Fn getpwent library function. Typically this authenticates against the local password file. See your systems getpwent(3) man page for details.
- kerberos4
-
(All platforms)
Authenticate against the local Kerberos 4 realm. (See the Sx NOTES section for caveats about this driver.)
- kerberos5
-
(All platforms)
Authenticate against the local Kerberos 5 realm.
- pam
-
(Linux, Solaris)
Authenticate using Pluggable Authentication Modules (PAM).
- rimap
-
(All platforms)
Forward authentication requests to a remote IMAP server. This driver connects to a remote IMAP server, specified using the -O flag, and attempts to login (via an IMAP `LOGIN' command) using the credentials supplied to the local server. If the remote authentication succeeds the local connection is also considered to be authenticated. The remote connection is closed as soon as the tagged response from the `LOGIN' command is received from the remote server.
The option parameter to the -O flag describes the remote server to forward authentication requests to. hostname can be a hostname (imap.example.com) or a dotted-quad IP address (<IP_ADDRESS>). The latter is useful if the remote server is multi-homed and has network interfaces that are unreachable from the local IMAP server. The remote host is contacted on the `imap' service port. A non-default port can be specified by appending a slash and the port name or number to the hostname argument.
The -O flag and argument are mandatory when using the rimap mechanism.
- shadow
-
(AIX, Irix, Linux, Solaris)
Authenticate against the local Qq shadow password file . The exact mechanism is system dependent. currently understands the Fn getspnam and Fn getuserpw library routines. Some systems honour the -T flag.
- sasldb
-
(All platforms)
Authenticate against the SASL authentication database. Note that this is probabally not what you want to be using, and is even disabled at compile-time by default. If you want to use sasldb with the SASL library, you probably want to use the pwcheck_method of "auxprop" along with the sasldb auxprop plugin instead.
- ldap
-
(All platforms that support OpenLDAP 2.0 or higher)
Authenticate against an ldap server. The ldap configuration parameters are read from /etc/saslauthd.conf. The location of this file can be changed with the -O parameter. See the LDAP_SASLAUTHD file included with the distribution for the list of available parameters.
- sia
-
(Digital UNIX)
Authenticate using the Digital UNIX Security Integration Architecture (a.k.a. Qq enhanced security ) .
NOTES
The kerberos4 authentication driver consumes considerable resources. To perform an authentication it must obtain a ticket granting ticket from the TGT server on every authentication request. The Kerberos library routines that obtain the TGT also create a local ticket file, on the reasonable assumption that you will want to save the TGT for use by other Kerberos applications. These ticket files are unusable by , however there is no way not to create them. The overhead of creating and removing these ticket files can cause serious performance degradation on busy servers. (Kerberos was never intended to be used in this manner, anyway.)FILES
- /var/run/saslauthd/mux
- The default communications socket.
- /etc/saslauthd.conf
- The default configuration file for ldap support.
SEE ALSO
passwd(1), getpwent(3), getspnam(3), getuserpw(3), sasl_checkpass3 sia_authenticate_user3,
Index
This document was created by man2html, using the manual pages.
Time: 05:34:29 GMT, December 24, 2015


Photographer Pat Healy taken to hospital after Navan incident
by Press AssociationPhotographer Pat Healy was taken to hospital following a nasty incident after the line in the opening race at Navan.
Thatsy and Entoucas fought out a thrilling finish to the www.navanracecourse.ie Maiden Hurdle, with the pair coming close together on the run to the line after negotiating the final hurdle.
While Thatsy just edged in front to win, Entoucas appeared to crash through the inside railing just after the post - colliding with the photographer, who was stationed nearby.
He was quickly tended to by medical staff - and while he was reported to be conscious, he was taken to Blanchardstown Hospital by ambulance for further examination, causing a delay to the following 'Monksfield' Novice Hurdle.
The doctor on duty at the track, Frank Kenny, said: "He left the course very stable and has injuries to the right side of his chest."
Entoucas and rider Mark Walsh escaped serious injury, with the jockey reporting his mount had dived at the gap in the railing just after the line.
The stewards held an inquiry to examine the incident and have referred the matter for further assessment.
Their report stated: "Having viewed the recording of the race and considered the evidence, the stewards were satisfied that there was no breach of raceday rules and that both riders were blameless.
"However, due to the gravity of the incident, the stewards referred the matter to the CEO of the Irish Horseracing Regulatory Board for further investigation."


Deckdown
Deckdown is a totally new way to build a slide deck.
No BS. Or JS. Or HTML.
Deckdown is a totally new way to build a slide deck.
No BS. Or JS. Or HTML.


"When launching a new consumer application, especially those in the social space, many developers today rely on an invite mechanism that has the app’s initial user base reaching out and recommending the app to their friends. But today, these invite systems are often fairly basic – they connect to a phone’s address book and then force the user to sift through their hundreds of contacts for those they think would be interested in joining the new app, too.
A Y Combinator-backed startup called YesGraph wants to make these invite and referral systems more intelligent, with a tool for developers that puts the best contacts – meaning those who are most likely to accept an invite – at the top of the list provided to users.
The company has also now raised a $1 million seed round led by Bloomberg Beta to fund the service’s further development."


--- layout: splash permalink: / header: overlay_color: "#5e616c" overlay_filter: "0.5" overlay_image: /assets/images/drone.jpeg cta_label: " View Now" cta_url: "/posts/" caption: excerpt: 'Welcome to my blog ' ---


{% extends "form_base.html" %} {% block content %}
Welcome to the signup page
Fill out the form. Notice, we don't save any info


Now that we know how to open and create a DocFile, lets create
a stream and save some data to it.
Step 1: Creating a Stream
{Try to create the stream} Hr := RootStorage.CreateStream( 'MyStream', STGM_CREATE or STGM_READWRITE or STGM_DIRECT or STGM_SHARE_EXCLUSIVE, 0, 0, Stream );
As you can see CreateStream is a member function of IStorage. The STGM flags are the same as used with StgCreateDocFile. Dont forget to check the Hr result for success.
If successful this will create a stream called MyStream in the RootStorage.
Step 2: Write some data
Well lets first get some data to write! From this point on I'll be building a sample application that will demonstrate some of the more important DocFile concepts.
So create a new Delphi project in which you can test these examples.
For this first example drop a TMemo and a TButton on the form.
| Control | Caption | Name |
| TMemo | mem_Text | |
| TButton | Save | but_Save |
What this simple application will do is save the text from the memo into a stream in the DocFile. Later on we'll read the data back from the stream.
Double click the button to start entering the OnClick code used to save the memo's text
There are as always a number of ways to accomplish anything in programming, I'll show you two methods here. There are probably quite a few more. Chose the method that best suits your needs.
Method 1:
Saving a string
Stream.Write( PChar(mem_Text.Text), Length( mem_Text.Text ), @iNumWritten ); {Was all the data written?} if( iNumWritten <> MemStream.Size ) then begin MessageBeep( -1 ); ShowMessage( 'Not all of data was saved' ); end;
Here the text in the memo's Lines.Text property is used to get the text as a string.
Method 2: Using a TOleStream
This section origionally showed how to use a memory stream as a tempory stream before saving the data to
the actual IStream. This method worked and was quite flexible... however there is a better way. There always
is! In this case the better method is to use a TOleStream.
My thanks to Thaddy de Koning<EMAIL_ADDRESS>for bringing this class
to my attention.
TOleStream is defined in AxCtrls.pas. What it does is wrap a IStream and allow you to use the IStream just as you would any normal stream class (eg TStream, TMemoryStream, TFileStream etc..). This makes loading and saving data so much easier.
To use TOleStream you pass an open IStream as the only parameter to its constructor.
For example saving the text from a TMemo to a open IStream.
{Create a memory OleStream} OleStream := TOleStream.Create( Stream ); {Save the memo's text to the OleStream} mem_Text.Lines.SaveToStream( OleStream ); {Finished with the OleStream} OleStream.Free;
I have noticed that TOleStream.Size does not work correctly for a TOleStream. It correctly returns the size of the stream, but changing the value has no effect at all! Use the normal API functions if you need to manualy resize an IStream.
The full source code (using method 2) follows, this is the procedure you would call from the button's OnClick Event
procedure CreateAndSave; var Hr : HResult; Stream : IStream; OleStream : TOleStream; RootStorage : IStorage; begin {Try create the DocFile} Hr := StgCreateDocFile( 'c:\Temp\MyDocFile.ole', STGM_CREATE or STGM_READWRITE or STGM_DIRECT or STGM_SHARE_EXCLUSIVE, 0, RootStorage ); {Was is created?} if( not SUCCEEDED( Hr ) ) then begin (* Fail *) {D2}//RootStorage.Release; Exit; end; {Try to create the stream} Hr := RootStorage.CreateStream( 'MyStream', STGM_CREATE or STGM_READWRITE or STGM_DIRECT or STGM_SHARE_EXCLUSIVE, 0, 0, Stream ); {Was is created?} if( not SUCCEEDED( Hr ) ) then begin (* Fail *) {D2}//RootStorage.Release; Exit; end; {Create the OleStream} OleStream := TOleStream.Create( Stream ); {Save the memo's text to the OleStream} mem_Text.Lines.SaveToStream( OleStream ); {Finished with the OleStream} OleStream.Free; {D2}//Stream.Release; {D2}//RootStorage.Release; end;
I've included the .Release calls (comment out though) for the Delphi 2 users. If you're using Delphi 3 just ignore these lines.
From now on I'll be leaving out the Delphi 2 Release calls. If you are using Delphi 2 you must remember to call Release when you are finished with a IStorage or IStream.
All information on these www pages is copyright (©) 1997 Andre .v.d. Merwe And may not be copied or mirrored without my permission.


Wind roses help us to visualise predominant wind directions. They are circular images that show the frequency of wind speed and wind direction at a particular place over a certain period of time. Each spoke on the wind rose represents a specific direction that the wind blows from. The length of the spoke tells us about the frequency of each wind – in this image, winds blew from WSW for 20% of the time, and from the NE for 3% of the time. The circle in the centre indicates the frequency of calm winds. The different colours on the spokes represent various wind speeds recorded in metres per second.


{% extends "global/Page.html" %}
{% load staticfiles otree %}
{% block title %}
Instructions
{% endblock %}
{% block content %}
You have been randomly and anonymously paired with other participators into a group.
Based on your group, you will be assigned with no item, one item or two items.
Afterwards, you will be asked a question based on the given (or not given) item(s).
Thank you for helping us!
{% next_button %}
{% endblock %}


Class ODataQuery
Located at src/query/ODataQuery.php
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
|
|
public
OdataQueryFilterAggregator
|
|
public
|
|
public
|
|
public
|
|
public
|


NavBar Demo | <uif-nav-bar>
In order for this demo to work you must first build the library in debug mode.
Simple NavBar:
Code:
Advanced NavBar (search, item icons, sub menu):
Code:
Mobile version:
Need some animation? Here you go:
- Include angular-animate.js using script tag (
<script src="https://code.angularjs.org/1.4.8/angular-animate.min.js"></script>
)
or include it into your package
- Add dependency on
`ngAnimate`
in your module, angular.module('demoApp', ['ngAnimate','officeuifabric.core','officeuifabric.components']);
- Now
is-open-add, is-open-add-active, is-open-remove, is-open-remove-active
css classes are availiable
for you to use. They are automatically added by ngAnimate
. You can use Office UI Fabric animation or
external libraries like animate.css or even create your own animations.
- Here is an example of using Office UI Fabric animations:
Code: