Samuel Georges
04f89dc5bb
getToken -> token
2017-05-20 13:19:51 +10:00
Samuel Georges
7e76f39e6c
Add app.name config
...
Various other refittings
2017-05-16 18:50:41 +10:00
Quezler
cc17b679f1
Code dusting ( #2826 )
...
Code cleaning according to PSR-2 w/ exemptions (mostly dust).
2017-04-24 21:38:19 +10:00
Samuel Georges
015b34fe88
Block media manager entirely if user lacks access
2017-04-11 08:40:39 +10:00
Luke Towers
d1c9b1a6f1
Support updating existing sidemenus
...
Fixes #2757 , #2777
2017-03-24 09:05:35 -06:00
Samuel Georges
0a981a25f7
API docs progress
...
Controller -> SystemController for consistency
2017-03-16 17:08:20 +11:00
Samuel Georges
18c6bb63a2
API docs progress
2017-03-15 18:03:26 +11:00
Samuel Georges
462c9cd4e8
Introduce theme logging + log settings
...
CmsObject changes can now be tracked (disabled by default)
Request logging is now disabled by default (security vector)
2017-02-08 05:44:04 +11:00
Samuel Georges
0d1fc43212
Add isSelected() helper to form field
...
Fixes an issue where dropdown NULL and 0 are treated as the same
Fixes #2612
2017-02-03 06:35:23 +11:00
Samuel Georges
5b5e23bfb8
Minor touch up from #2604
2017-01-26 11:30:26 +11:00
Samuel Georges
5e729f9978
Merge pull request #2604 from dubcanada/patch-1
...
If CMS module is loaded (and MediaManager exists) bind it
2017-01-26 11:27:56 +11:00
dubcanada
0a4390b4d9
If CMS module is loaded (and MediaManager exists) bind it
...
I am using OctoberCMS without the CMS module (removed from modules directory and turned off in cms.php) and I am getting an error in the backend regarding missing `MediaManager` class. I wrapped this in a class_exists to check that MediaManager exists before binding it.
Let me know your thoughts.
2017-01-10 13:45:59 -04:00
Samuel Georges
6af6ebe733
Added config backendForceSecure used to force HTTPS
...
Refs https://security.googleblog.com/2016/09/moving-towards-more-secure-web.html
2016-12-17 10:16:02 +11:00
Samuel Georges
c644f8b66d
Fixes issue where nested columns forcibly hide
...
Eg: "myrelation[attribute]" as a column name would cause the list setup to hide these fields with no ability to bring them back
2016-12-14 19:14:41 +11:00
Samuel Georges
0a2b343047
Simplify system events
...
This pipes all event calls through a new EventEmitter trait, which substitutes the October Rain event emitter trait. The view event has been moved to this trait also.
Pass some variables by reference to allow multi-extension.
Fixes #2420
2016-12-10 09:02:06 +11:00
Samuel Georges
29040b416c
Allow redirect: false on importExportController
...
Implement getFieldName() method
2016-11-28 07:50:06 +11:00
Samuel Georges
35296c5b26
Adds getFieldName helper to FormWidgetBase
...
Refs https://github.com/octobercms/docs/pull/207
2016-11-24 08:59:07 +11:00
Samuel Georges
46c473e2f2
Fixes fetching multi tiered pivot relation values
...
Refs https://github.com/daftspunk/oc-crm-plugin/issues/3
Minor code clean on select.js
2016-11-08 07:02:31 +11:00
Samuel Georges
6173ff177b
Typo in variable name
2016-11-02 08:58:07 +11:00
Samuel Georges
0aadcc6675
Merge paths and vars when calling widget handler
...
When an AJAX handler is called for a widget, the view paths and specified variables should be merged in to the controller. This sets the appropriate context:
1) Look at the widget first
2) Fall back to the controller
Fixes #2432
2016-11-02 08:50:15 +11:00
Samuel Georges
bc165078de
Removes redundant code
...
The form widget label and widgetDetails() method was intended for use by the Builder plugin, since it ended up using its own internal registration system, this is not used anywhere so is removed.
Refs https://github.com/octobercms/docs/issues/200
2016-11-01 08:15:03 +11:00
Samuel Georges
0b345ad592
Add 'readOnly' spec to form field
...
Same as disabled except data is still posted back
2016-09-27 16:50:52 +10:00
soulshockers
e10c162667
Fixed calling dynamic methods for dynamically extended widgets.
2016-08-05 18:51:27 +03:00
Samuel Georges
78a4067564
Make logic more explicit
...
This tightens up the rules of 7baea87068
2016-07-23 15:50:48 +10:00
Samuel Georges
7baea87068
Allow AJAX handlers to pipe objects to Laravel
...
Treat non scalar, non array, non RedirectResponse, non null as a Laravel compatible response
This brings AJAX handlers in line with page cycles, which do the same thing if the response is not a string. However in AJAX we should treat any scalar as a "result", not just a string. For all else (where not null), let Laravel handle it as a custom response object -- could be a model for serialization, or anything compatible.
Importantly to note when a custom redirect is sent, October's workflow is completely wiped out, so any partial updates, redirects, etc. will not occur. This is a normal and fair expectation.
Fixes #1784
2016-07-23 11:57:15 +10:00
Samuel Georges
e970d80443
Align AJAX logic: merge custom response last
...
This is to allow overriding the standard values
Refs #2209
2016-07-16 13:11:10 +10:00
Luke Towers
b73811fefc
Moves AJAX handler response handling
...
Fixes octobercms/october#2208
2016-07-13 09:51:18 -06:00
Samuel Georges
bcff1d3ecd
Widget classes are now extendable
...
Fixes #2078
Fixes #1586
2016-06-15 17:10:46 +10:00
Samuel Georges
171b14c6ab
Nicer error message when no DB and backend access attempt
...
This is for flat-file sites that don't use a database. If debug mode is on, it will show an error page with advice to set up the database. If debug mode is off, it will simply show a 404 page. Previously it was a nasty exception/plain error page.
2016-06-05 07:16:11 +10:00
Samuel Georges
e9be15cc15
Preferences -> Preference
...
Rename brandsetting config folder
2016-05-27 07:46:50 +10:00
Samuel Georges
cdb35f5070
UserPreferences -> UserPreference
...
(Models should be singular)
2016-05-27 07:35:32 +10:00
Samuel Georges
6c081d9265
Combine editor preferences and backend preferences
...
Add backend timezone setting used for converting display dates
2016-04-23 05:31:05 +10:00
Samuel Georges
0504da41f2
Add hasFields methods
...
formHasOutsideFields, formHasPrimaryTabs + formHasSecondaryTabs
2016-04-23 05:13:08 +10:00
Samuel Georges
87a4de40de
Address serialize/unserialize issues
...
This will require a cache clear for the combiner
Ref https://davidwalsh.name/php-serialize-unserialize-issues
2016-04-16 08:22:31 +10:00
Pásztor Gábor
9f3fcf27ed
Update AssetsList
2016-03-30 18:17:18 +02:00
Samuel Georges
a035acdc2c
Tidy up some logic, restore firstRowTitles setting
...
Refs #1856
2016-03-26 14:10:05 +11:00
Jérémy Gaulin
2a60e34558
Import options to configure the CSV reader + patch to prevent unfriendly error to be thrown due to bad import source file encoding (on AJAX request)
2016-03-26 12:54:13 +11:00
Samuel Georges
0aef151d9a
Add showSearch option to dropdown
...
This is a highly specific option, so we shouldn't add it to the FormField class itself
2016-03-25 18:21:58 +11:00
Samuel Georges
23f4d40ef2
Merge common functionality in to FormModelWidget
2016-03-25 18:01:58 +11:00
Samuel Georges
1241f584d0
Merge remote-tracking branch 'remotes/origin/stable' into ui
2016-03-01 07:02:07 +11:00
Samuel Georges
21f3ac93c1
Add support for HTML comments
...
Fixes #1808
2016-02-27 09:46:00 +11:00
alekseybobkov
a943708b99
UI updates
2016-02-19 22:12:41 -08:00
Joshua Wilson
6f3d7a58f2
Phpdoc cleanup for System\Traits
...
removed in WidgetMaker trait
phpdoc cleanup of backend traits and classes
Minor fix for cases when file is not found
2016-02-13 14:06:50 +11:00
Samuel Georges
3cfc7b6a5d
Move widget classes that are exclusive to their own space
2016-01-16 16:02:28 +11:00
Pásztor Gábor
31457bd2ee
Cleanup
2016-01-15 10:20:57 +01:00
Samuel Georges
2213c6f28c
Fix string comparison function
...
Flush stray output on view errors
2016-01-02 16:13:30 +11:00
Samuel Georges
a186a60c43
Fixes the datepicker saving an empty value when disabled
...
Refs https://github.com/responsiv/campaign-plugin/issues/4
2015-12-09 08:19:53 +11:00
Samuel Georges
04e61adac3
Add official support for "nolink" columns - Fixes #1599
...
To make a row non-clickable, use the `clickable` option in the list column definition
2015-12-05 10:05:42 +11:00
Samuel Georges
33d39c8b34
Minor
2015-10-17 10:51:54 +11:00
Samuel Georges
f446f8acd4
Merge pull request #1506 from tschallacka/FormFieldCatchForEmptyYaml
...
Fixed form field parsing to accept no config
2015-10-17 10:23:58 +11:00
Samuel Georges
ef22ac934d
DRY up code from #1504
2015-10-17 10:16:49 +11:00
tschallacka
c4fffbd6f7
Fixed form field parsing to accept no config
...
If a programmer would define a yaml like
fields:
shortcut:
country:
It would fail with message
"array_key_exists() expects parameter 2 to be array, null given" on line 275 of ..\modules\backend\classes\FormField.php
The yaml parsing returns a null. This check intercepts that null value being passed to the function and turns it into a proper array.
2015-10-09 16:06:23 +02:00
flynsarmy
82c2787f39
Add support for default values in form widgets
2015-10-09 13:51:33 +10:00
Samuel Georges
1c8d021a35
Adds the ability to remove navigation items
...
Included tests
Refs #1413
2015-09-12 08:45:58 +10:00
Samuel Georges
2a6b58a3fe
Merge pull request #1425 from Flynsarmy/getPublicActions
...
Add getPublicActions controller method
2015-09-08 12:48:44 +10:00
flynsarmy
98e1d0fe4d
Add getPublicActions controller method
2015-09-07 14:17:09 +10:00
Samuel Georges
917cfd437f
Make sure a tab is defined always - Refs #1397
2015-08-29 16:45:01 +10:00
Jérémy GAULIN
2872e80a14
Merge branch 'develop' of https://github.com/octobercms/october into fix-extending-plugin
2015-08-03 18:20:20 +02:00
Jérémy GAULIN
f22a16d482
Fix NavigationManager error when extending a side menu by adding a new item.
...
The code and owner were not set in the value array.
2015-08-03 18:07:56 +02:00
Samuel Georges
bb4c2da404
Revert change from #1315 , fixes original issue, write tests
2015-07-28 18:52:12 +10:00
Samuel Georges
48b4a137fa
Allow passing explicit content to hints
2015-07-25 09:34:47 +10:00
Samuel Georges
d453f922dc
Improve the hint API, add inset mode to loader
2015-07-25 09:23:34 +10:00
Samuel Georges
fc490b18e9
Add actionUrl() helper to backend controller
...
Used for generating URLs to the current controller
2015-07-23 19:44:54 +10:00
Samuel Georges
846feb6a33
FileUpload now triggers dependsOn event
...
form.beforeRefresh event now uses dataholder pattern
Improve exception handling in ControllerBehavior
2015-07-18 08:50:31 +10:00
Samuel Georges
606892143b
Added new security config option cms.enableCsrfProtection
2015-07-04 09:31:28 +10:00
Samuel Georges
f9c921a797
Adds getAjaxHandler() API to controllers
...
Fixes bug where update process fails midway
2015-06-30 08:56:53 +10:00
Samuel Georges
c9a9c6ea16
List columns now support specifying a default option used when the value would otherwise be null.
2015-06-27 10:39:07 +10:00
Samuel Georges
d9dfa21372
Adds CSRF protection to the backend - Refs #105
2015-06-20 21:17:58 +10:00
Samuel Georges
cd1d62d8d7
AJAX requests can only use the POST method
2015-06-20 20:18:58 +10:00
Samuel Georges
37e5b2328f
Form text/password/number fields now support maxlength attribute - Fixes #1210
2015-06-20 12:00:37 +10:00
Samuel Georges
e71025de09
Tidy up from #1219
2015-06-18 18:46:03 +10:00
flynsarmy
9a9a525180
Remove empty tabs when removing form fields
2015-06-18 14:44:43 +10:00
Samuel Georges
9ed73e0cba
Updates for new symbolizePath API, requires latest rain lib code
...
Backend layouts can now be provided by plugins
2015-05-30 15:54:47 +10:00
Samuel Georges
a1291c3716
Restyle Administrator pages
2015-05-21 22:55:08 +10:00
Samuel Georges
cceae62812
Apply incremental default order values on side menu items
...
Refs #1079
2015-05-02 10:47:06 +10:00
Samuel Georges
7c205c7ceb
Merge pull request #1079 from dshoreman/sortable-sidenavs
...
Add support for sorting sideMenu items
2015-05-02 10:28:55 +10:00
Samuel Georges
9173e3bb9a
Merge branch 'develop' into media-manager
2015-04-23 18:09:18 +10:00
Dave Shoreman
e6342dbd8a
Add support for sorting sideMenu items
...
Up until now, only main menu items have supported the 'order' parameter
to set the sort order. This adds the same support to side menus, which
is especially useful when one plugin extends the side menu of another.
There is one downside: any existing plugins that use the side menu will
inevitably end up with their menu items appearing out of order, until
the author adds the 'order' parameter to their sideMenu array.
2015-04-22 22:16:06 +01:00
Samuel Georges
1a037bad04
Add the ability to include middleware in CMS / Backend controllers
...
Add init.php script to plugins
Fixes https://github.com/octobercms/library/issues/106
2015-04-21 20:07:34 +10:00
alekseybobkov
c1740c479c
Media Manager: implemented insert link, insert image, and crop and insert features. Minor fixes in October core and third-party JS plugins.
2015-04-11 18:55:02 -07:00
Samuel Georges
7e9e5adfb5
Merge pull request #1032 from keiosweb/fix_hhvm_relation_formfield_issue
...
fixes HHVM relation formfield
2015-04-01 19:02:08 +11:00
Samuel Georges
c4027b8bc6
Added a defaultFrom option to form fields
...
Default context of manage and pivot forms is now create and update respectively, instead of the old value relation
2015-03-28 16:14:22 +11:00
Łukasz Biały
e19759c9f9
fixes HHVM relation formfield (belongsToMany in particular) issue in which no data is pulled from relation
2015-03-27 23:03:38 +01:00
Samuel Georges
a743d78658
List Column of type switch now has text-center CSS
...
List Column now have getName and getId accessors
2015-03-25 19:35:00 +11:00
Samuel Georges
0916c7a650
Fixes #1008 - typo in code
2015-03-18 05:41:39 +11:00
Samuel Georges
77d3ab8b67
Finish basic theme utilities: properties, import/export, duplicate, delete
2015-03-16 19:00:39 +11:00
Samuel Georges
9b8e1ce3c1
Improve theme list to allow editing properties
2015-03-14 18:09:54 +11:00
Samuel Georges
e479ccbda6
Tab options can now specify 'defaultTab'
2015-03-14 17:06:03 +11:00
Samuel Georges
c6bfd5d01c
Move this logic to no longer depend on AR model
2015-03-10 09:34:59 +11:00
Samuel Georges
668457b4e6
Updated deprecated references
...
Str::evalHtmlId -> October\Rain\Html\Helper::nameToId
Str::evalHtmlArray -> October\Rain\Html\Helper::nameToArray
Str::stripHtml -> October\Rain\Html\Helper::strip
Str::limitHtml -> October\Rain\Html\Helper::limit
Str::cleanHtml -> October\Rain\Html\Helper::clean
2015-03-07 12:48:39 +11:00
Samuel Georges
8c41bc181e
Model can now resolve this for us
2015-03-07 12:28:50 +11:00
Samuel Georges
8ca1f8b7a3
Discovered an undoc feature "data-input-preset-prefix-input"... added to API as "prefixInput"
2015-03-07 11:14:03 +11:00
Samuel Georges
69542c311c
Form field "preset" options can be a string that just specifies the other field, defaults to url type
2015-03-07 11:02:16 +11:00
Samuel Georges
f8c3eac9c6
Streamline data-input-preset in to FormField API
2015-03-07 10:45:22 +11:00
Samuel Georges
7e3cf98a75
Adds data-trigger-closest-parent to Trigger API
...
Test code:
<form id="form1">
<input
type="text" name="aa" value="aaa"
data-trigger-action="show"
data-trigger="input[name=bb]"
data-trigger-condition="checked"
data-trigger-closest-parent="form"
/>
<input type="checkbox" name="bb" />
</form>
<form id="form2">
<input
type="text" name="aa" value="aaa"
data-trigger-action="show"
data-trigger="input[name=bb]"
data-trigger-condition="checked"
data-trigger-closest-parent="form"
/>
<input type="checkbox" name="bb" />
</form>
2015-03-07 09:47:44 +11:00
Samuel Georges
507bfab768
!!! *BREAKING*: Form widget base class no longer takes a model as the 2nd argument, it should be passed as `model` in the configuration instead.
2015-03-06 20:37:05 +11:00
Samuel Georges
f869b8cc94
Gives FormWidgets the ability to say: "No labels, please"
...
ping @keiosweb
2015-03-03 20:24:14 +11:00
Samuel Georges
a3f3084924
Implement AjaxException
2015-03-03 18:41:09 +11:00
Samuel Georges
85c47c4e01
public -> protected $defaultAlias
2015-02-28 12:43:53 +11:00
Samuel Georges
932a40a025
Streamline the process of filling a widget with its config options
2015-02-28 12:12:22 +11:00
Samuel Georges
5784417862
Document widget accepted config
...
These definitions don't serve a function other than helping developers
2015-02-28 11:50:27 +11:00
Amanda Tresbach
d50e9e743f
Allow setting 'options' for a scope in filter config
2015-02-22 20:28:05 -03:00
Pásztor Gábor
f8cb3900f0
Add validation rules for mail settings.
2015-02-21 19:55:37 +01:00
Samuel Georges
c746ba5c2b
Disabled property on form fields should work
2015-02-21 17:09:21 +11:00
Samuel Georges
6bf72386ee
Can now prune event/request log records, add width definition to list columns
2015-02-21 13:49:32 +11:00
Samuel Georges
536a391754
Add basic trigger implementation to Form Field
...
Implement trigger on Mail Settings page
2015-02-18 18:12:20 +11:00
Samuel Georges
7145aac457
Prepare for CDN, config rename cms.plugins|themes|uploadsDir -> cms.plugins|themes|uploadsPath
...
Deprecate data-trigger-type on triggerapi
Fixes ref to Util class
2015-02-17 20:58:38 +11:00
Samuel Georges
7b52e07b65
Overhaul exceptions, rename triggerapi display -> show
2015-02-16 21:16:43 +11:00
Samuel Georges
6a2f64757b
*** REMOVED ALL DEPRECATED CODE **
2015-02-14 14:11:25 +11:00
Samuel Georges
e50a220fae
Fixes an issue where unix users get locked out of the backend
2015-02-12 21:02:47 +11:00
Samuel Georges
2b32fc4718
Minor touch ups
2015-02-12 08:37:24 +11:00
Samuel Georges
77d0d25f64
Merge pull request #934 from Flynsarmy/removeFormField
...
Add support for removing form fields
2015-02-12 08:32:03 +11:00
Samuel Georges
439f9a05c2
Merge pull request #941 from Flynsarmy/getAllConfig
...
Add support for getting all config
2015-02-11 20:53:07 +11:00
Samuel Georges
0a6e14f4d2
Popup control now supports several sizes via `data-size` attribute: giant, huge, large, small, tiny.
...
Fixes various bugs in RC version
2015-02-11 14:36:00 +11:00
Samuel Georges
b4c49ca0fd
Move backend helper to its own directory
2015-02-11 14:34:37 +11:00
Samuel Georges
9f34db8c56
Merge pull request #936 from Flynsarmy/setConfigRequiredFix
...
Incorrect requried argument default value
2015-02-10 17:51:50 +11:00
Samuel Georges
610ea932fc
Fixes #856 - Implement a linking policy, defaults to relative
2015-02-09 21:52:17 +11:00
flynsarmy
a3272956e3
Incorrect requried argument default value
2015-02-09 20:45:53 +10:00
flynsarmy
5805ddec5a
Add support for removing form fields
2015-02-07 19:52:34 +10:00
flynsarmy
1d2a1478cc
Add support for getting all config
2015-02-07 16:30:55 +10:00
Samuel Georges
fbf46519b4
Implement plugins_path() usage
2015-02-07 15:37:07 +11:00
Samuel Georges
03eb949e71
Add illuminate/html package, DB -> Db, HTML -> Html
2015-02-04 20:03:44 +11:00
Samuel Georges
beb818efa5
Merge branch 'develop' into laravel5
...
Conflicts:
modules/cms/classes/CmsCompoundObject.php
modules/system/ServiceProvider.php
2015-02-04 19:35:55 +11:00
Samuel Georges
ed22cc9186
Migrate bootstrap process
2015-02-04 19:31:41 +11:00
Samuel Georges
167d113c12
depends -> dependsOn
...
Hidden fields now retain their container div (hidden when empty)
2015-01-29 20:32:24 +11:00
Samuel Georges
b1b700368f
Radical reorg of some classes
2015-01-28 11:49:54 +11:00
Samuel Georges
7c1de4f728
Add export action to ListController behavior
2015-01-27 20:02:20 +11:00
n.kolesnichenko
3013935374
Bug fix. There is no Aliasing to Model class in FormField class.
2015-01-19 10:47:43 +03:00
Samuel Georges
e7b0c3ae2c
Typo
2015-01-18 15:30:09 +11:00
Samuel Georges
47cd204686
Add event for backend, before running a controller
2015-01-18 15:23:19 +11:00
Samuel Georges
5bbb248ffa
Minor
2015-01-18 14:49:09 +11:00
Samuel Georges
eb8f4ec1a8
Removed generic permission "Manage settings", these should be more granular to the tool
...
Fixes #831 - Fixes dashboard redirect, add "Manage mail settings" permission
Fixes bug in Settings permissions, they now work!
2015-01-18 13:16:18 +11:00
Samuel Georges
7e7d77c5e6
Fixes #869 - Constructor doesn't have static. ping @alekseybobkov
2015-01-12 20:08:52 +11:00
Samuel Georges
f4487076b7
Remove some legacy code, no need to pipe WidgetMaker thru WidgetManager
2015-01-05 13:12:48 +11:00
Samuel Georges
b74b19741b
Unify the logic for getting field values from a dataset
...
Amongst Form Widgets and "the" Form widget
ping @alekseybobkov
2015-01-05 12:54:14 +11:00
Samuel Georges
5d2a177646
getModelArrayAttribute -> resolveModelAttribute
2015-01-05 11:18:43 +11:00
Samuel Georges
d91d4112a5
getLoadData -> getLoadValue
2015-01-05 09:45:04 +11:00
Samuel Georges
0be582c42d
getSaveData -> getSaveValue
2015-01-05 09:43:39 +11:00
Samuel Georges
59c9146b4f
Merge pull request #861 from gergo85/master
...
Cleanup
2015-01-05 09:21:09 +11:00
gergo85
f0005d196b
Cleanup
...
Remove whitespaces.
2015-01-03 12:41:23 +01:00
Samuel Georges
7dd147a62a
Create initial DataTable form widget
2015-01-03 11:57:50 +11:00
alekseybobkov
3ac21e3c89
Merge branch 'develop' into table-widget
2014-12-17 22:15:23 -08:00
Samuel Georges
d3000ca51a
Unify the handling of detailed exception messages
2014-12-16 12:21:55 +11:00
alekseybobkov
c6eb544101
Implemented the server-side data access. Added automatic POSTing of client-memory data source data. Updated documentation. Minor fixes in the drop-down cell processor.
2014-12-11 22:12:43 -08:00
alekseybobkov
23892f8733
Added the server-side data source foundation classes. Implemented the server-side client memory data source. Added more configuration options ot the client-side script. Updated documentation.
2014-12-10 22:46:17 -08:00
Samuel Georges
ab24c547a2
Move NO_SAVE_DATA to FormField
2014-12-05 16:46:04 +11:00
Samuel Georges
3dbe487698
Various fixes to datepicker and form widget
2014-11-27 19:02:23 +11:00
Sam Georges
4d411c343e
Tidy up notes
2014-11-12 07:39:42 +11:00
Sam Georges
f458fb7704
Overhaul Form layouts, adds FormTabs.php class for managing tab properties
2014-11-12 07:33:58 +11:00
Sam Georges
7bcec1bd99
Fixes #16 - Adds tooltip to counter in navigation using 'counterLabel' property
2014-11-10 20:33:43 +11:00