]> git.mxchange.org Git - friendica.git/commitdiff
frio: resize textareas on typing.
authorrabuzarus <trebor@central-unit>
Tue, 23 Aug 2016 14:48:13 +0000 (16:48 +0200)
committerrabuzarus <trebor@central-unit>
Tue, 23 Aug 2016 14:48:13 +0000 (16:48 +0200)
16 files changed:
view/theme/frio/frameworks/autosize/LICENSE.md [new file with mode: 0644]
view/theme/frio/frameworks/autosize/autosize.js [new file with mode: 0644]
view/theme/frio/frameworks/autosize/autosize.min.js [new file with mode: 0644]
view/theme/frio/frameworks/autosize/changelog.md [new file with mode: 0644]
view/theme/frio/frameworks/autosize/readme.md [new file with mode: 0644]
view/theme/frio/js/filebrowser.js
view/theme/frio/js/textedit.js
view/theme/frio/templates/comment_item.tpl
view/theme/frio/templates/contacts-head.tpl
view/theme/frio/templates/event_form.tpl
view/theme/frio/templates/event_head.tpl
view/theme/frio/templates/field_textarea.tpl
view/theme/frio/templates/head.tpl
view/theme/frio/templates/jot.tpl
view/theme/frio/templates/profile_edit.tpl
view/theme/frio/templates/prv_message.tpl

diff --git a/view/theme/frio/frameworks/autosize/LICENSE.md b/view/theme/frio/frameworks/autosize/LICENSE.md
new file mode 100644 (file)
index 0000000..2de673b
--- /dev/null
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Jack Moore
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
\ No newline at end of file
diff --git a/view/theme/frio/frameworks/autosize/autosize.js b/view/theme/frio/frameworks/autosize/autosize.js
new file mode 100644 (file)
index 0000000..49b8b0b
--- /dev/null
@@ -0,0 +1,262 @@
+/*!
+       Autosize 3.0.17
+       license: MIT
+       http://www.jacklmoore.com/autosize
+*/
+(function (global, factory) {
+       if (typeof define === 'function' && define.amd) {
+               define(['exports', 'module'], factory);
+       } else if (typeof exports !== 'undefined' && typeof module !== 'undefined') {
+               factory(exports, module);
+       } else {
+               var mod = {
+                       exports: {}
+               };
+               factory(mod.exports, mod);
+               global.autosize = mod.exports;
+       }
+})(this, function (exports, module) {
+       'use strict';
+
+       var set = typeof Set === 'function' ? new Set() : (function () {
+               var list = [];
+
+               return {
+                       has: function has(key) {
+                               return Boolean(list.indexOf(key) > -1);
+                       },
+                       add: function add(key) {
+                               list.push(key);
+                       },
+                       'delete': function _delete(key) {
+                               list.splice(list.indexOf(key), 1);
+                       } };
+       })();
+
+       var createEvent = function createEvent(name) {
+               return new Event(name);
+       };
+       try {
+               new Event('test');
+       } catch (e) {
+               // IE does not support `new Event()`
+               createEvent = function (name) {
+                       var evt = document.createEvent('Event');
+                       evt.initEvent(name, true, false);
+                       return evt;
+               };
+       }
+
+       function assign(ta) {
+               if (!ta || !ta.nodeName || ta.nodeName !== 'TEXTAREA' || set.has(ta)) return;
+
+               var heightOffset = null;
+               var clientWidth = ta.clientWidth;
+               var cachedHeight = null;
+
+               function init() {
+                       var style = window.getComputedStyle(ta, null);
+
+                       if (style.resize === 'vertical') {
+                               ta.style.resize = 'none';
+                       } else if (style.resize === 'both') {
+                               ta.style.resize = 'horizontal';
+                       }
+
+                       if (style.boxSizing === 'content-box') {
+                               heightOffset = -(parseFloat(style.paddingTop) + parseFloat(style.paddingBottom));
+                       } else {
+                               heightOffset = parseFloat(style.borderTopWidth) + parseFloat(style.borderBottomWidth);
+                       }
+                       // Fix when a textarea is not on document body and heightOffset is Not a Number
+                       if (isNaN(heightOffset)) {
+                               heightOffset = 0;
+                       }
+
+                       update();
+               }
+
+               function changeOverflow(value) {
+                       {
+                               // Chrome/Safari-specific fix:
+                               // When the textarea y-overflow is hidden, Chrome/Safari do not reflow the text to account for the space
+                               // made available by removing the scrollbar. The following forces the necessary text reflow.
+                               var width = ta.style.width;
+                               ta.style.width = '0px';
+                               // Force reflow:
+                               /* jshint ignore:start */
+                               ta.offsetWidth;
+                               /* jshint ignore:end */
+                               ta.style.width = width;
+                       }
+
+                       ta.style.overflowY = value;
+
+                       resize();
+               }
+
+               function getParentOverflows(el) {
+                       var arr = [];
+
+                       while (el && el.parentNode && el.parentNode instanceof Element) {
+                               if (el.parentNode.scrollTop) {
+                                       arr.push({
+                                               node: el.parentNode,
+                                               scrollTop: el.parentNode.scrollTop });
+                               }
+                               el = el.parentNode;
+                       }
+
+                       return arr;
+               }
+
+               function resize() {
+                       var originalHeight = ta.style.height;
+                       var overflows = getParentOverflows(ta);
+                       var docTop = document.documentElement && document.documentElement.scrollTop; // Needed for Mobile IE (ticket #240)
+
+                       ta.style.height = 'auto';
+
+                       var endHeight = ta.scrollHeight + heightOffset;
+
+                       if (ta.scrollHeight === 0) {
+                               // If the scrollHeight is 0, then the element probably has display:none or is detached from the DOM.
+                               ta.style.height = originalHeight;
+                               return;
+                       }
+
+                       ta.style.height = endHeight + 'px';
+
+                       // used to check if an update is actually necessary on window.resize
+                       clientWidth = ta.clientWidth;
+
+                       // prevents scroll-position jumping
+                       overflows.forEach(function (el) {
+                               el.node.scrollTop = el.scrollTop;
+                       });
+
+                       if (docTop) {
+                               document.documentElement.scrollTop = docTop;
+                       }
+               }
+
+               function update() {
+                       resize();
+
+                       var computed = window.getComputedStyle(ta, null);
+                       var computedHeight = Math.round(parseFloat(computed.height));
+                       var styleHeight = Math.round(parseFloat(ta.style.height));
+
+                       // The computed height not matching the height set via resize indicates that
+                       // the max-height has been exceeded, in which case the overflow should be set to visible.
+                       if (computedHeight !== styleHeight) {
+                               if (computed.overflowY !== 'visible') {
+                                       changeOverflow('visible');
+                               }
+                       } else {
+                               // Normally keep overflow set to hidden, to avoid flash of scrollbar as the textarea expands.
+                               if (computed.overflowY !== 'hidden') {
+                                       changeOverflow('hidden');
+                               }
+                       }
+
+                       if (cachedHeight !== computedHeight) {
+                               cachedHeight = computedHeight;
+                               var evt = createEvent('autosize:resized');
+                               ta.dispatchEvent(evt);
+                       }
+               }
+
+               var pageResize = function pageResize() {
+                       if (ta.clientWidth !== clientWidth) {
+                               update();
+                       }
+               };
+
+               var destroy = (function (style) {
+                       window.removeEventListener('resize', pageResize, false);
+                       ta.removeEventListener('input', update, false);
+                       ta.removeEventListener('keyup', update, false);
+                       ta.removeEventListener('autosize:destroy', destroy, false);
+                       ta.removeEventListener('autosize:update', update, false);
+                       set['delete'](ta);
+
+                       Object.keys(style).forEach(function (key) {
+                               ta.style[key] = style[key];
+                       });
+               }).bind(ta, {
+                       height: ta.style.height,
+                       resize: ta.style.resize,
+                       overflowY: ta.style.overflowY,
+                       overflowX: ta.style.overflowX,
+                       wordWrap: ta.style.wordWrap });
+
+               ta.addEventListener('autosize:destroy', destroy, false);
+
+               // IE9 does not fire onpropertychange or oninput for deletions,
+               // so binding to onkeyup to catch most of those events.
+               // There is no way that I know of to detect something like 'cut' in IE9.
+               if ('onpropertychange' in ta && 'oninput' in ta) {
+                       ta.addEventListener('keyup', update, false);
+               }
+
+               window.addEventListener('resize', pageResize, false);
+               ta.addEventListener('input', update, false);
+               ta.addEventListener('autosize:update', update, false);
+               set.add(ta);
+               ta.style.overflowX = 'hidden';
+               ta.style.wordWrap = 'break-word';
+
+               init();
+       }
+
+       function destroy(ta) {
+               if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA')) return;
+               var evt = createEvent('autosize:destroy');
+               ta.dispatchEvent(evt);
+       }
+
+       function update(ta) {
+               if (!(ta && ta.nodeName && ta.nodeName === 'TEXTAREA')) return;
+               var evt = createEvent('autosize:update');
+               ta.dispatchEvent(evt);
+       }
+
+       var autosize = null;
+
+       // Do nothing in Node.js environment and IE8 (or lower)
+       if (typeof window === 'undefined' || typeof window.getComputedStyle !== 'function') {
+               autosize = function (el) {
+                       return el;
+               };
+               autosize.destroy = function (el) {
+                       return el;
+               };
+               autosize.update = function (el) {
+                       return el;
+               };
+       } else {
+               autosize = function (el, options) {
+                       if (el) {
+                               Array.prototype.forEach.call(el.length ? el : [el], function (x) {
+                                       return assign(x, options);
+                               });
+                       }
+                       return el;
+               };
+               autosize.destroy = function (el) {
+                       if (el) {
+                               Array.prototype.forEach.call(el.length ? el : [el], destroy);
+                       }
+                       return el;
+               };
+               autosize.update = function (el) {
+                       if (el) {
+                               Array.prototype.forEach.call(el.length ? el : [el], update);
+                       }
+                       return el;
+               };
+       }
+
+       module.exports = autosize;
+});
\ No newline at end of file
diff --git a/view/theme/frio/frameworks/autosize/autosize.min.js b/view/theme/frio/frameworks/autosize/autosize.min.js
new file mode 100644 (file)
index 0000000..2108e90
--- /dev/null
@@ -0,0 +1,6 @@
+/*!
+       Autosize 3.0.17
+       license: MIT
+       http://www.jacklmoore.com/autosize
+*/
+!function(e,t){if("function"==typeof define&&define.amd)define(["exports","module"],t);else if("undefined"!=typeof exports&&"undefined"!=typeof module)t(exports,module);else{var n={exports:{}};t(n.exports,n),e.autosize=n.exports}}(this,function(e,t){"use strict";function n(e){function t(){var t=window.getComputedStyle(e,null);"vertical"===t.resize?e.style.resize="none":"both"===t.resize&&(e.style.resize="horizontal"),l="content-box"===t.boxSizing?-(parseFloat(t.paddingTop)+parseFloat(t.paddingBottom)):parseFloat(t.borderTopWidth)+parseFloat(t.borderBottomWidth),isNaN(l)&&(l=0),a()}function n(t){var n=e.style.width;e.style.width="0px",e.offsetWidth,e.style.width=n,e.style.overflowY=t,r()}function o(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push({node:e.parentNode,scrollTop:e.parentNode.scrollTop}),e=e.parentNode;return t}function r(){var t=e.style.height,n=o(e),r=document.documentElement&&document.documentElement.scrollTop;e.style.height="auto";var i=e.scrollHeight+l;return 0===e.scrollHeight?void(e.style.height=t):(e.style.height=i+"px",s=e.clientWidth,n.forEach(function(e){e.node.scrollTop=e.scrollTop}),void(r&&(document.documentElement.scrollTop=r)))}function a(){r();var t=window.getComputedStyle(e,null),o=Math.round(parseFloat(t.height)),i=Math.round(parseFloat(e.style.height));if(o!==i?"visible"!==t.overflowY&&n("visible"):"hidden"!==t.overflowY&&n("hidden"),u!==o){u=o;var a=d("autosize:resized");e.dispatchEvent(a)}}if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!i.has(e)){var l=null,s=e.clientWidth,u=null,c=function(){e.clientWidth!==s&&a()},p=function(t){window.removeEventListener("resize",c,!1),e.removeEventListener("input",a,!1),e.removeEventListener("keyup",a,!1),e.removeEventListener("autosize:destroy",p,!1),e.removeEventListener("autosize:update",a,!1),i["delete"](e),Object.keys(t).forEach(function(n){e.style[n]=t[n]})}.bind(e,{height:e.style.height,resize:e.style.resize,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",p,!1),"onpropertychange"in e&&"oninput"in e&&e.addEventListener("keyup",a,!1),window.addEventListener("resize",c,!1),e.addEventListener("input",a,!1),e.addEventListener("autosize:update",a,!1),i.add(e),e.style.overflowX="hidden",e.style.wordWrap="break-word",t()}}function o(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName){var t=d("autosize:destroy");e.dispatchEvent(t)}}function r(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName){var t=d("autosize:update");e.dispatchEvent(t)}}var i="function"==typeof Set?new Set:function(){var e=[];return{has:function(t){return Boolean(e.indexOf(t)>-1)},add:function(t){e.push(t)},"delete":function(t){e.splice(e.indexOf(t),1)}}}(),d=function(e){return new Event(e)};try{new Event("test")}catch(a){d=function(e){var t=document.createEvent("Event");return t.initEvent(e,!0,!1),t}}var l=null;"undefined"==typeof window||"function"!=typeof window.getComputedStyle?(l=function(e){return e},l.destroy=function(e){return e},l.update=function(e){return e}):(l=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],function(e){return n(e,t)}),e},l.destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],o),e},l.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],r),e}),t.exports=l});
\ No newline at end of file
diff --git a/view/theme/frio/frameworks/autosize/changelog.md b/view/theme/frio/frameworks/autosize/changelog.md
new file mode 100644 (file)
index 0000000..61d73e4
--- /dev/null
@@ -0,0 +1,79 @@
+## Changelog\r
+\r
+##### v.3.0.17 - 2016-7-25\r
+* Fixed Chromium issue where getComputedStyle pixel value did not exactly match the style pixel value.  Fixes #306.\r
+* Removed undocumented argument, minor refactoring, more comments.\r
+\r
+##### v.3.0.16 - 2016-7-13\r
+* Fixed issue with overflowing parent elements. Fixes #298.\r
+\r
+##### v.3.0.15 - 2016-1-26\r
+* Used newer Event constructor, when available. Fixes #280.\r
+\r
+##### v.3.0.14 - 2015-11-11\r
+* Fixed memory leak on destroy. Merged #271, fixes #270.\r
+* Fixed bug in old versions of Firefox (1-5), fixes #246.\r
+\r
+##### v.3.0.13 - 2015-09-26\r
+* Fixed scroll-bar jumpiness in iOS. Merged #261, fixes #207.\r
+* Fixed reflowing of initial text in Chrome and Safari.\r
+\r
+##### v.3.0.12 - 2015-09-14\r
+* Merged changes were discarded when building new dist files.  Merged #255, Fixes #257 for real this time.\r
+\r
+##### v.3.0.11 - 2015-09-14\r
+* Fixed regression from 3.0.10 that caused an error with ES5 browsers.  Merged #255, Fixes #257.\r
+\r
+##### v.3.0.10 - 2015-09-10\r
+* Removed data attribute as a way of tracking which elements autosize has been assigned to. fixes #254, fixes #200.\r
+\r
+##### v.3.0.9 - 2015-09-02\r
+* Fixed issue with assigning autosize to detached nodes. Merged #253, Fixes #234.\r
+\r
+##### v.3.0.8 - 2015-06-29\r
+* Fixed the `autosize:resized` event not being triggered when the overflow changes. Fixes #244.\r
+\r
+##### v.3.0.7 - 2015-06-29\r
+* Fixed jumpy behavior in Windows 8.1 mobile. Fixes #239.\r
+\r
+##### v.3.0.6 - 2015-05-19\r
+* Renamed 'dest' folder to 'dist' to follow common conventions.\r
+\r
+##### v.3.0.5 - 2015-05-18\r
+* Do nothing in Node.js environment.\r
+\r
+##### v.3.0.4 - 2015-05-05\r
+* Added options object for indicating if the script should set the overflowX and overflowY.  The default behavior lets the script control the overflows, which will normalize the appearance between browsers.  Fixes #220.\r
+\r
+##### v.3.0.3 - 2015-04-23\r
+* Avoided adjusting the height for hidden textarea elements.  Fixes #155.\r
+\r
+##### v.3.0.2 - 2015-04-23\r
+* Reworked to respect max-height of any unit-type.  Fixes #191.\r
+\r
+##### v.3.0.1 - 2015-04-23\r
+* Fixed the destroy event so that it removes its own event handler. Fixes #218.\r
+\r
+##### v.3.0.0 - 2015-04-15\r
+* Added new methods for updating and destroying:\r
+\r
+       * autosize.update(elements)\r
+       * autosize.destroy(elements)\r
+\r
+* Renamed custom events as to not use jQuery's custom events namespace:\r
+\r
+       * autosize.resized renamed to autosize:resized\r
+       * autosize.update renamed to autosize:update\r
+       * autosize.destroy renamed to autosize:destroy\r
+\r
+##### v.2.0.1 - 2015-04-15\r
+* Version bump for NPM publishing purposes\r
+\r
+##### v.2.0.0 - 2015-02-25\r
+\r
+* Smaller, simplier code-base\r
+* New API.  Example usage: `autosize(document.querySelectorAll(textarea));`\r
+* Dropped jQuery dependency\r
+* Dropped IE7-IE8 support\r
+* Dropped optional parameters\r
+* Closes #98, closes #106, closes #123, fixes #129, fixes #132, fixes #139, closes #140, closes #166, closes #168, closes #192, closes #193, closes #197
\ No newline at end of file
diff --git a/view/theme/frio/frameworks/autosize/readme.md b/view/theme/frio/frameworks/autosize/readme.md
new file mode 100644 (file)
index 0000000..3857829
--- /dev/null
@@ -0,0 +1,35 @@
+## Summary
+
+Autosize is a small, stand-alone script to automatically adjust textarea height to fit text.
+
+#### Demo
+
+Full documentation and a demo can be found at [jacklmoore.com/autosize](http://jacklmoore.com/autosize)
+
+#### Install via NPM
+```bash
+npm install autosize
+```
+
+#### Browser compatibility
+
+Chrome | Firefox | IE | Safari | iOS Safari | Android | Opera Mini | Windows Phone IE
+------ | --------|----|--------|------------|---------|------------|------------------
+yes    | yes     | 9  | yes    | yes        | 4       | ?          | 8.1
+
+#### Usage
+
+The autosize function accepts a single textarea element, or an array or array-like object (such as a NodeList or jQuery collection) of textarea elements.
+
+```javascript
+// from a NodeList
+autosize(document.querySelectorAll('textarea'));
+
+// from a single Node
+autosize(document.querySelector('textarea'));
+
+// from a jQuery collection
+autosize($('textarea'));
+```
+
+Released under the [MIT License](http://www.opensource.org/licenses/mit-license.php)
index 0fe501d548906379693703ac1e47b286b5f41139..768db3a705653a33853892bbf9c5074a72387b8e 100644 (file)
@@ -135,11 +135,13 @@ var FileBrowser = {
                                this.dataset.filename,\r
                                embed,\r
                                FileBrowser.id,\r
-                               this.dataset.img\r
+                               this.dataset.img,\r
                        ]);\r
 \r
                        // close model\r
                        $('#modal').modal('hide');\r
+                       // update autosize for this textarea\r
+                       autosize.update($(".text-autosize"));\r
 //                     if (id!=="") {\r
 //                             commentExpand(FileBrowser.id);\r
 //                             //$("#comment-edit-text-558").empty();\r
index 0b3db0571f982efd67fe428ce878e5bb14f0ddab..9b36d1569dc94dd969b984ad41449de800f7c96c 100644 (file)
@@ -93,6 +93,8 @@ function commentOpenUI(obj, id) {
                        $("#comment-edit-text-" + id).attr('tabindex','9');
                        $("#comment-edit-submit-" + id).attr('tabindex','10');
                        $("#comment-edit-submit-wrapper-" + id).show();
+                       // initiale autosize for this comment
+                       autosize($("#comment-edit-text-" + id + ".text-autosize"));
                }
        };
 
@@ -109,6 +111,8 @@ function commentCloseUI(obj, id) {
                        $("#comment-edit-text-" + id).removeAttr('tabindex');
                        $("#comment-edit-submit-" + id).removeAttr('tabindex');
                        $("#comment-edit-submit-wrapper-" + id).hide();
+                       // destroy the automatic textarea resizing
+                       autosize.destroy($("#comment-edit-text-" + id + ".text-autosize"));
                }
        };
 
@@ -120,6 +124,8 @@ function jotTextOpenUI(obj) {
        if(obj.value == aStr.share) {
                obj.value = '';
                $(".modal-body #profile-jot-text").addClass("profile-jot-text-full").removeClass("profile-jot-text-empty");
+               // initiale autosize for the jot
+               autosize($(".modal-body #profile-jot-text"));
        }
 }
 
@@ -129,6 +135,8 @@ function jotTextCloseUI(obj) {
        if(obj.value === '') {
        obj.value = aStr.share;
                $(".modal-body #profile-jot-text").removeClass("profile-jot-text-full").addClass("profile-jot-text-empty");
+               // destroy the automatic textarea resizing
+               autosize.destroy($(".modal-body #profile-jot-text"));
        }
 }
 
index 116a7b7d4d4dfd83ba6bd0d4c6202a30345c8361..405a859642e061aec34ab39d4a41877825124523 100644 (file)
@@ -18,7 +18,7 @@
                </div>
                <div class="comment-edit-photo-end"></div>-->
                <div class="bb form-group">
-                       <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty form-control" name="body" onFocus="commentOpenUI(this,{{$id}});" onBlur="commentCloseUI(this,{{$id}});">{{$comment}}</textarea>
+                       <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty form-control text-autosize" name="body" onFocus="commentOpenUI(this,{{$id}});" onBlur="commentCloseUI(this,{{$id}});">{{$comment}}</textarea>
                </div>
                {{if $qcomment}}
                        <select id="qcomment-select-{{$id}}" name="qcomment-{{$id}}" class="qcomment" onchange="qCommentInsert(this,{{$id}});" >
index 60f8d5ec6d6f20831db2c1b64b17c377eaecf886..5e159ea182c8a8aef91c64768f211edcd9bf1023 100644 (file)
@@ -1,5 +1,5 @@
 
-<script>
+<script language="javascript" type="text/javascript">
 $(document).ready(function() {
        // Add contact_filter autocompletion to the search field
        $("#contacts-search").contact_filter(baseurl + '/acl', 'r', true);
@@ -17,6 +17,8 @@ $(document).ready(function() {
                        $("ul.textcomplete-dropdown").removeClass("show");
                }
        });
+       // initiale autosize for the textareas
+       autosize($("textarea.text-autosize"));
 
 });
 </script>
index 97892d186b6383f89e957e8a8bfacea423099589..9f2213a8d5e1f8e04af789a824f5f008cbe71e96 100644 (file)
@@ -62,7 +62,7 @@
                        {{* The textarea for the event description *}}
                        <div class="form-group">
                                <div id="event-desc-text"><b>{{$d_text}}</b></div>
-                               <textarea id="comment-edit-text-desc" class="form-control" name="desc" >{{$d_orig}}</textarea>
+                               <textarea id="comment-edit-text-desc" class="form-control text-autosize" name="desc" >{{$d_orig}}</textarea>
                                <ul id="event-desc-text-edit-bb" class="comment-edit-bb comment-icon-list nav nav-pills hidden-xs pull-left">
                                        {{* commented out because it isn't implemented yet
                                        <li>
                        {{* The textarea for the event location *}}
                        <div class="form-group">
                                <div id="event-location-text"><b>{{$l_text}}</b></div>
-                               <textarea id="comment-edit-text-loc" class="form-control" name="location">{{$l_orig}}</textarea>
+                               <textarea id="comment-edit-text-loc" class="form-control text-autosize" name="location">{{$l_orig}}</textarea>
                                <ul id="comment-tools-loc" class="comment-edit-bb comment-icon-list nav nav-pills hidden-xs pull-left">
                                        {{* commented out because it isn't implemented yet
                                        <li>
        </div>
 </div>
 
-<script>
+<script language="javascript" type="text/javascript">
        $(document).ready( function() {
                // disable finish date input if it isn't available
                enableDisableFinishDate();
                // load bbcode autocomplete for the description textarea
                $('#comment-edit-text-desc, #comment-edit-text-loc').bbco_autocomplete('bbcode');
+
+               // initiale autosize for the textareas
+               autosize($("textarea.text-autosize"));
        });
 </script>
\ No newline at end of file
index 4d14a3884a1ef57a91faf0d242bc81a4cfab0645..340b9b3d51c819360e58560b5d6466945b9d021b 100644 (file)
@@ -3,7 +3,7 @@
 <script language="javascript" type="text/javascript"
          src="{{$baseurl}}/library/fullcalendar/fullcalendar.min.js"></script>
 
-<script>
+<script language="javascript" type="text/javascript">
        // loads the event into a modal
        function showEvent(eventid) {
                        addToModal('{{$baseurl}}{{$module_url}}/?id='+eventid);
index e70e3cbb41bb224b15e40473b8076fcdca940c8c..8ef56babb78c3b061367e11e9a9564f87b60b7b2 100644 (file)
@@ -1,7 +1,7 @@
 
        <div class="form-group field textarea">
                <label for="id_{{$field.0}}">{{$field.1}}</label>
-               <textarea class="form-control" name="{{$field.0}}" id="id_{{$field.0}}" {{if $field.4}}{{$field.4}}{{/if}} aria-describedby="{{$field.0}}_tip">{{$field.2}}</textarea>
+               <textarea class="form-control text-autosize" name="{{$field.0}}" id="id_{{$field.0}}" {{if $field.4}}{{$field.4}}{{/if}} aria-describedby="{{$field.0}}_tip">{{$field.2}}</textarea>
                <span id="{{$field.0}}_tip" class="help-block" role="tooltip">{{$field.3}}</span>
                <div class="clear"></div>
        </div>
index 72d7cbf0779a8f023508d06d52f5470c4662df1b..ca716d8ed909cb787af03cc59cdeb849233b70dc 100644 (file)
@@ -75,6 +75,7 @@
 <script type="text/javascript" src="view/theme/frio/frameworks/flexMenu/flexmenu.custom.js"></script>
 <script type="text/javascript" src="view/theme/frio/frameworks/jsmart/jsmart.custom.js"></script>
 <script type="text/javascript" src="view/theme/frio/frameworks/jquery-scrollspy/jquery-scrollspy.js"></script>
+<script type="text/javascript" src="view/theme/frio/frameworks/autosize/autosize.min.js"></script>
 
 {{* own js files *}}
 <script type="text/javascript" src="view/theme/frio/js/theme.js"></script>
@@ -82,7 +83,7 @@
 <script type="text/javascript" src="view/theme/frio/js/hovercard.js"></script>
 <script type="text/javascript" src="view/theme/frio/js/textedit.js"></script>
 
-<script>
+<script language="javascript" type="text/javascript">
        window.showMore = "{{$showmore}}";
        window.showFewer = "{{$showfewer}}";
 </script>
index 737ba3679d19f073f13e1759197853944fafefe8..019e71a57ca3d75bdc96b08a0c8b10d7e35e2b1f 100644 (file)
@@ -63,7 +63,7 @@
 
                                        {{* The jot text field in which the post text is inserted *}}
                                        <div id="jot-text-wrap">
-                                       <textarea rows="2" cols="64" class="profile-jot-text form-control" id="profile-jot-text" name="body" onFocus="jotTextOpenUI(this);" onBlur="jotTextCloseUI(this);" style="min-width:100%; max-width:100%;">{{if $content}}{{$content}}{{else}}{{$share}}{{/if}}</textarea>
+                                       <textarea rows="2" cols="64" class="profile-jot-text form-control text-autosize" id="profile-jot-text" name="body" onFocus="jotTextOpenUI(this);" onBlur="jotTextCloseUI(this);" style="min-width:100%; max-width:100%;">{{if $content}}{{$content}}{{else}}{{$share}}{{/if}}</textarea>
                                        </div>
 
                                        <ul id="profile-jot-submit-wrapper" class="jothidden nav nav-pills">
@@ -119,7 +119,7 @@ can load different content into the jot moadl (e.g. the item edit jot)
 </div>
 
 
-<script>
+<script language="javascript" type="text/javascript">
        $('iframe').load(function() {
                this.style.height = this.contentWindow.document.body.offsetHeight + 'px';
        });
index 5d82c1c1401b667eecadeced89884c59e1c39372..224f15e827ac2fb7fb047b5387bc6c17a78be46e 100644 (file)
        </form>
 </div>
 
-<script type="text/javascript">Fill_Country('{{$country_name.2}}');Fill_States('{{$region.2}}');</script>
+<script language="javascript" type="text/javascript">
+       Fill_Country('{{$country_name.2}}');
+       Fill_States('{{$region.2}}');
+
+       // initiale autosize for the textareas
+       autosize($("textarea.text-autosize"));
+</script>
index 23f9dab2cad95dfd11939ed8882234c8edee3f66..5d39996841474a315ac36ff910fc23f26ac26acc 100644 (file)
@@ -28,7 +28,7 @@
        {{* The message input field which contains the message text *}}
        <div id="prvmail-message-label" class="form-group">
                <label for="prvmail-text">{{$yourmessage}}</label>
-               <textarea rows="8" cols="72" class="prvmail-text form-control" id="comment-edit-text-input" name="body" tabindex="12">{{$text}}</textarea>
+               <textarea rows="8" cols="72" class="prvmail-text form-control text-autosize" id="comment-edit-text-input" name="body" tabindex="12">{{$text}}</textarea>
        </div>
 
        <ul id="prvmail-text-edit-bb" class="comment-edit-bb comment-icon-list nav nav-pills hidden-xs pull-left">
 
 </form>
 </div>
+
+<script language="javascript" type="text/javascript">
+       $(document).ready( function() {
+               // initiale autosize for the textareas
+               autosize($("textarea.text-autosize"));
+       });
+</script>