Category Archives: jQuery

Auto Resizing Textarea HTML5 WebComponent

Just finished my next experiment with HTML5 WebComponents. AcidJs.XTextarea is an advanced replacement of the classic <textarea /> HTML element, supporting custom events and auto resizing as-you-type. Check the extensive documentation in the distribution file (click the download button at the top of the demo page) or scroll this page to see the demos.

thumb

Usage

<acdisj-xtextarea></acdisj-xtextarea>
<acdisj-xtextarea placeholder="Type your message..." id="textarea-1" name="textarea-1" rows="5" cols="40"></acdisj-xtextarea>
<acdisj-xtextarea name="textarea-2" rows="10" cols="30" disabled></acdisj-xtextarea>
<acdisj-xtextarea name="textarea-5" autoresize="off" rows="5" cols="30"></acdisj-xtextarea>
<acdisj-xtextarea autofocus name="textarea-8" cols="60" rows="5"></acdisj-xtextarea>
<acdisj-xtextarea name="textarea-4" hidden></acdisj-xtextarea>

HTML Attributes of the Component

Apart from the form attributes like name, rows, cols, placeholder, spellcheck, autofocus, disabled and readonly etc. and the HTML standard attributes such is id and style AcidJs.XTextarea supports one custom property, allowing to turn the autoresizing off:

  • [autoresize="off"]

JavaScript API – Methods, Accessors and Events

The component supports all standard JavaScript methods querySelector, querySelectorAll, getElementById, etc. plus the following custom methods, accessors and events:

Methods

  • enable() – the method enables back a previously disabled textbox by using the disable() method, the enabled accessor or the disabled and readonly properties.
  • disable() – the method disables the queried textbox, so no user input is possible.
  • getValue() – the method returns the current value of the queried textbox, similar to the enabled accessor.
  • setValue(String|null) – the method sets new value to the queried textbox.

Accessors

  • enabled – gets or sets the enabled state of the textbox. Use Boolean value for the setter.
  • value – gets or sets value of the textbox. The setter requires a string or empty value.

Events

  • type – the event is triggered upon user input and returns an object, containing the current value of the textbox to which the event handler is bound to:
    {
        data: "Lorem ipsum dolor sit amet..."
    }
    /*
     * Bind to the "type" event of the textbox
     **/
     $("#my-textarea").on("type", function(e, data) {
         window.console.log("textbox event:", e.type, data);
     });

If you share the same interest towards HTML5 Web Components as I do these days, make sure you read my relevant blog posts and further endeavors on my HTML5, CSS3 and JavaScript Experiments and Insight website.

5 Years of Ribbon JS!

Ribbon JS is turning 5 this month! If you are planning to purchase a license, now it’s the time. Join the celebration and get any commercial license for the most advanced and feature-complete JavaScript, HTML5 and CSS3 MSOffice-like ribbon control available on the Internet today at a half price only in August 2015!

ribbonjs.promo

Fair and Simpler Ribbon JS Licenses

With the release of version 4.3.0 of Ribbon JS, the commercial version of the control is now offered in two fair types of licenses – discounted and full commercial. The non-source code option has been removed and now source code is included in all licenses. Here are the details for the new purchase options:

Discounted License with Source Code

  • You are an individual, using Ribbon JS only for personal projects.
  • You are an individual or business, using Ribbon JS for commercial projects, and your yearly gross revenue does not exceed $10,000 USD.
  • You are an educational or non-profit organization.
  • 25% discount on major updates.

Full Commercial License with Source Code

  • You should purchase this license if none of the conditions of the Discounted License with Source Code applies.
  • 10% discount on major updates.

About Ribbon JS:

Ribbon JS is arguably the best recreation of the MS Officetm ribbon bar, using JavaScript, CSS3, and HTML5. It is a lightweight control, which is ready to use on websites, web-based WYSIWYG editors, sophisticated back-end systems, mail applications, complex file managers, and JavaScript-heavy apps. It has everything you would expect from a ribbon bar – comprehensive and fully documented API, amazing command handling, huge set of inbuilt tools, capability to add custom tools via client-side templates, cool looks, support for AngularJS directives and is also available optionally wrapped as a full-blown HTML5 WebComponent. Last but not least, it only takes a few minutes to deploy, configure, and run.

ribbon.js.scr

 

Ribbon JS 4.3.0 is out with Support for AngularJS Directives

I am happy to announce that the new version of Ribbon JS comes with a long awaited implemented feature request – support for AngularJS directives.

Release Notes:

  • Added support for AngularJS directives applied to the bounding box, tabs and tab ribbons in the configuration object. Check the documentation here.

* Version 4.3.0 is fully compatible with versions 4.0.0 and above.

About Ribbon JS:

Ribbon JS is arguably the best recreation of the MS Officetm ribbon bar, using JavaScript, CSS3, and HTML5. It is a lightweight control, which is ready to use on websites, web-based WYSIWYG editors, sophisticated back-end systems, mail applications, complex file managers, and JavaScript-heavy apps. It has everything you would expect from a ribbon bar – comprehensive and fully documented API, amazing command handling, huge set of inbuilt tools, capability to add custom tools via client-side templates, cool looks, support for AngularJS directives and is also available optionally wrapped as a full-blown HTML5 WebComponent. Last but not least, it only takes a few minutes to deploy, configure, and run.

ribbon.js.scr

Screenshots:

ribbonjs.4.1.0

Ribbon JS 4.2.0 is Out

I’ve just released a new minor version of Ribbon JS, introducing several new methods, a new event and API interface for setting declarative discrete data to tools, commands and tabs (setting/getting of this data is also available through the new ribbon methods and returned by some of the events of the control). Check the demo of the discrete data setting here.

Release Notes:

  • Version 4.2.0 is fully compatible with versions 4.0.0 and above.
  • Optional tool/command/tab property: props – Ribbon JS now allows the setting of discrete custom properties to tabs, tools and commands. These properties can be set either in the configuration of a tool or tab (the props key) or set/get via the setToolProps, getToolProps, getTabProps and setTabProps methods of the ribbon. The data of the prop keys is returned also by the events, triggered by the ribbon.
  • Method getReleaseNotes() – Programmatically open ribbonjs.com/release-notes and display the release notes of the current version of Ribbon JS.
  • Method getToolData(name) – Get the data associated with the queried tool by it’s name.
  • Method setToolProps(name, key, value) – Set the optional props key (check the Ribbon JS configuration documentation) to a tool/command definition for more info about this key. The required parameters are tool/command name (String) of the tool/command, key (String or Number) name and value (Any).
  • Method getToolProps(name) – Get the props object, associated with a tool or command.
  • Method getTabProps(name) – Get the props object, associated with a tab, queried by its name.
  • Method setTabProps(name, key, value) – Set the optional props key ( check the Ribbon JS configuration documentation) to a tab for more info about this key. The required parameters are tab name (String) of the tool/command, key (String or Number) name and value (Any).
  • Event: “acidjs-ribbon-toggle” – The event is triggered when tab button is clicked (in this case the event always returns {expanded: true}) or when the ribbon is collapsed or expanded either by clicking the expand/collapse button in the top right corner of the control or programmatically via the expand() and collapse() methods.

About Ribbon JS:

Ribbon JS is arguably the best recreation of the MS Officetm ribbon bar, using JavaScript, CSS3, and HTML5. It is a lightweight control, which is ready to use on websites, web-based WYSIWYG editors, sophisticated back-end systems, mail applications, complex file managers, and JavaScript-heavy apps. It has everything you would expect from a ribbon bar – comprehensive and fully documented API, amazing command handling, huge set of inbuilt tools, capability to add custom tools via client-side templates, cool looks and is also available optionally wrapped as a full-blown HTML5 WebComponent. Last but not least, it only takes a few minutes to deploy, configure, and run.

ribbon.js.scr

Screenshots:

ribbonjs.4.1.0